CentOS 搭建DNS主从服务器集群

BIND(Berkeley internet Name Daemon)也叫做NAMED,是现今互联网上使用最为广泛的DNS 服务器程序。这篇文章将要讲述如何在 chroot 监牢中运行 BIND,这样它就无法访问文件系统中除“监牢”以外的其它部分。

在这篇文章中,我会将BIND的运行根目录改为 /var/named/chroot/。当然,对于BIND来说,这个目录就是 /(根目录)。 “jail”(监牢,下同)是一个软件机制,其功能是使得某个程序无法访问规定区域之外的资源,同样也为了增强安全性(LCTT 译注:chroot “监牢”,所谓“监牢”就是指通过chroot机制来更改某个进程所能看到的根目录,即将某进程限制在指定目录中,保证该进程只能对该目录及其子目录的文件进行操作,从而保证整个服务器的安全)。Bind Chroot DNS 服务器的默认“监牢”为 /var/named/chroot。

基本环境

10.29.181.61 Master DNS服务器
10.29.181.62 Slave DNS服务器

DNS服务器的合法域名:zts.local

要求

允许所有来源的主机对改域名进行解析,内网其他主机访问外网时候走ISP的DNS,只解析内网IP主机的请求进行转发,不会对外网主机的解析请求进行转发。

搭建主从DNS服务器集群

1、安装Bind Chroot DNS 服务器

1
[root@nrozntgbd2 ~]# yum install bind-chroot bind bind-utils dig -y

2、拷贝bind相关文件,准备bind chroot 环境

1
[root@nrozntgbd2 ~]# cp -R /usr/share/doc/bind-*/sample/var/named/* /var/named/chroot/var/named/

3、在bind chroot 的目录中创建相关文件

1
2
3
4
5
6
[root@nrozntgbd2 ~]# touch /var/named/chroot/var/named/data/cache_dump.db
[root@nrozntgbd2 ~]# touch /var/named/chroot/var/named/data/named_stats.txt
[root@nrozntgbd2 ~]# touch /var/named/chroot/var/named/data/named_mem_stats.txt
[root@nrozntgbd2 ~]# touch /var/named/chroot/var/named/data/named.run
[root@nrozntgbd2 ~]# mkdir /var/named/chroot/var/named/dynamic
[root@nrozntgbd2 ~]# touch /var/named/chroot/var/named/dynamic/managed-keys.bind

4、 将 Bind 锁定文件设置为可写

1
2
[root@nrozntgbd2 ~]# chmod -R 777 /var/named/chroot/var/named/data
[root@nrozntgbd2 ~]# chmod -R 777 /var/named/chroot/var/named/dynamic

5、 将 /etc/named.conf 拷贝到 bind chroot目录

1
[root@nrozntgbd2 ~]# cp -p /etc/named.conf /var/named/chroot/etc/named.conf

6、 在/etc/named.conf中对 bind 进行配置

在 named.conf 文件尾添加 zts.local 域信息, 创建转发域(Forward Zone)与反向域(Reverse Zone)(LCTT 译注:这里zts.local 并非一个真实有效的互联网域名,而是通常用于本地测试的一个域名;如果你需要做权威 DNS 解析,你可以将你拥有的域名如这里所示配置解析。):

[root@nrozntgbd2 ~]# vi /var/named/chroot/etc/named.conf

a. 编辑配置文件/etc/named.conf,找到listen-on这一行,改为:

1
listen-on port 53 { any; }; #any是匹配所有的意思

b. 找到allow-query这一行,改为:

1
allow-query { any; };

c. 添加要解析的域

1
2
3
4
5
6
7
8
9
10
11
//正向解析
zone "zts.local" {
type master;
file "zts.local.zone";
};
//反向解析
zone "181.29.10.in-addr.arpa" IN {
type master;
file "10.29.181.zone";
};

d. 对DNS配置文件进行一下语法检查:named-checkconf /var/named/chroot/etc/named.conf

