DNS 定义

DNS 是域名系统 (Domain Name System) 的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务。DNS 命名用于 Internet 等 TCP/IP 网络中,通过用户友好的名称查找计算机和服务。当用户在应用程序中输入 DNS 名称时,DNS 服务可以将此名称解析为与之相关的其他信息,如 IP 地址。

例如,多数用户喜欢使用友好的名称(如 example.microsoft.com)来查找计算机,如网络上的邮件服务器或 Web 服务器。友好名称更容易了解和记住。但是,计算机使用数字地址在网络上进行通讯。为更容易地使用网络资源,DNS 等命名系统提供了一种方法,将计算机或服务的用户友好名称映射为数字地址。

下图显示了 DNS 的基本用途,即根据计算机名称查找其 IP 地址。

wKiom1Mm3CDQYuP4AAAcLaF8LSI038.png

DNS在应用中的工作方式:


wKioL1Mm3WyBa_JAAAEyi3ZIONk021.jpg


DNS服务配置
主服务器(centos.zqy):192.168.100.9
从服务器:192.168.100.7
授权子域服务器(evil.centos.zqy):192.168.100.5

1,安装bind

# yum install -y bind

2,配置主配置文件

# vim named.conf

wKioL1MlhvuQP-XaAABkgXaxtnM978.png


3,配置区域数据库文件
配置正解
# vim /var/named/centos.zqy.zone

wKioL1Mlhyewdw5MAABD5c1qbn4302.png
配置反解
# vim /var/named/100.168.192.zone


wKiom1Mlh2mxZjERAABGTMpO4MQ189.png

改权限
# chown root:named 100.168.192.zone
# chown root:named centos.zqy.zone
# chmod 640 100.168.192.zone
# chmod 640 centos.zqy.zone
4,启动服务
# service named restart


5,配置主从

5.1(在从服务器上完成)
在另外一台从机器上(slave)
# yum install bind

配置主配置文件
# vim /etc/named.conf


wKioL1MliCKAU3KFAAByz94ss4M602.png


-----------------
5.2(在主服务器完成)
改master服务器主配置文件允许slave服务器同步数据
把 :  allow-transfer { none; };
改为: allow-transfer { 192.168.100.7; };


wKiom1MliHPSos44AABlZ2BcYIk135.png
5.2
改数据库文件为从服务器添加NS记录
每一次修改数据库文件序列号加1.(上次是12,这次就是13)
正解文件:


wKioL1MliHGAUXi8AABAqNKvkes585.png
重启服务
把默认DNS指向自己的服务器
# vim /etc/resolv.conf

wKiom1MliN-j0aMXAAA2DjRgkx4705.png


测试正解


# dig www.centos.zqy


wKioL1MliNjCChxPAABvq8nvYEM620.png

测试反解
# dig -x 192.168.100.203


wKioL1MliSugedEqAAB8NuBZmk8528.png


-------------------------------
子域授权
把evil.centos.zqy授权给下一级(192.168.100.5)
1,修改主服务器正解文件
加入这两行
evil               IN      NS      dns.evil.centos.zqy.
dns.evil        IN      A       192.168.100.5
如果有从服务器也要写,


正解文件


wKiom1MlibDzZ5x4AABeaqljDeY257.png




2,在192.168.100.5上安装bind
# yum install bind -y
配置主配置文件


wKioL1MligDjQ2-bAABe4yxAvLo882.png


正解文件


wKiom1MlijqCPZ96AAA3AUagXFU980.png
反解文件


wKioL1MliiewxC52AAAzT8XcXk8389.png


-----------------------------
配置转发:
什么是转发:当dns服务器收到一个不属于自己解析的名字时
不去找根服务器,而是直接转发给指定的服务器
1,配置子域服务器转发,能解析centos.zqy域的主机
修改子域服务器主配置文件,在options中加入下面两行

写在options是总转发
forward only;
forwarders { 192.168.100.9; };

wKiom1Mli7ny7ER7AABjFdHSoPw899.png


如果要转发特定的区域,就定义一个域。

zone "特定区域" IN {
                   type forward;
                   forwarders { IP; }
                   forward first;
               }
重启服务就好了
测试
# dig www.centos.zqy @192.168.100.5

wKioL1Mli-vBaH7LAAB5zSxx7z4812.png


@192.168.100.5表示指定用这个DNS查询

----------------------------

DNS的view功能

view可以实现不同的主机来解析同一个主机名时返回不同的IP地址

1,编辑主服务器配置文件


wKiom1MljLHDUEL1AABc8baBToU799.png
2,编辑区域文件
# vim /var/named/192centos.zqy.zone

wKioL1MljLaxtEsXAABIa3NoGCM343.png


# vim /var/named/172centos.zqy.zone


wKioL1MljNOROX9kAABHU0le7cE078.png

3,测试
当192.168.100.9访问www.centos.zqy时


wKioL1MljPiyNifCAACSnYKBEeM695.png

当192.168.100.5访问www.centos.zqy时

wKiom1MljXnx81-UAACO1ReLPNo051.png