Linux学习-DNS服务相关

一、DNS服务简介

1、基本概念

 (1) DNS( Domain Name System )域名系统,是一种组织成域层次结构的计算机和网络服务命名系统,是一个应用层协议,使用TCP与UDP的53端口,它所提供的服务是用来将主机名和域名转换为IP地址的工作。

 (2) FQDN( Full Qualified Domain Name )完全限定域名,即每个域在全球网络都是唯一的;

2、域的分类

 (1)、根域:标识为(.)点,全球13组根域名服务器以英文字母A到M依序命名,域名格式为“字母.root-servers.net”。其中有11个是以任播技术在全球多个地点设立镜像站。比如*在北京有两台编号为L的镜像,编号为F、I、J的镜像各一台,共5台;香港有编号为D、J的镜像各2台,编号为A、F、I、L的镜像各一台,共8台;*则有编号为F、I、J各一台,共3台。

 (2)、*域:又分为通用*域 ( .com .net .org .gov .edu 等),国家*域 ( .cn .us .jp 等),反向域 (基础建设*域).arpa,即从IP到FQDN的反向解析

3、DNS服务器的查询类型

 递归查询:客户端仅发出一次请求,让DNS服务器去查询返回结果;一般是客户机与服务器之间的查询;

 迭代查询:要发出多次请求去分别查询不同的DNS服务器;一般是DNS服务器与DNS服务器之间的查询;

4、DNS名称的解析方式

 正向解析:将FQDN转化为IP

 反向解析:将IP转化为FQDN

5、资源记录类型

 SOA:起始授权记录;一个区域解析库中有且仅能有一个SOA记录,必须位于解析库中的第一条记录

 A:将一个主机名(全称域名FQDN)和一个IP地址关联起来,FQDN ---> IP

 AAAA:将一个主机名解析成IPv6地址,FQDN ---> IPv6

 PTR:将一个IP地址对应到主机名,IP ---> FQDN

 CNAME:Canonical Name 别名记录

 MX:Mail eXchanger,邮件交换器

 NS:Name Server,专用于标明当前区域的DNS服务器

 TXT:对域名进行标识和说明的一种方式,一般做验证记录时会使用此项,如:SPF(反垃圾邮件)记录,https验证等

  示例:_dnsauth TXT 2012011200000051qgs69bwoh4h6nht4n1h0lr038x