named.conf 完全配置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
//
// named.conf
//
// 由Red Hat提供,将 ISC BIND named(8) DNS服务器
// 配置为暂存域名服务器 (用来做本地DNS解析).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
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";
allow-query { any; };
/*
- 如果你要建立一个 授权域名服务器 服务器, 那么不要开启 recursion(递归) 功能。
- 如果你要建立一个 递归 DNS 服务器, 那么需要开启recursion 功能。
- 如果你的递归DNS服务器有公网IP地址, 你必须开启访问控制功能,
只有那些合法用户才可以发询问. 如果不这么做的话,那么你的服
服务就会受到DNS 放大攻击。实现BCP38将有效抵御这类攻击。
*/
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
zone "zts.local" {
type master;
file "zts.local.zone";
};
zone "181.29.10.in-addr.arpa" IN {
type master;
file "10.29.181.zone";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

7、 为 zts.local 域名创建转发域与反向域文件

a)创建转发域

[root@nrozntgbd2 ~]# vi /var/named/chroot/var/named/zts.local.zone

添加如下内容并保存:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
$ORIGIN zts.local.
$TTL 86400
;
;在zone的配置文件中,它是以分号来作为批注语句标识符的。
;修改这个配置文件时,要注意,名称最后面没有加句点的是主机名,最后面加了句点的是FQDN(除了$ORIGIN那里)。
;$ORIGIN那里填域名。下面的@符号会引用这里填写的值。如果不填,则会引用主配置文件中zone语句后面的值。
;$TTL表示timeto live值,表示当其它DNS查询到本zone的DNS记录时,这个记录能在它的DNS缓存中存在多久,单位为秒。
@ IN SOA dns1.zts.local. roc.fly.qq.com. (
2018111901
1H
5m
2D
6H )
;
;SOA后面的两个参数分别是主DNS服务器主机名和管理者邮箱(xie@zts.local)。因为@符号有特殊含义,所以写成这样。
;括号内的第一个参数是序号,代表本配置文档的新旧,序号越大,表示越新。每次修改本文档后,都要将这个值改大。
;第二个参数是刷新频率,表示slave隔多久会跟master比对一次配置档案,单位为秒。
;第三个参数是失败重新尝试时间,单位为秒
;第四个参数是失效时间,单位为秒。
;在BIND9中,第五个参数表示其它DNS服务器能缓存negative answers的时间,单位为秒。
;
@ IN NS dns1.zts.local.
IN NS dns2.zts.local.
dns1 IN A 10.29.181.61
dns2 IN A 10.29.181.62
;
;类型NS定义指定域的DNS服务器主机名(如dns1.zts.local),不管是主DNS还是从DNS。
;类型A定义指定主机(如dns1)的IP地址。如果是使用的IPv6地址,则需使用类型AAAA。
;
;@ IN MX 10 mail1.zts.local.
; IN MX 20 mail2.zts.local.
;mail1 IN A 10.29.181.61
;mail2 IN A 10.29.181.62
;
;类型MX定义指定域的邮件服务器主机名(如mail1.zts.local)。
;MX后面的数字为优先级,越小越优先。同样的优先级值则可以在多台邮件服务器之间进行负载分担。
;
;www IN CNAME servs.zts.local.
;ftp IN CNAME servs.zts.local.
;servs IN A 10.29.181.6
;
;类型CNAME用于定义别名。通常用于同一台主机提供多个服务的情况。
;以这里的设定为例,当要解析ftp.zts.local的IP时,它会解析成主机servs.zts.local的IP。
;
forum IN A 10.29.181.61
;travel IN A 10.29.181.8
; IN A 10.29.181.9
;
;如上面所示,也可以直接设定某一台主机(如forum.zts.local)的IP。
;同一台主机(如travel.zts.local)也可以设定多个IP。
; eureka cluster配置
txt.shanghai IN TXT "defaultZone.zts.local"
txt.defaultZone IN TXT "10.29.181.56" "10.29.181.57" "10.29.181.58" "10.29.181.60"
;通过查看Eureka的源码,它的实现是通过寻找txt.beijing-a.zts.local(txt.region.eureka-server-d-n-s-name)获取"beijing-a.zts.local" "beijing-b.zts.local"的zone:beijing-a和beijing-b,
;然后再去获取txt.beijing-a.zts.local和txt.beijing-b.zts.local中对应的ServiceUrls的数据,也就是IP地址: "10.29.181.61" "10.29.181.62"
;这样服务间就可以获取到固定端口下的不同IP的机器的注册中心服务地址,并相互注册
txt.beijing IN TXT "beijing-a.zts.local" "beijing-b.zts.local"
txt.beijing-a IN TXT "10.29.181.61" "10.29.181.62"
txt.beijing-b IN TXT "10.29.181.63" "10.29.181.64"

