1、关闭防火墙开启相应的服务 1 2 [root@localhost ~]#setenforce 0 [root@localhost ~]#iptables -F
2、主节点安装dns yum -y install bind bind-chroot bind-utils
3、修改配置文件 3.1、/etc/named.conf—–主配置文件,服务器主要运行参数 修改dns主配置文件
1 2 3 4 5 6 7 8 9 options { listen-on port 53 { 192.168.168.178;127.0.0.1 }; 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; }; forwarders { 8.8.8.8; };
3.2、/etc/named.rfc1912.zones—–区域文件,主要指定要解析哪个域名 vim /etc/named.rfc1912.zones
1 2 3 4 5 6 7 8 9 10 11 12 // 首先对文件中正向解析的区域进行修改 zone "oracle.com" IN { type master; file "node.conf"; allow-update { none; }; }; // 设置好域名格式以及相应的数据文件接下来进行反向解析区域的配置 zone "168.168.192.in-addr.arpa" IN{ type master; file "node.txt"; allow-update { none; }; }
3.3、配置完成之后校验一下文件配置是否正确 1 2 3 [root@node4 named]# named-checkconf [root@node4 named]# 没有任何输出表示 /etc/named.conf没有语法错误
3.4、/var/named/xxx.xx ——-数据文件,用来正向和反向的解析 主文件及区域文件修改完成后接下来进行数据文件的修改,切换到/var/named目录下,对数据文件进行相应的选项配置
1 2 cd /var/named/ cp named.empty node.conf
首先对其正向解析的数据文件进行配置 vim node.conf
1 2 3 4 5 6 7 8 9 10 11 12 $TTL 3H @ IN SOA dns.oracle.com. rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum IN NS dns.oracle.com. dns IN A 192.168.168.178 scan IN A 192.168.168.111 scan IN A 192.168.168.112 scan IN A 192.168.168.113
对反向解析的数据文件进行配置,反向解析数据文件里面只有SOA、NS、PTR资源记录,所有A记录都要改为PTR记录,名称为IP地址,IP地址可以写全也可以简写,如果写全则是IP地址反写加上.in-addr.arpa.例如:116.2.16.172.in-addr.arpa. PTR资源记录的值为域名
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 cp named.empty node.txt vim node.txt $TTL 3H @ IN SOA dns.oracle.com. rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum IN NS dns.oracle.com. 178 IN PTR dns.oracle.com. 111 IN PTR scan.oracle.com. 112 IN PTR scan.oracle.com. 113 IN PTR scan.oracle.com.
3.5、解析文件参数详解 区域解析库文件第一个记录必须是SOA记录,必须有NS记录并且正解区域要有NS记录的A记录,反解则不需要有NS记录对应的A记录。 $TTL表示宏定义,TTL(Time- To-Live),dns记录在本地DNS服务器上保留的时间 @符号可代表区域文件/etc/named.conf里面定义的区域名称,即:”gfs.com.”。 2018030422 ;标识序列号,十进制数字,不能超过10位,通常使用日期 2H ;刷新时间,即每隔多久到主服务器检查一次,此处为2小时,实验环境可以设置小一点 4M ;重试时间,应该小于刷新时间,此处为4分钟,实验环境可以设置小一点 1D ;过期时间,此处为1天 2D ;主服务器挂后,从服务器至多工作的时间,此处为2天) 这个文件里所有的域名结尾的点号一定不能省略。 区域解析库文件是放在/var/named目录下,由named进程是以named用户运行,因此区域解析库文件的属组应设置为named。
(1)A记录(Address)正向解析 A记录是将一个主机名(全称域名FQDN)和一个IP地址关联起来。这也是大多数客户端程序默认的查询类型。 (2)PTR记录(Pointer)反向解析 PTR记录将一个IP地址对应到主机名(全称域名FQDN)。这些记录保存在in-addr.arpa域中。 (3)CNAME记录(Canonical Name)别名 别名记录,也称为规范名字(Canonical Name)。这种记录允许您将多个名字映射到同一台计算机。 (4)MX记录(Mail eXchange) MX记录是邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据 收信人的地址后缀来定位邮件服务器。MX记录也叫做邮件路由记录,用户可以将该域名下的邮件服务器指向到自己的mail server上,然后即可自行操控所有的邮箱设置。 当有多个MX记录(即有多个邮件服务器)时,则需要设置数值来确定其优先级。通过设置优先级数字来指明首选服务器,数字越小表示优先级越高。 (5)NS记录(Name Server) NS(Name Server)记录是域名服务器记录,也称为授权服务器,用来指定该域名由哪个DNS服务器来进行解析。 将网站的NS记录指向到目标地址,在设置NS记录的同时还需要设置目标网站的指向,否则NS记录将无法正常解析 NS记录优先于A记录。即,如果一个主机地址同时存在NS记录和A记录,则A记录不生效。 (6)AAAA记录 IPV6解析记录 该记录是将域名解析到一个指定的IPV6的IP上。
3.6、相应的数据配置文件完成后对数据文件的属主进行修改 1 2 3 4 [root@localhost named]#chown named node._ [root@node4 named]# ll node._ \-rw-r-----. 1 named root 286 Nov 22 16:12 node.conf \-rw-r-----. 1 named root 310 Nov 22 16:12 node.txt
3.7、配置完成后检测解析文件是否正确 1 2 3 [root@node4 named]# named-checkzone "oracle.com" node.conf zone gfs.com/IN: loaded serial 0 OK
3.8、检测反向解析库配置有没有错误 1 2 3 [root@node4 named]# named-checkzone "168.168.192.in-addr.arpa" node.txt zone 30.0.10.in-addr.arpa/IN: loaded serial 0 OK
4、修改完成后启动dns服务 systemctl start named.service
5、在客户端配置dns信息 5.1、修改 /etc/NetworkManager/NetworkManager.conf 文件,防止重启网卡后dns被重置,在main部分添加 “dns=none” 选项 1 2 3 [main] plugins=ifcfg-rh dns=none
5.2、NetworkManager重新装载上面修改的配置 systemctl restart NetworkManager.service
5.3、之后修改/etc/resolv.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 [root@node2 ~]# more /etc/resolv.conf # Generated by NetworkManager nameserver 192.168.168.178 [root@node2 ~]# /etc/init.d/network restart Restarting network (via systemctl): [ OK ] [root@node2 ~]# more /etc/resolv.conf # Generated by NetworkManager nameserver 202.106.0.20 nameserver 8.8.8.8 [root@node2 ~]# [root@node2 ~]# ls anaconda-ks.cfg Desktop Documents Downloads initial-setup-ks.cfg Music Pictures Public Templates Videos [root@node2 ~]# vim /etc/NetworkManager/NetworkManager.conf [root@node2 ~]# [root@node2 ~]# systemctl restart NetworkManager.service [root@node2 ~]# vim /etc/resolv.conf [root@node2 ~]# [root@node2 ~]# more /etc/resolv.conf # Generated by NetworkManager nameserver 192.168.168.178 [root@node2 ~]# /etc/init.d/network restart Restarting network (via systemctl): [ OK ][root@node2 ~]# more /etc/resolv.conf # Generated by NetworkManager nameserver 192.168.168.178
5.4、测试dns是否能正常解析 正向解析
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 [root@node2 ~]# dig -t A scan.oracle.com ; \<\<>> DiG 9.9.4-RedHat-9.9.4-61.el7_5.1 \<\<>> -t A scan.oracle.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER\<\<- opcode: QUERY, status: NOERROR, id: 40900 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 1, ADDITIONAL: 2 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;scan.oracle.com. IN A ;; ANSWER SECTION: scan.oracle.com. 10800 IN A 192.168.168.111 scan.oracle.com. 10800 IN A 192.168.168.112 scan.oracle.com. 10800 IN A 192.168.168.113 ;; AUTHORITY SECTION: oracle.com. 10800 IN NS dns.oracle.com. ;; ADDITIONAL SECTION: dns.oracle.com. 10800 IN A 192.168.168.178 ;; Query time: 3 msec ;; SERVER: 192.168.168.178#53(192.168.168.178) ;; WHEN: 一 9月 16 16:35:48 CST 2019 ;; MSG SIZE rcvd: 126
反向解析
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@node2 ~]# dig -x 192.168.168.111 ; \<\<>> DiG 9.9.4-RedHat-9.9.4-61.el7_5.1 \<\<>> -x 192.168.168.111 ;; global options: +cmd ;; Got answer: ;; ->>HEADER\<\<- opcode: QUERY, status: NOERROR, id: 6223 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;111.168.168.192.in-addr.arpa. IN PTR ;; ANSWER SECTION: 111.168.168.192.in-addr.arpa. 10800 IN PTR scan.oracle.com. ;; AUTHORITY SECTION: 168.168.192.in-addr.arpa. 10800 IN NS dns.oracle.com. ;; ADDITIONAL SECTION: dns.oracle.com. 10800 IN A 192.168.168.178 ;; Query time: 2 msec ;; SERVER: 192.168.168.178#53(192.168.168.178) ;; WHEN: 一 9月 16 16:36:14 CST 2019 ;; MSG SIZE rcvd: 120
多次ping域名scan.oracle.com,解析为不同的ip地址
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 [root@dax-mysql-slave ~]# ping scan.oracle.com PING scan.oracle.com (192.168.168.111) 56(84) bytes of data. ^C \--- scan.oracle.com ping statistics --- 2 packets transmitted, 0 received, 100% packet loss, time 1037ms [root@dax-mysql-slave ~]# ping scan.oracle.com PING scan.oracle.com (192.168.168.111) 56(84) bytes of data. ^C \--- scan.oracle.com ping statistics --- 1 packets transmitted, 0 received, 100% packet loss, time 0ms [root@dax-mysql-slave ~]# ping scan.oracle.com PING scan.oracle.com (192.168.168.112) 56(84) bytes of data. ^C \--- scan.oracle.com ping statistics --- 1 packets transmitted, 0 received, 100% packet loss, time 0ms [root@dax-mysql-slave ~]# ping scan.oracle.com PING scan.oracle.com (192.168.168.113) 56(84) bytes of data. 64 bytes from dax-mysql-slave (192.168.168.113): icmp_seq=1 ttl=64 time=0.041 ms ^C \--- scan.oracle.com ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.041/0.041/0.041/0.000 ms