6、资源记录定义格式

 语法:name    [TTL]   IN   rr_type   value

 注意:

  (1) TTL可从全局继承

  (2) @可用于引用当前区域的名字

  (3) 同一个名字可以通过多条记录定义多个不同的值;此时DNS服务器会以轮询方式响应

  (4) 同一个值也可能有多个不同的定义名字;通过多个不同的名字指向同一个值进行定义;此仅表示通过多个不同的名字可以找到同一个主机

 SOA记录:

  name: 当前区域的名字,例如“magedu.com.”

  value: 有多部分组成

    (1) 当前区域的主DNS服务器的FQDN,也可以使用当前区域的名字;

    (2) 当前区域管理员的邮箱地址;但地址中不能使用@符号,一般用.替换;例如:admin.abc.com

    (3) 主从服务区域传输相关定义以及否定的答案的统一的TTL;例如:

      abc.com. 86400 IN SOA ns.abc.com. admin.abc.com. (
          2015042201  ;序列号
          2H               ;刷新时间
          10M             ;重试时间
          1W               ;过期时间
          1D                ;否定答案的TTL值
      )

    序列号:格式为yyyymmddnn,nn代表这一天是第几次修改。辅名字服务器通过比较这个序列号是否加载一份新的区数据拷贝;
    刷新时间:告诉该区的辅名字服务器相隔多久检查该区的数据是否是最新的;
    重试时间:如果辅名字服务器超过刷新间隔时间后无法访问主服务器,那么它就开始隔一段时间重试连接一次。这个时间通常比刷新时间短,但也不一定非要这样;
    过期时间:如果在期满时间内辅名字服务器还不能和主服务器连接上,辅名字服务器就使用这个我失效。这就意味着辅名字服务器将停止关于该区的回答,因为这些区数据太旧了,没有用了。设置时间要比刷新和重试时间长很多,以周为单位是较合理的;
    否定答案的TTL值:这是针对缓存而言的,与区传送没有关系。 生存期(TTL)为所容许的名字服务器对数据缓存的时间长度,一旦生存期到了,名字服务器必须丢弃缓存数据并从授权的名字服务器中重新获取新的数据。这样可以确保域数据在整个网络上的一致性。

 NS记录:

  name: 当前区域的名字

  value: 当前区域的某DNS服务器的名字,例如 ns.abc.com.

  注意:

   (1) 一个区域可以有多个NS记录;例如:

    abc.com. IN NS ns1.abc.com
    abc.com. IN NS ns2.abc.com

   (2) 相邻的两个资源记录的name相同时,后续的可省略

   (3) 对NS记录而言,任何一个ns记录后面的服务器名字,都应该在后续有一个A记录

 MS记录:

  name: 当前区域的名字

  value: 当前区域的某邮件服务器(smtp服务器)的主机名

  一个区域内,MX记录可有多个;但每个记录的value之前应该有一个数字(0- 99),表示此服务器的优先级;数字越小优先级越高;例如:

    abc.com. IN MX 10  mx1.abc.com.
         IN MX 20 mx2.abc.com.

  注意:对MX记录而言,任何一个MX记录后面的服务器名字,都应该在后续有一个A记录

 A记录:

  name: 某主机的FQDN,例如:www.abc.com.

  value: 主机名对应主机的IP地址,例如:

    www.abc.com.  IN  A  1.1.1.1
    db.abc.com      IN  A  2.2.2.2
    *.abc.com        IN  A  1.1.1.2
    $GENERATE 1-254 server$   IN   A   1.1.2.$

 CNAME记录:

  name: 别名的FQDN

  value: 真正名字的FQDN

  例如:

    www.abc.com.  IN  CNAME  web.abc.com.

 AAAA记录:

  name: FQDN

  value: IPv6

 PTR记录:

  name: IP,有特定格式,把IP地址反过来写,1.2.3.4,要写作4.3.2.1;而有特定后缀:in-addr.arpa.,所以完整写法为:4.3.2.1.in-addr.arpa.

  value: FQDN

  例如:

    4.3.2.1.in-addr.arpa. IN PTR www.abc.com.

  如1.2.3为网络地址,可简写成:4 IN PTR www.abc.com.
注意:网络地址及后缀可省略;主机地址依然需要反着写

二、DNS相关服务的配置实验

 配置系统环境均为 CentOS7.6,且关闭了防火墙与SELINUX。

1、主DNS服务器的配置

 配置基于 abc.com 的主DNS服务器

 (1) 正向区域

  1.安装DNS服务器软件 bind

[root@centos7 ~]# yum install -y bind

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