对区域文件进行有效性检查:

1
named-checkzone 181.29.10.in-addr.arpa 10.29.181.zone

b)创建反向域

[root@nrozntgbd2 ~]# vi /var/named/chroot/var/named/10.29.181.zone

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
$ORIGIN 181.29.10.in-addr.arpa.
$TTL 86400
;
;在zone的配置文件中,它是以分号来作为批注语句标识符的。
;修改这个配置文件时,要注意,名称最后面没有加句点的是主机名,最后面加了句点的是FQDN(除了$ORIGIN那里)。
;$ORIGIN那里填域名。下面的@符号会引用这里填写的值。如果不填,则会引用主配置文件中zone语句后面的值。
;$TTL表示timeto live值,表示当其它DNS查询到本zone的DNS记录时,这个记录能在它的DNS缓存中存在多久,单位为秒。
@ IN SOA dns1.zts.local. roc.fly.qq.com. (
2018111902
1H
5m
2D
6H )
;
;SOA后面的两个参数分别是主DNS服务器主机名和管理者邮箱(xie@zts.local)。因为@符号有特殊含义,所以写成这样。
;括号内的第一个参数是序号,代表本配置文档的新旧,序号越大,表示越新。每次修改本文档后,都要将这个值改大。
;第二个参数是刷新频率,表示slave隔多久会跟master比对一次配置档案,单位为秒。
;第三个参数是失败重新尝试时间,单位为秒
;第四个参数是失效时间,单位为秒。
;在BIND9中,第五个参数表示其它DNS服务器能缓存negative answers的时间,单位为秒。
;
;61.181.29.10.in-addr.arpa. IN PTR dns1.zts.local.
;62.181.29.10.in-addr.arpa. IN PTR dns2.zts.local.
@ IN NS dns1.zts.local.
IN NS dns2.zts.local.
61 IN PTR dns1.zts.local.
62 IN PTR dns2.zts.local.

对区域文件进行有效性检查:

1
named-checkzone zts.local /var/named/chroot/var/named/zts.local.zone

8、启动 bind-chroot 服务

启动named,日志可以在/var/log/messages下查看

1
2
3
4
[root@nrozntgbd2 named]# service named restart
Stopping named: . [ OK ]
Starting named: [ OK ]
[root@nrozntgbd2 named]# vim /var/log/messages

设置开机启动

1
2
# centos 6
chkconfig named on

1
2
3
4
5
6
7
# centos 7
[root@nrozntgbd2 ~]# /usr/libexec/setup-named-chroot.sh /var/named/chroot on
[root@nrozntgbd2 ~]# systemctl stop named
[root@nrozntgbd2 ~]# systemctl disable named
[root@nrozntgbd2 ~]# systemctl start named-chroot
[root@nrozntgbd2 ~]# systemctl enable named-chroot
ln -s '/usr/lib/systemd/system/named-chroot.service' '/etc/systemd/system/multi-user.target.wants/named-chroot.service'

9、搭建从DNS服务器

a)安装从DNS服务器

  • 1.重复步骤1-5

  • 2.编辑配置文件/var/named/chroot/etc/named.conf,找到listen-on这一行,改为:

