首页 > 代码库 > Linux网络服务05——DNS域名解析服务(一)

Linux网络服务05——DNS域名解析服务(一)

Linux网络服务05——DNS域名解析服务(一)

DNS系统的作用

1DNS服务器概述

整个Internet大家庭中连接了数以亿计的服务器、个人主机,其中大部的网站、邮件服务等服务器都使用了域名形式的地址,如crushlinux.google.commail.163.com等。很显然这种地址形式要比使用64.233.189.147202.108.33.74IP地址形式更加直观,更加容易被用户记住。

FQDN格式(完整域名格式):在常见域名后添加“.”(根域)。例如:crushlinux.baidu.com.

DNS系统在网络中的作用就是维护着一个地址数据库,其中记录了各种主机域名;与IP地址的对应关系,以便为客户程序提供正向或反向的地址查询服务,即正向解析与反向解析。

1)正向解析:根据域名查IP地址,是DNS服务最常用的基本功能

2)反向解析:根据IP查域名,不是很常用,应用于例如反垃圾邮件的验证等

每台DNS服务器都负责管理一个有限范围(一个或几个域)内的主机域名和IP地址的对应关系,这些特定的DNS域或IP地址段称为“zone”(区域)。

 

2DNS服务器的常见分类

根据地址解析的方向不同,DNS区域相应的分为正向区域(包含域名到IP地址的解析记录)和反向区域(包含IP地址到域名的解析记录)。

根据管理的区域地址数据的来源不同,DNS系统可以分为不同的类型:

1)缓存域名服务器

只提供域名解析结果的缓存功能,目的在于提高数据查询速度和效率,但是没有自己控制的区域地址数据。构建缓存域名服务器时,必须设置根域或指定其他DNS服务器作为解析来源。

2)主域名服务器

维护某一个特定DNS区域的地址数据库,对其中的解析记录具有自主控制权,是指定区域中唯一存在的权威服务器、官方服务器。构建主域名服务器时,需要自行建立所有负责区域的地址数据文件。

3)从域名服务器

与主域名服务器提供完全相同的DNS解析服务,通常用于DNS服务器的热备份。对客户机来说,无论使用主域名服务器还是从域名服务器,查询结果都是一样的。

以上所述主、从域名服务器的角色,知识针对某一特定的DNS区域来说的。例如,同一台DNS服务器,可以是“.chinaunix.net”区域的主域名服务器,同时也可以是“.cublog.cn”区域的从域名服务器。

 

3DNS服务器的查询模式

1DNS服务器递归查询:当客户机向DNS服务器发出解析请求,DNS服务器从服务器本地的唯高速缓存中查询出结果,反馈给客户机,此过程称为递归查询,即Client-Server

2DNS服务器迭代查询:当客户机向DNS服务器发出解析请求,DNS服务器从服务器本地的唯高速缓存中查询发现没有结果,此时该DNS服务器以DNS客户的身份向其他DNS服务器发送解析请求或向根域名服务器发送请求,此过程称为迭代查询,即Server-Server

 

2、端口

TCP 53端口

UDP 53端口

二、BIND的安装和控制

1RPM包的主要作用

bind:提供了域名服务器的主要程序及相关文件

bind-utils:提供了对DNS服务器的测试工具程序,如nslookup

bind-libs:提供了bindbind-utils需要使用的库函数

bind-chroot:为BIND服务提供一个伪装的根目录(将/var/named/chroot文件夹作为BIND的跟目录)以提高安全性。也称为jail(监牢)机制。

BIND安装以后,会自动增加一个名为named的系统服务

 

安装示例:

 技术分享

技术分享

 ……

 

 

2、主配置文件  /etc/named.conf

 

 技术分享

技术分享

技术分享

 

保存退出,检查语法

 

 技术分享

技术分享

 

3、区域数据文件

1)区域数据文件的作用:

用于存放某个DNS区域的地址解析记录(正向或反向记录)

 技术分享

技术分享

 

 

2)区域数据文件修改后检查跟新:

[root@crushlinux ~]# named-checkzone 域名 区域数据文件的路径

 技术分享

3)、区域数据配置文件的特殊应用

1>基于域名解析的负载均衡

 

同一个域名对应到多个IP地址

           

2>泛域名解析

找不到精确对应的A记录时,使用“*”进行匹配

 

构建缓存域名服务器

缓存域名服务器通常架设在公司的局域网内,主要目的是提高域名解析的速度,减少对互联网访问的出口流量。

