Linux网络服务05——DNS域名解析服务(一)
一、DNS系统的作用
1、DNS服务器概述
整个Internet大家庭中连接了数以亿计的服务器、个人主机,其中大部的网站、邮件服务等服务器都使用了域名形式的地址,如crushlinux.google.com、mail.163.com等。很显然这种地址形式要比使用64.233.189.147、202.108.33.74的IP地址形式更加直观,更加容易被用户记住。
FQDN格式(完整域名格式):在常见域名后添加“.”(根域)。例如:crushlinux.baidu.com.
DNS系统在网络中的作用就是维护着一个地址数据库,其中记录了各种主机域名;与IP地址的对应关系,以便为客户程序提供正向或反向的地址查询服务,即正向解析与反向解析。
(1)正向解析:根据域名查IP地址,是DNS服务最常用的基本功能
(2)反向解析:根据IP查域名,不是很常用,应用于例如反垃圾邮件的验证等
每台DNS服务器都负责管理一个有限范围(一个或几个域)内的主机域名和IP地址的对应关系,这些特定的DNS域或IP地址段称为“zone”(区域)。
2、DNS服务器的常见分类
根据地址解析的方向不同,DNS区域相应的分为正向区域(包含域名到IP地址的解析记录)和反向区域(包含IP地址到域名的解析记录)。
根据管理的区域地址数据的来源不同,DNS系统可以分为不同的类型:
(1)缓存域名服务器
只提供域名解析结果的缓存功能,目的在于提高数据查询速度和效率,但是没有自己控制的区域地址数据。构建缓存域名服务器时,必须设置根域或指定其他DNS服务器作为解析来源。
(2)主域名服务器
维护某一个特定DNS区域的地址数据库,对其中的解析记录具有自主控制权,是指定区域中唯一存在的权威服务器、官方服务器。构建主域名服务器时,需要自行建立所有负责区域的地址数据文件。
(3)从域名服务器
与主域名服务器提供完全相同的DNS解析服务,通常用于DNS服务器的热备份。对客户机来说,无论使用主域名服务器还是从域名服务器,查询结果都是一样的。
以上所述主、从域名服务器的角色,知识针对某一特定的DNS区域来说的。例如,同一台DNS服务器,可以是“.chinaunix.net”区域的主域名服务器,同时也可以是“.cublog.cn”区域的从域名服务器。
3、DNS服务器的查询模式
(1)DNS服务器递归查询:当客户机向DNS服务器发出解析请求,DNS服务器从服务器本地的唯高速缓存中查询出结果,反馈给客户机,此过程称为递归查询,即Client-Server。
(2)DNS服务器迭代查询:当客户机向DNS服务器发出解析请求,DNS服务器从服务器本地的唯高速缓存中查询发现没有结果,此时该DNS服务器以DNS客户的身份向其他DNS服务器发送解析请求或向根域名服务器发送请求,此过程称为迭代查询,即Server-Server。
2、端口
TCP 53端口
UDP 53端口
二、BIND的安装和控制
1、RPM包的主要作用
bind:提供了域名服务器的主要程序及相关文件
bind-utils:提供了对DNS服务器的测试工具程序,如nslookup等
bind-libs:提供了bind、bind-utils需要使用的库函数
bind-chroot:为BIND服务提供一个伪装的根目录(将/var/named/chroot文件夹作为BIND的跟目录)以提高安全性。也称为jail(监牢)机制。
BIND安装以后,会自动增加一个名为named的系统服务
安装示例:
……
2、主配置文件 /etc/named.conf
保存退出,检查语法
3、区域数据文件
(1)区域数据文件的作用:
用于存放某个DNS区域的地址解析记录(正向或反向记录)
(2)区域数据文件修改后检查跟新:
[[email protected] ~]# named-checkzone 域名 区域数据文件的路径
(3)、区域数据配置文件的特殊应用
1>基于域名解析的负载均衡
同一个域名对应到多个IP地址
2>泛域名解析
找不到精确对应的A记录时,使用“*”进行匹配
三、构建缓存域名服务器
缓存域名服务器通常架设在公司的局域网内,主要目的是提高域名解析的速度,减少对互联网访问的出口流量。
在一个小型企业的内部网络中,可单独建立一台(或集成在网关主机中)缓存域名服务器,为各部门的员工计算机提供DNS解析服务。
构建示例:
缓存域名服务器IP地址为192.168.1.108,并能够正常访问互联网
缓存域名服务器代为处理客户端的DNS解析请求,并缓存查询结果
局域网内的各PC将首选DNS服务器设为192.168.1.108,访问外网页面进行测试。
方法一:指向北京网通DNS服务器
[[email protected] ~]# vim /etc/named.conf
将客户机DNS服务器设置为192.168.1.108
客户机测试:
方法二,根域解析
[[email protected] ~]# 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.com,IP地址192.168.11/24
新闻服务器:news.amber.com,IP地址192.168.12/24
论坛服务器:bbs.amber.com,IP地址192.168.1.12/24
·参考上述各服务器的地址映射关系,为192.168.1.0/24网段提供反向解析
·设置amber.com域的泛域名解析,对应IP地址192.168.1.10/24
·客户机将首选、备用DNS服务器分别设为192.168.1.108和192.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.51和192.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、构建分离解析的域名服务器步骤及示例
实验环境:
·域名服务器架设在企业网关服务器中,网卡eth0的IP地址为192.168.1.108/24;网卡eth1的IP地址为173.16.16.1/24(vmnet-2)模拟外网
·在Internet中的公共域名crushlinux.amber.com和mail.amber.com均解析为173.16.16.1
·在内网中crushlinux.amber.com和mail.amber.com分别解析为192.168.1.10和192.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 模拟电信线路测试