1
listen-on port 53 { any; }; #any是匹配所有的意思
  • 3.找到allow-query这一行,改为:
1
allow-query { any; };
  • 4.在/var/named/chroot/etc/named.conf中增加区域配置

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    zone "zts.local" {
    type slave;
    file "zts.local.zone"; ###将同步后的文件放置在哪里,这里是/var/named/
    masters { 10.29.181.61; }; ###指定主服务器的ip地址
    };
    zone "181.29.10.in-addr.arpa" IN {
    type slave;
    file "10.29.181.zone";
    masters { 10.29.181.61; }; ###指定主服务器的ip地址
    };
  • 5.修改权限(建议同时修改主、从DNS服务器)

    1
    chown named:named /var/named/chroot/var/named

b)修改主DNS服务器配置

修改/var/named/chroot/etc/named.conf,并验证:named-checkconf named.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
zone "zts.local" {
type master;
file "zts.local.zone";
allow-transfer { 10.29.181.62; }; //指定这个域的从DNS服务器的IP
allow-query { any; }; //允许来自任意IP对这个域的解析请求
notify yes;
also-notify { 10.29.181.62; };
};
zone "181.29.10.in-addr.arpa" IN {
type master;
file "10.29.181.zone";
allow-transfer { 10.29.181.62; }; //指定这个域的从DNS服务器的IP
allow-query { any; }; //允许来自任意IP对这个域的解析请求
notify yes;
also-notify { 10.29.181.62; };
};

c)重启主、从DNS服务器

  • 1.重启主服务器:service named restart
  • 2.重启从服务器:service named restart
  • 3.若报错,可检查日志文件vim /var/log/messages,这里我们检查下从服务器同步日志
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Nov 19 21:06:40 nrozntgbd3 named[90312]: adjusted limit on open files from 100000 to 1048576
Nov 19 21:06:40 nrozntgbd3 named[90312]: found 8 CPUs, using 8 worker threads
Nov 19 21:06:40 nrozntgbd3 named[90312]: using up to 4096 sockets
Nov 19 21:06:40 nrozntgbd3 named[90312]: loading configuration from '/etc/named.conf'
Nov 19 21:06:40 nrozntgbd3 named[90312]: reading built-in trusted keys from file '/etc/named.iscdlv.key'
Nov 19 21:06:40 nrozntgbd3 named[90312]: using default UDP/IPv4 port range: [1024, 65535]
Nov 19 21:06:40 nrozntgbd3 named[90312]: using default UDP/IPv6 port range: [1024, 65535]
Nov 19 21:06:40 nrozntgbd3 named[90312]: listening on IPv4 interface lo, 127.0.0.1#53
Nov 19 21:06:40 nrozntgbd3 named[90312]: listening on IPv4 interface eth3, 10.29.181.62#53
Nov 19 21:06:40 nrozntgbd3 named[90312]: listening on IPv6 interface lo, ::1#53
Nov 19 21:06:40 nrozntgbd3 named[90312]: generating session key for dynamic DNS
Nov 19 21:06:40 nrozntgbd3 named[90312]: sizing zone task pool based on 7 zones
Nov 19 21:06:40 nrozntgbd3 named[90312]: set up managed keys zone for view _default, file '/var/named/dynamic/managed-keys.bind'
Nov 19 21:06:40 nrozntgbd3 named[90312]: Warning: 'empty-zones-enable/disable-empty-zone' not set: disabling RFC 1918 empty zones
Nov 19 21:06:40 nrozntgbd3 named[90312]: automatic empty zone: 127.IN-ADDR.ARPA
Nov 19 21:06:40 nrozntgbd3 named[90312]: automatic empty zone: 254.169.IN-ADDR.ARPA
Nov 19 21:06:40 nrozntgbd3 named[90312]: automatic empty zone: 2.0.192.IN-ADDR.ARPA
Nov 19 21:06:40 nrozntgbd3 named[90312]: automatic empty zone: 100.51.198.IN-ADDR.ARPA
Nov 19 21:06:40 nrozntgbd3 named[90312]: automatic empty zone: 113.0.203.IN-ADDR.ARPA
Nov 19 21:06:40 nrozntgbd3 named[90312]: automatic empty zone: 255.255.255.255.IN-ADDR.ARPA
Nov 19 21:06:40 nrozntgbd3 named[90312]: automatic empty zone: 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA
Nov 19 21:06:40 nrozntgbd3 named[90312]: automatic empty zone: D.F.IP6.ARPA
Nov 19 21:06:40 nrozntgbd3 named[90312]: automatic empty zone: 8.E.F.IP6.ARPA
Nov 19 21:06:40 nrozntgbd3 named[90312]: automatic empty zone: 9.E.F.IP6.ARPA
Nov 19 21:06:40 nrozntgbd3 named[90312]: automatic empty zone: A.E.F.IP6.ARPA
Nov 19 21:06:40 nrozntgbd3 named[90312]: automatic empty zone: B.E.F.IP6.ARPA
Nov 19 21:06:40 nrozntgbd3 named[90312]: automatic empty zone: 8.B.D.0.1.0.0.2.IP6.ARPA
Nov 19 21:06:40 nrozntgbd3 named[90312]: command channel listening on 127.0.0.1#953
Nov 19 21:06:40 nrozntgbd3 named[90312]: command channel listening on ::1#953
Nov 19 21:06:40 nrozntgbd3 named[90312]: zone 0.in-addr.arpa/IN: loaded serial 0
Nov 19 21:06:40 nrozntgbd3 named[90312]: zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
Nov 19 21:06:40 nrozntgbd3 named[90312]: zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0
Nov 19 21:06:40 nrozntgbd3 named[90312]: zone zts.local/IN: loaded serial 2018111901
Nov 19 21:06:40 nrozntgbd3 named[90312]: zone localhost.localdomain/IN: loaded serial 0
Nov 19 21:06:40 nrozntgbd3 named[90312]: zone localhost/IN: loaded serial 0
Nov 19 21:06:40 nrozntgbd3 named[90312]: managed-keys-zone ./IN: loaded serial 2
Nov 19 21:06:40 nrozntgbd3 named[90312]: running
Nov 19 21:06:40 nrozntgbd3 named[90312]: zone zts.local/IN: sending notifies (serial 2018111901)
  • 4.检查从服务器/var/named/chroot/var/named/zts.local.zone/var/named/chroot/var/named/10.29.181.zone文件是否生成。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@nrozntgbd3 named]# ls -alh