在一个小型企业的内部网络中,可单独建立一台(或集成在网关主机中)缓存域名服务器,为各部门的员工计算机提供DNS解析服务。

技术分享 

构建示例:

缓存域名服务器IP地址为192.168.1.108,并能够正常访问互联网

缓存域名服务器代为处理客户端的DNS解析请求,并缓存查询结果

局域网内的各PC将首选DNS服务器设为192.168.1.108,访问外网页面进行测试。

方法一:指向北京网通DNS服务器

[root@crushlinux ~]# vim /etc/named.conf

 技术分享

技术分享

技术分享

 

 

 

客户机DNS服务器设置为192.168.1.108

 

 技术分享

客户机测试:

 

 技术分享

方法二,根域解析

[root@crushlinux ~]# vim /etc/named.conf

 

 

 技术分享

技术分享

技术分享

 

客户机测试

 

 技术分享

技术分享

 

 

模拟误删除配置文件内容进行排错

模拟删除主配置文件中第14行的分号

 技术分享

排错方法一:语法检查

 技术分享

排错方法二:观察日志

再开一个ssh端口,观察/var/log/messages日志文件

 技术分享

重启服务

 技术分享

 

日志文件中新增内容

 技术分享

 

构建主DNS域名解析服务器

1、主域名服务器概述

主域名服务器通常架设在Internet环境中,提供某一个域或几个域内的主机名与IP地址的查询服务。为了分担域名查询的压力、提供区域数据的备份,有时还会另外架设一台从域名服务器,与主域名服务器同时提供服务。

 

 技术分享

 

2、构建主域名服务器步骤及示例

实验环境:

·主、从域名服务器均位于Internet中,所负责的DNS区域为“amber.com

·主服务器IP地址192.168.1.108/24,主机名为ns1.amber.com

·从服务器IP地址192.168.1.51/24,主机名为ns2.amber.com

·在amber.com区域中,除了NS记录以外提供的解析记录包括如下内容:

网站服务器:crushlinux.amber.com IP地址192.168.1.10/24

邮件服务器:mail.amber.comIP地址192.168.11/24

新闻服务器:news.amber.comIP地址192.168.12/24

论坛服务器:bbs.amber.comIP地址192.168.1.12/24

·参考上述各服务器的地址映射关系,为192.168.1.0/24网段提供反向解析

·设置amber.com域的泛域名解析,对应IP地址192.168.1.10/24

·客户机将首选、备用DNS服务器分别设为192.168.1.108192.168.1.51

 

1)确认本机的网络地址、主机映射、默认DNS服务器地址 

技术分享

技术分享

技术分享 

2)修改主配置文件 /etc/named.conf

 技术分享

技术分享

技术分享

技术分享

 

技术分享

 

3)建立正、反向区域数据文件

1>建立正向区域数据文件

 

 技术分享

技术分享

2>建立反向区域数据文件

 

 技术分享

技术分享

 

3>测试配置文件

 技术分享

4)启动named服务或重载配置

 技术分享

5)客户机测试

 技术分享

技术分享

技术分享

 

 

构建从DNS域名解析服务器

1、从域名解析服务器概述

与主域名解析服务器提供完全相同的DNS解析服务,通常用于DNS服务器的热备份。对客户机来说,无论使用主域名服务器还是从域名服务器,查询结果都是一样的。

 

2、构建从域名服务器步骤及示例

实验环境:

·主、从域名服务器均位于Internet中,所负责的DNS区域为“amber.com

·主服务器IP地址192.168.1.108/24,主机名为ns1.amber.com

·从服务器IP地址192.168.1.51/24,主机名为ns2.amber.com

·客户机将首选、备用DNS服务器分别设为192.168.1.51192.168.1.108

 

1)确认本机的网络地址、主机映射、默认DNS服务器地址

 

 技术分享

技术分享

技术分享

 

 

 

2)修改主配置文件/etc/named.conf

 

 技术分享

技术分享

技术分享

技术分享

 

 

3)启动named服务,查看区域数据文件是否下载成功

 技术分享

4)客户机测试

 

 技术分享

技术分享

5)将主域名服务器增加地址解析记录,修改序列号+1

查看从域名服务器/var/named/slaves/下文件的时间

 技术分享

更新主域名服务器的区域配置文件

 

 技术分享

技术分享

技术分享

技术分享

 

 

6)修改主域名解析服务器的主配置文件,添加also-notify  { 192.168.1.51; }; 观察从域名解析服务器区域数据文件是否更新

 

重新加载主域名解析服务器配置文件

 技术分享

