DNS 定义

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

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

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

DNS服务配置_bind

DNS在应用中的工作方式:


DNS服务配置_DNS_02


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

DNS服务配置_bind_03


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

DNS服务配置_bind_04
配置反解
# vim /var/named/100.168.192.zone


DNS服务配置_bind_05

改权限
# 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


DNS服务配置_DNS_06


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


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


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

DNS服务配置_DNS_09


测试正解


# dig www.centos.zqy


DNS服务配置_DNS_10

测试反解
# dig -x 192.168.100.203


DNS服务配置_DNS_11


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


正解文件


DNS服务配置_DNS_12




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


DNS服务配置_bind_13


正解文件


DNS服务配置_bind_14
反解文件


DNS服务配置_DNS_15


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

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

DNS服务配置_bind_16


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

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

DNS服务配置_DNS_17


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

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

DNS的view功能

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

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


DNS服务配置_DNS_18
2,编辑区域文件
# vim /var/named/192centos.zqy.zone

DNS服务配置_DNS_19


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


DNS服务配置_DNS_20

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


DNS服务配置_DNS_21

当192.168.100.5访问www.centos.zqy时

DNS服务配置_bind_22