options {
// listen-on port 53 { 127.0.0.1; }; #注释掉此行,用//注释
listen-on-v6 port { ::; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
// allow-query { localhost; }; #注释掉此行,用//注释
...以下省略

  3.新建域文件

[root@centos7 named]# cd /var/named/
[root@centos7 named]# touch abc.com
[root@centos7 named]# chown root:named abc.com
[root@centos7 named]# chmod abc.com
[root@centos7 named]# ll
total
-rw-r----- root named Nov : abc.com
drwxrwx--- named named Oct data
drwxrwx--- named named Oct dynamic
-rw-r----- root named May named.ca
-rw-r----- root named Dec named.empty
-rw-r----- root named Jun named.localhost
-rw-r----- root named Dec named.loopback
drwxrwx--- named named Oct slaves
[root@centos7 named]# vim abc.com
[root@centos7 named]# cat abc.com
$TTL 1D
@ IN SOA ns1.abc.com. admin.abc.com. ( 1D 15M 1W 3H )
NS ns1
ns1 A 192.168.214.17
www A 192.168.214.17
* A 192.168.214.17
[root@centos7 named]# named-checkzone abc.com /var/named/abc.com #解析库语法检查
zone abc.com/IN: loaded serial
OK

  4.在主配置文件/etc/named.conf 或专门用与域配置文件 /etc/named.rfc1912.zones 中配置定义的域

[root@centos7 named]# vim /etc/named.rfc1912.zones
#添加如下内容
zone "abc.com" IN {
type master;
file "abc.com";
};
[root@centos7 named]# named-checkconf #主配置文件语法检查

  5.启动DNS服务,在客户机上测试

[root@centos7 named]# systemctl start named
[root@centos7- ~]# dig www.abc.com @192.168.214.17
#客户机上测试,可以看到已经解释成功了
; <<>> DiG 9.9.-RedHat-9.9.-.el7 <<>> www.abc.com @192.168.214.17
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id:
;; flags: qr aa rd ra; QUERY: , ANSWER: , AUTHORITY: , ADDITIONAL: ;; OPT PSEUDOSECTION:
; EDNS: version: , flags:; udp:
;; QUESTION SECTION:
;www.abc.com. IN A ;; ANSWER SECTION:
www.abc.com. IN A 192.168.214.17 ;; AUTHORITY SECTION:
abc.com. IN NS ns1.abc.com. ;; ADDITIONAL SECTION:
ns1.abc.com. IN A 192.168.214.17 ;; Query time: msec
;; SERVER: 192.168.214.17#(192.168.214.17)
;; WHEN: Wed Nov :: CST
;; MSG SIZE rcvd:
[root@centos7- ~]# host www.abc.com 192.168.214.17 #或用host命令
Using domain server:
Name: 192.168.214.17
Address: 192.168.214.17#
Aliases: www.abc.com has address 192.168.214.17

 (2) 反向区域

  1.前两步的安装与配置与正向区域一样

  2.新建反向域文件

[root@centos7 named]# cd /var/named
[root@centos7 named]# touch 192.168..abc.com
[root@centos7 named]# chown :named 192.168..abc.com
[root@centos7 named]# chmod 192.168..abc.com
[root@centos7 named]# ll
total
-rw-r----- root named Nov : 192.168..abc.com
-rw-r----- root named Nov : abc.com
drwxrwx--- named named Nov : data
drwxrwx--- named named Nov : dynamic
-rw-r----- root named May named.ca
-rw-r----- root named Dec named.empty
-rw-r----- root named Jun named.localhost
-rw-r----- root named Dec named.loopback
drwxrwx--- named named Oct slaves
[root@centos7 named]# vim 192.168..abc.com
$TLL 1D
@ IN SOA ns1.abc.com. admin.abc.com. ( 1D 15M 1W 3H )
NS ns1
ns1 A 192.168.214.17
PTR www.abc.com.
PTR ns1.efg.com.

  3.在域配置文件中,添加定义好的反向域

[root@centos7 named]# vim /etc/named.rfc1912.zones
#添加以下内容
zone "214.168.192.in-addr.arpa" in {
type master;
file "192.168.214.abc.com";
};
[root@centos7 named]# named-checkconf #检查语法
[root@centos7 named]# rndc reload #重载配置文件
server reload successful

  4.在客户机上测试

[root@centos7- ~]# dig -x 192.168.214.17 @192.168.214.17
#测试可以看到都解析成功了
; <<>> DiG 9.9.-RedHat-9.9.-.el7 <<>> -x 192.168.214.17 @192.168.214.17
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id:
;; flags: qr aa rd ra; QUERY: , ANSWER: , AUTHORITY: , ADDITIONAL: ;; OPT PSEUDOSECTION:
; EDNS: version: , flags:; udp:
;; QUESTION SECTION:
;17.214.168.192.in-addr.arpa. IN PTR ;; ANSWER SECTION:
17.214.168.192.in-addr.arpa. IN PTR www.abc.com. ;; AUTHORITY SECTION:
214.168..in-addr.arpa. IN NS ns1.214.168..in-addr.arpa. ;; ADDITIONAL SECTION:
ns1.214.168..in-addr.arpa. IN A 192.168.214.17 ;; Query time: msec
;; SERVER: 192.168.214.17#(192.168.214.17)
;; WHEN: Wed Nov :: CST
;; MSG SIZE rcvd: [root@centos7- ~]# host 192.168.214.7 192.168.214.17
Using domain server:
Name: 192.168.214.17
Address: 192.168.214.17#
Aliases: 7.214.168.192.in-addr.arpa domain name pointer ns1.efg.com.

2、主从DNS服务器的配置

 此处用到两台主机,一台主机作为主DNS服务器(192.168.214.17),一台作为从DNS服务器(192.168.214.27),以 asdfg.com 域为例。

 (1)、两台主机都安装BIND软件

[root@centos7- ~]# yum install -y bind
[root@centos7- ~]# yum install -y bind

 (2)、配置主DNS服务器配置文件 /etc/named.conf,并创建正向解析域文件 /var/named/asdfg.com

[root@centos7- ~]# vim /etc/named.conf
options {
// listen-on port 53 { 127.0.0.1; }; #注释此处
listen-on-v6 port { ::; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
// allow-query { localhost; }; #注释此处
allow-transfer { 192.168.214.27;}; #添加此项
...以下省略
[root@centos7- ~]# cd /var/named/
[root@centos7- ~]# touch asdfg.com
[root@centos7- ~]# chown :named asdfg.com
[root@centos7- ~]# chmod asdfg.com
[root@centos7- named]# vim asdfg.com
[root@centos7- named]# cat asdfg.com
$TTL 1D
@ IN SOA ns1.asdfg.com. admin.asdfg.com. ( 1D 15M 1W 3H )
NS ns1
NS ns2
ns1 A 192.168.214.17 #主服务器
ns2 A 192.168.214.27 #从服务器
www A 192.168.214.15
wap A 192.168.213.16

 (3)、在主服务器上域文件 /etc/named.rfc1912.zones 中添加"asdfg.com"域

[root@centos7- named]# vim /etc/named.rfc1912.zones
zone "asdfg.com" IN {
type master;
file "asdfg.com";
};
...以下省略

 (4)、配置从DNS服务器的配置文件 /etc/named.conf,并在从服务器的域文件中添加域信息

[root@centos7- ~]# vim /etc/named.conf
options {
// listen-on port 53 { 127.0.0.1; }; #注释此处
listen-on-v6 port { ::; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
// allow-query { localhost; }; #注释此处
allow-transfer {none;}; #添加此项
...以下省略
[root@centos7- ~]# vim /etc/named.rfc1912.zones
zone "asdfg.com" IN {
type slave;
masters {192.168.214.17;};
file "slaves/asdfg.com.slaves";
};
...以下省略

 (5)、先启动主服务器的DNS服务,再启动从DNS服务,进行测试

[root@centos7-17 ~]# systemctl start named
[root@centos7-27 ~]# systemctl start named
[root@centos7- ~]# ll /var/named/slaves/
#从服务器启动后可以看到生成了域文件库
total
-rw-r--r-- named named Nov : asdfg.com.slaves
#在客户端上测试,可以看到从服务器上成功同步了主服务器的域文件库
[root@centos7- ~]# host www.asdfg.com 192.168.214.17 #主服务解析
Using domain server:
Name: 192.168.214.17
Address: 192.168.214.17#
Aliases: www.asdfg.com has address 192.168.214.15
[root@centos7- ~]# host www.asdfg.com 192.168.214.27 #从服务器解析
Using domain server:
Name: 192.168.214.27
Address: 192.168.214.27#
Aliases: www.asdfg.com has address 192.168.214.15
[root@centos7- ~]# host wap.asdfg.com 192.168.214.27
Using domain server:
Name: 192.168.214.27
Address: 192.168.214.27#
Aliases: wap.asdfg.com has address 192.168.213.16

3、子域委派的配置

 此处用到两台主机,一台作为父域 (192.168.214.17),一台作为子域 (192.168.214.37),以 qwert.com 域为例,子域为 zxcvb.qwert.com

 (1)、两台主机都安装BIND服务

[root@centos7- ~]# yum install -y bind
[root@centos7- ~]# yum install -y bind

 (2)、配置父域服务器的配置文件 /etc/named.conf,并创建正向解析域文件 /var/named/qwert.com,然后在域文件 /etc/named.rfc1912.zones中添加"qwert.com"域

[root@centos7- ~]# cd /var/named/
[root@centos7- named]# vim qwert.com
[root@centos7- named]# vim /etc/named.conf
options {
// listen-on port 53 { 127.0.0.1; }; #注释此处
listen-on-v6 port { ::; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
// allow-query { localhost; }; #注释此处
recursion yes; dnssec-enable yes; #此处将yes修改成no
dnssec-validation yes; #此处将yes修改成no
...以下省略
[root@centos7- named]# cd /var/named/
[root@centos7- named]# touch qwert.com
[root@centos7- named]# chown :named qwert.com
[root@centos7- named]# chmod qwert.com
[root@centos7- named]# vim qwert.com
$TTL 1D
@ IN SOA ns1.qwert.com. admin.qwert.com. ( 1D 15M 1W 3H )
NS ns1
zxcfb NS ns3 #子域服务器标识
ns1 A 192.168.214.17
ns3 A 192.168.214.37 #子域服务器IP
www A 192.168.214.5
[root@centos7- named]# vim /etc/named.rfc1912.zones
zone "qwert.com" IN {
type master;
file "qwert.com";
};
...以下省略

 (3)、在子域服务器上主配置文件 /etc/named.conf ,并创建正向解析域文件 /var/named/zxcvb.qwert.com,然后在域文件 /etc/named.rfc1912.zones中添加"zxcvb.qwert.com"域

[root@centos7- ~]# vim /etc/named.conf
options {
// Listen-on port 53 { 127.0.0.1; }; #注释此处
listen-on-v6 port { ::; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
// allow-query { localhost; }; #注释此处
[root@centos7- ~]# cd /var/named/
[root@centos7- named]# touch zxcvb.qwert.com
[root@centos7- named]# chown :named zxcvb.qwert.com
[root@centos7- named]# chmod zxcvb.qwert.com
[root@centos7- named]# vim zxcvb.qwert.com
[root@centos7- named]# cat zxcvb.qwert.com
$TTL 1D
@ IN SOA ns1 admin ( 1D 15M 1W 3H )
NS ns1
ns1 A 192.168.214.37
web A 192.168.214.4
[root@centos7- named]# vim /etc/named.rfc1912.zones
zone "zxcvb.qwert.com" IN {
type master;
file "zxcvb.qwert.com";
};
...以下省略

 (4)、启动父域与子域服务器的DNS服务,进行测试

[root@centos7- ~]# dig web.zxcvb.qwert.com @192.168.214.37
#客户端上测试,先直接通过子域解析,可以看到成功的
; <<>> DiG 9.9.-RedHat-9.9.-.el7 <<>> web.zxcvb.qwert.com @192.168.214.37
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id:
;; flags: qr aa rd ra; QUERY: , ANSWER: , AUTHORITY: , ADDITIONAL: ;; OPT PSEUDOSECTION:
; EDNS: version: , flags:; udp:
;; QUESTION SECTION:
;web.zxcvb.qwert.com. IN A ;; ANSWER SECTION:
web.zxcvb.qwert.com. IN A 192.168.214.4 ;; AUTHORITY SECTION:
zxcvb.qwert.com. IN NS ns1.zxcvb.qwert.com. ;; ADDITIONAL SECTION:
ns1.zxcvb.qwert.com. IN A 192.168.214.37 ;; Query time: msec
;; SERVER: 192.168.214.37#(192.168.214.37)
;; WHEN: Wed Nov :: CST
;; MSG SIZE rcvd: [root@centos7- ~]# dig web.zxcvb.qwert.com @192.168.214.17
#再通过父域解析,可以看到也成功了
; <<>> DiG 9.9.-RedHat-9.9.-.el7 <<>> web.zxcvb.qwert.com @192.168.214.17
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id:
;; flags: qr rd ra; QUERY: , ANSWER: , AUTHORITY: , ADDITIONAL: ;; OPT PSEUDOSECTION:
; EDNS: version: , flags:; udp:
;; QUESTION SECTION:
;web.zxcvb.qwert.com. IN A ;; ANSWER SECTION:
web.zxcvb.qwert.com. IN A 192.168.214.4 ;; AUTHORITY SECTION:
zxcvb.qwert.com. IN NS ns1.zxcvb.qwert.com. ;; ADDITIONAL SECTION:
ns1.zxcvb.qwert.com. IN A 192.168.214.37 ;; Query time: msec
;; SERVER: 192.168.214.17#(192.168.214.17)
;; WHEN: Wed Nov :: CST
;; MSG SIZE rcvd:

4、DNS的转发功能配置

 此处需要三台主机,一台客户端服务器 (192.168.214.37),一台中间转发服务器 (192.168.214.27 只缓存服务器),一台主DNS服务器 (192.168.214.17 ,172.16.236.138 可连外网)

 转发分为全局转发与特定区域转发,设置稍有不同:

  全局转发: 对非本机所负责解析区域的请求,全转发给指定的服务器

    Options {
      forward first|only;  #first表示优先转发给DNS服务器,如果DNS不能返回结果,则自己去互联网上查找;only表示仅转发,不做其它操作
      forwarders { ip;};
    };

  特定区域转发:仅转发对特定的区域的请求,比全局转发优先级高

    zone "ZONE_NAME" IN {
      type forward;
      forward first|only;
      forwarders { ip;};
    };

 以全局转发为例:

  (1).主DNS服务器(192.168.214.17)上的配置

[root@centos7- ~]# yum install -y bind
[root@centos7- ~]# vim /etc/named.conf
options {
// listen-on port 53 { 127.0.0.1; }; #注释此处
listen-on-v6 port { ::; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
// allow-query { localhost; }; #注释此处
[root@centos7- ~]# systemctl start named #启动dns服务
[root@centos7- ~]# dig www.baidu.com @192.168.214.17
#此主机是可以连外网的
; <<>> DiG 9.9.-RedHat-9.9.-.el7 <<>> www.baidu.com @192.168.214.17
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id:
;; flags: qr rd ra; QUERY: , ANSWER: , AUTHORITY: , ADDITIONAL: ;; OPT PSEUDOSECTION:
; EDNS: version: , flags:; udp:
;; QUESTION SECTION:
;www.baidu.com. IN A ;; ANSWER SECTION:
www.baidu.com. IN CNAME www.a.shifen.com.
www.a.shifen.com. IN A 14.215.177.39
www.a.shifen.com. IN A 14.215.177.38 ;; AUTHORITY SECTION:
a.shifen.com. IN NS ns1.a.shifen.com.
a.shifen.com. IN NS ns2.a.shifen.com.
a.shifen.com. IN NS ns3.a.shifen.com.
a.shifen.com. IN NS ns4.a.shifen.com.
a.shifen.com. IN NS ns5.a.shifen.com. ;; ADDITIONAL SECTION:
ns1.a.shifen.com. IN A 61.135.165.224
ns2.a.shifen.com. IN A 220.181.33.32
ns3.a.shifen.com. IN A 112.80.255.253
ns4.a.shifen.com. IN A 14.215.177.229
ns5.a.shifen.com. IN A 180.76.76.95 ;; Query time: msec
;; SERVER: 192.168.214.17#(192.168.214.17)
;; WHEN: Wed Nov :: CST
;; MSG SIZE rcvd: [root@centos7- ~]# nslookup abc.com 192.168.214.17 #也可解析本地域
Server: 192.168.214.17
Address: 192.168.214.17# Name: abc.com
Address: 192.168.214.17

  (2).中间转发服务器 (192.168.214.27) 的配置

#首先在客户机上直接通过中间转发服务器是解析不了的
[root@centos7- named]# host www.baidu.com 192.168.214.27
;; connection timed out; no servers could be reached
[root@centos7- named]# host www.abc.com 192.168.214.27
;; connection timed out; no servers could be reached
#下面对中间转发服务器进行设置
[root@centos7- ~]# yum install -y bind #安装bind服务
[root@centos7- ~]# vim /etc/named.conf
options {
// listen-on port 53 { 127.0.0.1; }; #注释此处
listen-on-v6 port { ::; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
// allow-query { localhost; }; #注释此处
forward only; #添加此项
forwarders {192.168.214.17;}; #添加此项
recursion yes; dnssec-enable no; #此处将yes改为no
dnssec-validation no; #此处将yes改为no
...以下省略

  (3).在客户机上测试

#可以看到可以解析,说明转发成功了
[root@centos7- ~]# nslookup www.abc.com 192.168.214.27
Server: 192.168.214.27
Address: 192.168.214.27# Non-authoritative answer:
Name: www.abc.com
Address: 192.168.214.17 [root@centos7- ~]# nslookup www.baidu.com 192.168.214.27
Server: 192.168.214.27
Address: 192.168.214.27# Non-authoritative answer:
www.baidu.com canonical name = www.a.shifen.com.
Name: www.a.shifen.com
Address: 14.215.177.39
Name: www.a.shifen.com
Address: 14.215.177.38
上一篇:Web前端学习资料


下一篇:Git一分钟系列--快速安装git客户端