发现从域名服务器已自动更新区域配置文件

 

客户机测试

 

 技术分享

技术分享

构建分离解析的DNS域名解析服务器

1、分离解析的域名解析服务器概述

分离解析的域名解析服务器实际也是主域名服务器,这里所说的分离解析(Split DNS),主要是指根据不同的客户端提供不同的域名解析记录。来自不同地址的客户机请求解析同一域名时,为其提供不同的解析结果。

技术分享 

 

2、构建分离解析的域名服务器步骤及示例

实验环境:

·域名服务器架设在企业网关服务器中,网卡eth0IP地址为192.168.1.108/24;网卡eth1IP地址为173.16.16.1/24vmnet-2)模拟外网

·在Internet中的公共域名crushlinux.amber.commail.amber.com均解析为173.16.16.1

·在内网中crushlinux.amber.commail.amber.com分别解析为192.168.1.10192.168.1.11

·分别用两台客户机模拟内网与外网进行测试

 

1)在/etc/named.conf主配置文件中为不同的客户机地址启用不同的zone区域设置,各自使用独立的数据文件

 技术分享、、

技术分享

技术分享

技术分享

技术分享

2)分别建立不同的区域数据文件

 

 技术分享

 

技术分享

技术分享

 

3)启动或重新加载named服务程序

 技术分享

4)内网及模拟外网的两台客户机进行测试

 

1>内网测试

 

 技术分享

技术分享

技术分享

 

2>外网测试

 

 技术分享

技术分享

 

 

四、构建智能DNS域名解析服务器

1、智能DNS域名解析服务器概述

智能DNS是域名服务在业界首创的智能解析服务。能自动判断访问者的IP地址并解析出对应的IP地址,使网通用户会访问到网通服务器,电信用户会访问到电信服务器。

智能DNS就是根据用户的来路,自动智能化判断来路IP返回给用户,而不需要用户进行选择。

比方一个企业的站点三个运营商的带宽都有:电信、网通、移动,同样有三个来自不同运营商网络的访问用户,那电信访问企业网址的时候,智能DNS会自动根据IP判断,再从电信返回给电信用户;其他的也同理。

但也会遇到一个问题,就是三个用户所使用的网络运营商的DNS同步了解析企业站点所用的智能DNS,不然用户有可能无法访问到企业站点,一般会出现在智能DNS刚生效的时候,这种情况下一般可以请求网络运营商主动同步智能DNS的解析表;或者等待最多72小时,DNS会自动同步。

(引用自百度百科http://baike.baidu.com/link?url=3acNGX-xLO49j9YaP7IBnElq_flTjG_aPkaCYoFslpFc8Be5ZM_m2sZsuCg3kqDyRFY19_tLwWQxqhVSXTGMK_

 

2、构建智能DNS域名解析服务器的步骤及示例

实验环境:

技术分享

 

IP地址分配表

设备名称

网卡名称

IP地址

 

GateWay

eth0(vmnet-1)

192.168.1.1/24

eth1(vmnet-2)

203.18.17.1/24

eth2(vmnet-3)

78.19.25.1/24

DNS-Master

eth1(vmnet-1)

192.168.1.108/24

LAN-Client

-

192.168.1.52/24

CNC-Client

-

203.18.17.52/24

DX-Client

-

78.19.25.52/24

CNC-Svr

-

203.18.17.6/24

DX-Svr

-

78.19.25.6/24

    备注:本实验中,将203.18.17.0/24网段模拟为网通的网段,另将78.19.25.0/24网段模拟为电信的网段,并将192.168.1.0/24网段作为内网网段。

 

拓扑图、与实验设计,参考:http://crushlinux.benet.wang/%E6%9C%8D%E5%8A%A1%E6%90%AD%E5%BB%BA/47.html

 

1)确认本机的网络地址、保证网络连通性

 技术分享

2)修改/etc/named.conf配置文件

 

 技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

 

3)建立各线路的配置文件

 技术分享

技术分享

 

4)建立区域数据文件

 技术分享

技术分享

技术分享

 

 

5)重启named服务

 技术分享

6)配置网关

 

 技术分享

技术分享

技术分享

7)客户机测试

1>网卡连接方式 vmnet-1 模拟内网测试

技术分享

 技术分享

 技术分享

 

2>网卡连接方式 vmnet-2 模拟网通线路测试

 

 技术分享

技术分享

技术分享

 

 

3>网卡连接方式 vmnet-3 模拟电信线路测试

 技术分享

技术分享

技术分享

Linux网络服务05——DNS域名解析服务(一)