total 48K
drwxr-xr-x 5 named named 4.0K Nov 19 21:06 .
drwxr-x--- 6 root named 4.0K Nov 19 20:48 ..
drwxrwxrwx 2 root root 4.0K Nov 19 20:48 data
drwxrwxrwx 2 root root 4.0K Nov 19 20:58 dynamic
-rw-r--r-- 1 root root 56 Nov 19 20:48 my.external.zone.db
-rw-r--r-- 1 root root 56 Nov 19 20:48 my.internal.zone.db
-rw-r--r-- 1 root root 3.3K Nov 19 20:48 named.ca
-rw-r--r-- 1 root root 152 Nov 19 20:48 named.empty
-rw-r--r-- 1 root root 152 Nov 19 20:48 named.localhost
-rw-r--r-- 1 root root 168 Nov 19 20:48 named.loopback
drwxr-xr-x 2 root root 4.0K Nov 19 20:48 slaves
-rw-r--r-- 1 named named 660 Nov 19 21:12 zts.local.zone (<------看,已经自动生成了)

9、测试

登录10.29.181.62,修改DNS服务器地址vim /etc/resolv.conf(这种方式是临时的,重启网卡后,就刷新掉了):

[root@nrozntgbd3 roc]# vim /etc/resolv.conf

1
2
#search xx.zts.com
nameserver 10.29.181.61

建议使用修改网卡的dns的方式:vim /etc/sysconfig/network-scripts/ifcfg-eth0,这种方式会永久设定dns

使用dig测试

注意查看;; ANSWER SECTION:输出

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
[root@nrozntgbd3 roc]# dig -t A forum.zts.local @10.29.181.61
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.68.rc1.el6_10.1 <<>> -t A forum.zts.local @10.29.181.61
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35607
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;forum.zts.local. IN A
;; ANSWER SECTION:
forum.zts.local. 86400 IN A 10.29.181.61 (<-------看这个输出)
;; AUTHORITY SECTION:
zts.local. 86400 IN NS dns1.zts.local.
zts.local. 86400 IN NS dns2.zts.local.
;; ADDITIONAL SECTION:
dns1.zts.local. 86400 IN A 10.29.181.61
dns2.zts.local. 86400 IN A 10.29.181.62
;; Query time: 0 msec
;; SERVER: 10.29.181.61#53(10.29.181.61)
;; WHEN: Mon Nov 19 20:24:11 2018
;; MSG SIZE rcvd: 119
[root@nrozntgbd3 roc]# dig -t TXT txt.shanghai.zts.local
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.68.rc1.el6_10.1 <<>> -t TXT txt.shanghai.zts.local
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19185
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;txt.shanghai.zts.local. IN TXT
;; ANSWER SECTION:
txt.shanghai.zts.local. 86400 IN TXT "defaultZone.zts.local" (<-------看这个输出)
;; AUTHORITY SECTION:
zts.local. 86400 IN NS dns2.zts.local.
zts.local. 86400 IN NS dns1.zts.local.
;; ADDITIONAL SECTION:
dns1.zts.local. 86400 IN A 10.29.181.61
dns2.zts.local. 86400 IN A 10.29.181.62
;; Query time: 0 msec
;; SERVER: 10.29.181.61#53(10.29.181.61)
;; WHEN: Mon Nov 19 20:24:22 2018
;; MSG SIZE rcvd: 144

使用nslookup测试

1
2
3
4
5
6
7
8
9
10
11
12
[root@nrozntgbd3 named]# nslookup
> set queryType=TXT
> txt.shanghai.zts.local
Server: 10.29.181.61
Address: 10.29.181.61#53
txt.shanghai.zts.local text = "defaultZone.zts.local"
> txt.beijing.zts.local
Server: 10.29.181.61
Address: 10.29.181.61#53
txt.beijing.zts.local text = "beijing-a.zts.local" "beijing-b.zts.local"

测试反向代理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[root@nrozntgbd3 roc]# dig -x 10.29.181.61 @10.29.181.61
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.68.rc1.el6_10.1 <<>> -x 10.29.181.61 @10.29.181.61
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55778
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;61.181.29.10.in-addr.arpa. IN PTR
;; ANSWER SECTION:
61.181.29.10.in-addr.arpa. 86400 IN PTR dns1.zts.local.
;; AUTHORITY SECTION:
181.29.10.in-addr.arpa. 86400 IN NS dns1.zts.local.
181.29.10.in-addr.arpa. 86400 IN NS dns2.zts.local.
;; ADDITIONAL SECTION:
dns1.zts.local. 86400 IN A 10.29.181.61
dns2.zts.local. 86400 IN A 10.29.181.62
;; Query time: 0 msec
;; SERVER: 10.29.181.61#53(10.29.181.61)
;; WHEN: Mon Nov 19 20:27:42 2018
;; MSG SIZE rcvd: 136

解析内部、外部域名

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@nrozntgbd3 roc]# nslookup forum.zts.local
Server: 10.29.181.61
Address: 10.29.181.61#53
Name: forum.zts.local
Address: 10.29.181.61
[root@nrozntgbd3 roc]# nslookup www.baidu.com
Server: 10.29.181.61
Address: 10.29.181.61#53
Non-authoritative answer:
www.baidu.com canonical name = www.a.shifen.com.
Name: www.a.shifen.com
Address: 115.239.211.112
Name: www.a.shifen.com
Address: 115.239.210.27

参考