16.DNS实验

16 DNS实验

一、实现DNS正向主服务器

c7:master

[root@dns_master ~]#hostnamectl set-hostname dns_master.magedu.org
[root@dns_master ~]#yum -y install bind;systemctl enable --now  named
[root@dns_master ~]#vim /etc/named.conf
    options {
		//  listen-on port 53 { 127.0.0.1; }; 
     	//  allow-query  { any; };
         	dnssec-enable no;
   			dnssec-validation no;
[root@dns_master ~]#vim /etc/named.rfc1912.zones
	zone "magedu.org" IN {
		type master;
		file "magedu.org.zone";
	};
[root@dns_master ~]#named-checkconf

[root@dns_master ~]#cp -p /var/named/named.localhost /var/named/magedu.org.zone
[root@dns_master ~]#vim /var/named/magedu.org.zone
    $TTL 1D
    @       IN       SOA      master   admin.magedu.org. (
                       1;
                       1H;
                       10M;
                       3D;
                       12H
    );
                      NS      master
    master            A       10.0.0.7
    www               A       10.0.0.17  
[root@dns_master ~]#named-checkzone magedu.org /var/named/magedu.org.zone 
    zone magedu.org/IN: loaded serial 1
    OK

#如果没有-p,需要加文件权限,执行一下命令
#chmod 640 /var/named/magedu.org.zone
#chown .named /var/named/magedu.org.zone
systemctl start named          #第一次启动服务
rndc reload                    #不是第一次启动服务

c7 web

[root@dns_web ~]#hostnamectl set-hostname dns_web.magedu.org
[root@dns_web ~]#yum -y install httpd
[root@dns_web ~]#systemctl enable --now httpd
[root@dns_web ~]#echo www.magedu.org > /var/www/html/index.html
[root@dns_web ~]#systemctl start httpd

ubuntu101 client

[root@dns_client ~]#hostnamectl set-hostname dns_client.magedu.org
[root@dns_client ~]#yum -y install bind-utils;systemctl enable --now named
[root@dns_client ~]#vim /etc/netplan/01-netcfg.yaml
	addresses: [10.0.0.7]
[root@dns_client ~]#netplan apply

[root@dns_client ~]#dig www.magedu.org @10.0.0.7

; <<>> DiG 9.11.3-1ubuntu1.15-Ubuntu <<>> www.magedu.org @10.0.0.7
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 52178
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 8f87a4d4fe8bc752b33af8806162d380ee6ad0dc11a0855f (good)
;; QUESTION SECTION:
;www.magedu.org.			IN	A

;; ANSWER SECTION:
www.magedu.org.		86400	IN	A	10.0.0.17

;; AUTHORITY SECTION:
magedu.org.		86400	IN	NS	master.magedu.org.

;; ADDITIONAL SECTION:
master.magedu.org.	86400	IN	A	10.0.0.7

;; Query time: 0 msec
;; SERVER: 10.0.0.7#53(10.0.0.7)
;; WHEN: Sun Oct 10 19:50:29 HKT 2021
;; MSG SIZE  rcvd: 124

二、实现DNS从服务器

c7:master

[root@dns_master ~]#hostnamectl set-hostname dns_master.magedu.org
[root@dns_master ~]#yum -y install bind bind-utils;systemctl enable --now  named
[root@dns_master ~]#vim /etc/named.conf
    options {
		//  listen-on port 53 { 127.0.0.1; }; 
     	//  allow-query  { any; };
     	    allow-transfer { 10.0.0.8;};
         	dnssec-enable no;
   			dnssec-validation no;
[root@dns_master ~]#vim /etc/named.rfc1912.zones
	zone "magedu.org" IN {
		type master;
		file "magedu.org.zone";
	};
[root@dns_master ~]#named-checkconf

[root@dns_master ~]#cp -p /var/named/named.localhost /var/named/magedu.org.zone
[root@dns_master ~]#vim /var/named/magedu.org.zone
$TTL 1D
@       IN       SOA      master   admin.magedu.org. (
                   1;
                   1H;
                   10M;
                   3D;
                   12H
);
                  NS      master
                  NS      slave
master            A       10.0.0.7
slave             A       10.0.0.8                             
www               A       10.0.0.17
[root@dns_master ~]#named-checkzone magedu.org /var/named/magedu.org.zone 
    zone magedu.org/IN: loaded serial 1
    OK

#如果没有-p,需要加文件权限,执行一下命令
#chmod 640 /var/named/magedu.org.zone
#chown .named /var/named/magedu.org.zone
systemctl start named          #第一次启动服务
rndc reload                    #不是第一次启动服务

C8从节点

[root@dns_slave ~]#hostnamectl set-hostname dns_slave.magedu.org
[root@dns_slave ~]#yum -y install bind bind-utils;systemctl enable --now  named
[root@dns_slave ~]#vim /etc/named.conf
    options {
    //  listen-on port 53 { localhost; };
    //  allow-query  { any;};
        allow-transfer { none;};
[root@dns_slave ~]#named-checkconf
[root@dns_slave ~]#vim /etc/named.rfc1912.zones
    zone "magedu.org" IN {
        type slave;
        masters { 10.0.0.7;};    #主节点ip       
        file "slaves/magedu.org.slave";
    };
[root@dns_slave ~]#systemctl srart named
	Unknown operation srart. 
#文件自动从主节点传过来
[root@dns_slave ~]#ls /var/named/slaves/magedu.org.slave 
/var/named/slaves/magedu.org.slave

c17 web

[root@dns_web ~]#hostnamectl set-hostname dns_web.magedu.org
[root@dns_web ~]#yum -y install httpd
[root@dns_web ~]#systemctl enable --now httpd
[root@dns_web ~]#echo www.magedu.org > /var/www/html/index.html
[root@dns_web ~]#systemctl start httpd

ubuntu101 client

[root@dns_client ~]#hostnamectl set-hostname dns_client.magedu.org
[root@dns_client ~]#yum -y install bind-utils;systemctl enable --now named
[root@dns_client ~]#vim /etc/netplan/01-netcfg.yaml
	addresses: [10.0.0.7,10.0.0.8]
[root@dns_client ~]#netplan apply

[root@dns_client ~]#dig www.magedu.org @10.0.0.7
[root@dns_client netplan]#dig www.magedu.org @10.0.0.8

; <<>> DiG 9.11.3-1ubuntu1.15-Ubuntu <<>> www.magedu.org @10.0.0.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37675
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: 08b9b3e1b24d5273923ae156616400775a1603e1ada418a8 (good)
;; QUESTION SECTION:
;www.magedu.org.			IN	A

;; ANSWER SECTION:
www.magedu.org.		86400	IN	A	10.0.0.17

;; AUTHORITY SECTION:
magedu.org.		86400	IN	NS	slave.magedu.org.
magedu.org.		86400	IN	NS	master.magedu.org.

;; ADDITIONAL SECTION:
master.magedu.org.	86400	IN	A	10.0.0.7
slave.magedu.org.	86400	IN	A	10.0.0.8

;; Query time: 0 msec
;; SERVER: 10.0.0.8#53(10.0.0.8)
;; WHEN: Mon Oct 11 17:14:26 HKT 2021
;; MSG SIZE  rcvd: 160

如果将主、丛节点都关闭,客户端还可以curl到,那就说明ubuntu有缓存

三、反向解析 PRT

#在10.0.0.8上实现
[root@centos8 ~]# cat /etc/named.conf
//  listen-on port 53 { 127.0.0.1; };
//  allow-query     { localhost; };

[root@centos8 ~]# vim /etc/named.rfc1912.zones 
    zone "0.0.10.in-addr.arpa" {
        type master;
        file "10.0.0.zone";                                       
    };

[root@centos8 ~]# cp -p /var/named/named.loopback /var/named/10.0.0.zone
[root@centos8 ~]# ll /var/named
total 24
-rw-r----- 1 root  named  168 Aug 25 01:31 10.0.0.zone
drwxrwx--- 2 named named   23 Jan  6 19:38 data
drwxrwx--- 2 named named   60 Jan  6 19:39 dynamic
-rw-r----- 1 root  named 2253 Aug 25 01:31 named.ca
-rw-r----- 1 root  named  152 Aug 25 01:31 named.empty
-rw-r----- 1 root  named  152 Aug 25 01:31 named.localhost
-rw-r----- 1 root  named  168 Aug 25 01:31 named.loopback
-rw-r----- 1 root  named  200 Jan  6 19:36 neteagles.vip.zone
drwxrwx--- 2 named named    6 Aug 25 01:31 slaves


[root@centos8 ~]# vim /var/named/10.0.0.zone 
$TTL 1D
@   IN SOA  ns1 admin.neteagles.vip. (
                    0   ; serial
                    1D  ; refresh
                    1H  ; retry
                    1W  ; expire
                    3H )    ; minimum
            NS  ns1.neteagles.vip.
100         PTR www.neteagles.vip.
200         PTR app.zhang.vip. 
:wq

[root@centos8 ~]# rndc reload
server reload successful

[root@centos6 ~]# dig -t ptr 100.0.0.10.in-addr.arpa @10.0.0.8

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.68.rc1.el6_10.8 <<>> -t ptr 100.0.0.10.in-addr.arpa @10.0.0.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58766
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;100.0.0.10.in-addr.arpa.	IN	PTR

;; ANSWER SECTION:
100.0.0.10.in-addr.arpa. 86400	IN	PTR	www.neteagles.vip.

;; AUTHORITY SECTION:
0.0.10.in-addr.arpa.	86400	IN	NS	ns1.neteagles.vip.

;; Query time: 1 msec
;; SERVER: 10.0.0.8#53(10.0.0.8)
;; WHEN: Wed Jan  6 19:56:38 2021
;; MSG SIZE  rcvd: 102


[root@centos6 ~]# dig -x 10.0.0.100 @10.0.0.8

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.68.rc1.el6_10.8 <<>> -x 10.0.0.100 @10.0.0.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35405
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;100.0.0.10.in-addr.arpa.	IN	PTR

;; ANSWER SECTION:
100.0.0.10.in-addr.arpa. 86400	IN	PTR	www.neteagles.vip.

;; AUTHORITY SECTION:
0.0.10.in-addr.arpa.	86400	IN	NS	ns1.neteagles.vip.

;; Query time: 0 msec
;; SERVER: 10.0.0.8#53(10.0.0.8)
;; WHEN: Wed Jan  6 19:57:12 2021
;; MSG SIZE  rcvd: 102


[root@centos6 ~]# host 10.0.0.100
100.0.0.10.in-addr.arpa domain name pointer www.neteagles.vip.
[root@centos6 ~]# nslookup 10.0.0.200
Server:		10.0.0.8
Address:	10.0.0.8#53

200.0.0.10.in-addr.arpa	name = app.zhang.vip.

[root@centos6 ~]# nslookup 
> 10.0.0.100
Server:		10.0.0.8
Address:	10.0.0.8#53

100.0.0.10.in-addr.arpa	name = www.neteagles.vip.
> exit

c7

yum -y intall bind-utils
gid -t ptr 10.0.0.100.in-addr.arpa. @10.0.0.18

四、在父域DNS服务器上实现magedu.org域的主DNS服务

父域:www.magedu.org

子域:www.shanghai.magedu.org

c7:master

[root@dns_master ~]#hostnamectl set-hostname dns_master.magedu.org
[root@dns_master ~]#yum -y install bind bind-utils;systemctl enable --now  named
[root@dns_master ~]#vim /etc/named.conf
    options {
		//  listen-on port 53 { 127.0.0.1; }; 
     	//  allow-query  { any; };
     		allow-transfer { 10.0.0.8;};
         	dnssec-enable no;
   			dnssec-validation no;
[root@dns_master ~]#vim /etc/named.rfc1912.zones
	zone "magedu.org" IN {
		type master;
		file "magedu.org.zone";
	};
[root@dns_master ~]#named-checkconf

[root@dns_master ~]#cp -p /var/named/named.localhost /var/named/magedu.org.zone
[root@dns_master ~]#vim /var/named/magedu.org.zone
    $TTL 1D
    @       IN       SOA      master   admin.magedu.org. (
                       2;                                       
                       1H;
                       10M;
                       3D;
                       12H
    );
                      NS      master
                      NS      slave
    shanghai          NS      shanghains
    master            A       10.0.0.7
    slave             A       10.0.0.8
    shanghains        A       10.0.0.18
    www               A       10.0.0.17
#如果没有-p,需要加文件权限,执行一下命令
#chmod 640 /var/named/magedu.org.zone
#chown .named /var/named/magedu.org.zone

[root@dns_master ~]#named-checkzone magedu.org /var/named/magedu.org.zone 
    zone magedu.org/IN: loaded serial 1
    OK
[root@dns_master network-scripts]#rndc reload
	server reload successful

systemctl start named          #第一次启动服务
rndc reload                    #不是第一次启动服务

c18

[root@dns_shanghai ~]#hostnamectl set-hostname dns_shanghai.mageduorg
[root@dns_shanghai ~]#yum -y install bind bind-utils;systemctl enable --now named
[root@dns_shanghai ~]#vim /etc/named.conf
    options {
        //listen-on port 53 { localhost; };
       // allow-query  { any;};
        allow-transfer { none;};

[root@dns_shanghai ~]#vim /etc/named.rfc1912.zones
	zone "shanghai.magedu.org" IN {
		type master;
		file "shanghai.magedu.org.zone";
	};
[root@dns_shanghai ~]#named-checkconf
[root@dns_shanghai ~]#vim /var/named/shanghai.magedu.org.zone
	$TTL 1D
	@		IN     SOA    master  admin.magedu.org. (
						1
						1H
						10M
						3D
						12H )
				    NS     master
	master          A      10.0.0.28
	www				A      10.0.0.7
[root@dns_shanghai ~]#named-checkzone shanghai.magedu.org /varhanghai.magedu.org.zone 
    zone shanghai.magedu.org/IN: loaded serial 1
    OK

[root@dns_master network-scripts]#rndc reload
	server reload successful

c27 web-magedu

[root@dns_shanghai_web ~]#hostnamectl set-hostname dns_shanghai_web.magedu.org
[root@dns_shanghai_web ~]#yum -y install httpd
[root@dns_shanghai_web ~]#systemctl enable --now httpd
[root@dns_shanghai_web ~]#echo www.shanghai.magedu.org >> /var/www/html/index.html
[root@dns_shanghai_web ~]#systemctl start httpd

c37 web-magedu

ubuntu 101

dig www.shanghai.magedu.org

五、实现DNS forward(缓存)服务器

c7:master

[root@dns_master ~]#hostnamectl set-hostname dns_master.magedu.org
[root@dns_master ~]#yum -y install bind bind-utils;systemctl enable --now  named
[root@dns_master ~]#vim /etc/named.conf
    options {
		//  listen-on port 53 { 127.0.0.1; }; 
     	//  allow-query  { any;};
     		allow-transfer { 10.0.0.8;};
         	dnssec-enable no;
   			dnssec-validation no;
[root@dns_master ~]#vim /etc/named.rfc1912.zones
	zone "magedu.org" IN {
		type master;
		file "magedu.org.zone";
	};
[root@dns_master ~]#named-checkconf

[root@dns_master ~]#cp -p /var/named/named.localhost /var/named/magedu.org.zone
[root@dns_master ~]#vim /var/named/magedu.org.zone
    $TTL 1D
    @       IN       SOA      master   admin.magedu.org. (
                       2;                                        
                       1H;
                       10M;
                       3D;
                       12H
    );
                      NS      master
                      NS      slave
    shanghai          NS      shanghains
    master            A       10.0.0.7
    slave             A       10.0.0.8
    shanghains        A       10.0.0.18
    www               A       10.0.0.17
#如果没有-p,需要加文件权限,执行一下命令
#chmod 640 /var/named/magedu.org.zone
#chown .named /var/named/magedu.org.zone

[root@dns_master ~]#named-checkzone magedu.org /var/named/magedu.org.zone 
    zone magedu.org/IN: loaded serial 1
    OK
[root@dns_master network-scripts]#rndc reload
	server reload successful

systemctl start named          #第一次启动服务
rndc reload                    #不是第一次启动服务

c28

[root@dns_forword ~]#hostnamectl set-hostname dns_forword.magedu.org
[root@dns_forword ~]#yum -y install bind bind-utils;systemctl enable -now bind
[root@dns_forword ~]#vim /etc/named.conf
    options {
     //   listen-on port 53 { localhost; };
     //   allow-query  { any;};
		forwark first;
		forwarders { 10.0.0.7;};
    	dnssec-enable no;
   		dnssec-validation no;		
[root@dns_forword ~]#rndc reload

c27 web

[root@dns_shanghai_web ~]#hostnamectl set-hostname dns_forward.magedu.org
[root@dns_forward ~]#yum -y install httpd
[root@dns_forward ~]#systemctl enable --now httpd
[root@dns_forward ~]#echo www.forward.magedu.org >> /var/www/html/index.html
[root@dns_forward ~]#systemctl start httpd

ubuntu18

dig 

六、利用view实现智能DNS

DNS服务器的网卡配置

#在10.0.0.8上实现
[root@centos8 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:3f:19:17 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.8/24 brd 10.0.0.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe3f:1917/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:3f:19:21 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.8/24 brd 192.168.1.255 scope global noprefixroute eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe3f:1921/64 scope link 
       valid_lft forever preferred_lft forever

主DNS服务端配置文件实现view

#在10.0.0.8上实现
[root@centos8 ~]# dnf -y install bind
[root@centos8 ~]# vim /etc/named.conf 
#在文件最前面加下面行
acl beijingnet {                 
    10.0.0.0/24;
};
acl shanghainet {
    192.168.1.0/24;
};
acl othernet {
    any;
};

#注释掉下面两行
//  listen-on port 53 { 127.0.0.1; };
//  allow-query     { localhost; }; 

#创建view
view beijingview {
    match-clients {beijingnet;};
    include "/etc/named.rfc1912.zones.bj";
};
view shanghaiview {
    match-clients {shanghainet;};
    include "/etc/named.rfc1912.zones.sh";
};
view otherview {
    match-clients {othernet;};
    include "/etc/named.rfc1912.zones.other";
};
:wq

实现区域配置文件

#在10.0.0.8上实现
[root@centos8 ~]# vim /etc/named.rfc1912.zones.bj
zone "." IN {
    type hint;
    file "named.ca";
};

zone "neteagles.vip" {
    type master;
    file "neteagles.vip.zone.bj";                                                                           
}; 
:wq

[root@centos8 ~]# vim  /etc/named.rfc1912.zones.sh
zone "." IN {
    type hint;
    file "named.ca";
};

zone "neteagles.vip" {
    type master;
    file "neteagles.vip.zone.sh";                                                                                             
};
:wq

[root@centos8 ~]# vim /etc/named.rfc1912.zones.other
zone "." IN {
    type hint;
    file "named.ca";
};

zone "neteagles.vip" {
    type master;
    file "neteagles.vip.zone.other";                                                                                          
};
:wq

[root@centos8 ~]# ll /etc/named.rfc1912.zones /etc/named.rfc1912.zones.bj  /etc/named.rfc1912.zones.sh /etc/named.rfc1912.zones.other
-rw-r----- 1 root named 1029 Aug 25 01:31 /etc/named.rfc1912.zones
-rw-r--r-- 1 root root   132 Jan  7 14:33 /etc/named.rfc1912.zones.bj
-rw-r--r-- 1 root root   135 Jan  7 14:36 /etc/named.rfc1912.zones.other
-rw-r--r-- 1 root root   132 Jan  7 14:35 /etc/named.rfc1912.zones.sh
[root@centos8 ~]# chmod 640 /etc/named.rfc1912.zones.bj;chgrp named /etc/named.rfc1912.zones.bj
[root@centos8 ~]# chmod 640 /etc/named.rfc1912.zones.sh;chgrp named /etc/named.rfc1912.zones.sh
[root@centos8 ~]# chmod 640 /etc/named.rfc1912.zones.other;chgrp named /etc/named.rfc1912.zones.other
[root@centos8 ~]# ll /etc/named.rfc1912.zones /etc/named.rfc1912.zones.bj  /etc/named.rfc1912.zones.sh /etc/named.rfc1912.zones.other
-rw-r----- 1 root named 1029 Aug 25 01:31 /etc/named.rfc1912.zones
-rw-r----- 1 root named  132 Jan  7 14:33 /etc/named.rfc1912.zones.bj
-rw-r----- 1 root named  135 Jan  7 14:36 /etc/named.rfc1912.zones.other
-rw-r----- 1 root named  132 Jan  7 14:35 /etc/named.rfc1912.zones.sh

创建区域数据库文件

#在10.0.0.8上实现
[root@centos8 ~]# cp -p /var/named/named.localhost /var/named/neteagles.vip.zone.bj
[root@centos8 ~]# vim /var/named/neteagles.vip.zone.bj
$TTL 1D
@   IN SOA  master admin.neteagles.vip. (
                    1   ; serial                                                                                              
                    1D  ; refresh
                    1H  ; retry
                    1W  ; expire
                    3H )    ; minimum
            NS      master
master      A       10.0.0.8
websrv      A       10.0.0.7
www         CNAME   websrv
:wq

[root@centos8 ~]# cp -p /var/named/neteagles.vip.zone.bj /var/named/neteagles.vip.zone.sh
[root@centos8 ~]# vim /var/named/neteagles.vip.zone.sh
$TTL 1D
@   IN SOA  master admin.neteagles.vip. (
                    1   ; serial
                    1D  ; refresh
                    1H  ; retry
                    1W  ; expire
                    3H )    ; minimum
            NS      master
master      A       10.0.0.8
websrv      A       192.168.1.7                      
www         CNAME   websrv
:wq

[root@centos8 ~]# cp -p /var/named/neteagles.vip.zone.bj /var/named/neteagles.vip.zone.other
[root@centos8 ~]# vim /var/named/neteagles.vip.zone.other
$TTL 1D
@   IN SOA  master admin.neteagles.vip. (
                    1   ; serial
                    1D  ; refresh
                    1H  ; retry
                    1W  ; expire
                    3H )    ; minimum
            NS      master
master      A       10.0.0.8
websrv      A       127.0.0.1                
www         CNAME   websrv
:wq

[root@centos8 ~]# ll /var/named/neteagles.vip.zone.*
-rw-r----- 1 root named 240 Jan  7 14:45 /var/named/neteagles.vip.zone.bj
-rw-r----- 1 root named 241 Jan  7 14:48 /var/named/neteagles.vip.zone.other
-rw-r----- 1 root named 244 Jan  7 14:47 /var/named/neteagles.vip.zone.sh

[root@centos8 ~]# systemctl enable --now named 
#启动服务报错

[root@centos8 ~]# cat /var/log/messages
Jan  7 14:50:21 centos8 bash[10314]: /etc/named.conf:73: when using 'view' statements, all zones must be in views	#提示/etc/named.conf的73出错

[root@centos8 ~]# vim /etc/named.conf 
#注释掉下面内容
#zone "." IN {
 #   type hint;
 #   file "named.ca";
 #};
 
 #注释掉这行
 #include "/etc/named.rfc1912.zones";  
 :wq
 

[root@centos8 ~]# systemctl start named

实现位于不同区域的三个WEB服务器

#分别在三台主机上安装http服务
#在web服务器1:192.168.1.8/24上实现
[root@centos8 ~]# dnf -y install httpd;echo www.neteagles.vip in other> /var/www/html/index.html;systemctl enable --now httpd
[root@centos8 ~]# curl 192.168.1.8
www.neteagles.vip in other

#在web服务器2:10.0.0.7/24上实现
[root@centos7 ~]# yum -y install httpd;echo www.neteagles.vip in beijing> /var/www/html/index.html;systemctl enable --now httpd
[root@centos7 ~]# curl 10.0.0.7
www.neteagles.vip in beijing

#在web服务器3:192.168.1.7/24上实现
[root@centos7-2 ~]# yum -y install httpd;echo www.neteagles.vip in shanghai> /var/www/html/index.html;systemctl enable --now httpd
[root@centos7-2 ~]# curl 192.168.1.7
www.neteagles.vip in shanghai

客户端测试

#分别在三台主机上访问
#在DNS客户端1:10.0.0.6/24上实现,确保DNS指向10.0.0.8
[root@centos6 ~]# cat /etc/resolv.conf
; generated by /sbin/dhclient-script
search localdomain neteagles.cn
nameserver 10.0.0.8
[root@centos6 ~]# curl www.neteagles.vip
www.neteagles.vip in beijing

#在DNS客户端1:192.168.1.6/24上实现,确保DNS指向192.168.1.8
[root@centos6 network-scripts]# cat /etc/resolv.conf
; generated by /sbin/dhclient-script
search localdomain neteagles.cn
nameserver 192.168.1.8
[root@centos6 ~]# curl www.neteagles.vip
www.neteagles.vip in shanghai

#在DNS客户端3:10.0.0.8/24上实现,确保DNS指向127.0.0.1
[root@centos8 ~]# cat /etc/resolv.conf 
# Generated by NetworkManager
nameserver 127.0.0.1
[root@centos8 ~]# curl www.neteagles.vip
www.neteagles.vip in other

七、实战案例:综合案例,实现Internet的DNS服务架构

实现web服务

#centos67
[root@dns_web ~]#hostnamectl set-hostname dns_web.magedu.org
[root@dns_web ~]#yum -y install httpd
[root@dns_web ~]#systemctl enable --now httpd
[root@dns_web ~]#echo www.magedu.org > /var/www/html/index.html
[root@dns_web ~]#systemctl start httpd
[root@dns_web ~]#curl 10.0.0.67
	www.magedu.org

实现magedu.org域的主DNS服务器

#centos47
[root@dns_master ~]#hostnamectl set-hostname dns_master.magedu.org
[root@dns_master ~]#yum -y install bind bind-utils;systemctl enable --now named
[root@dns_master ~]#vim /etc/named.conf
    options {
		//  listen-on port 53 { 127.0.0.1; }; 
     	//  allow-query  { any; };
     		allow-transfer { 10.0.0.57;};
         	dnssec-enable no;
   			dnssec-validation no;
[root@dns_master ~]#vim /etc/named.rfc1912.zones
	zone "magedu.org" IN {
		type master;
		file "magedu.org.zone";
	};
[root@dns_master ~]#named-checkconf

[root@dns_master ~]#cp -p /var/named/named.localhost /var/named/magedu.org.zone
[root@dns_master ~]#vim /var/named/magedu.org.zone
    $TTL 1D
    @       IN       SOA      master   admin.magedu.org. (
                       1;
                       1H;
                       10M;
                       3D;
                       12H
    );
                      NS      master
                      NS      slave
    master            A       10.0.0.47
    slave             A       10.0.0.57
    www               A       10.0.0.67  
[root@dns_master ~]#named-checkzone magedu.org /var/named/magedu.org.zone 
    zone magedu.org/IN: loaded serial 1
    OK

#如果没有-p,需要加文件权限,执行一下命令
#chmod 640 /var/named/magedu.org.zone
#chown .named /var/named/magedu.org.zone
systemctl start named          #第一次启动服务
rndc reload                    #不是第一次启动服务

实现magedu.org域的从DNS服务器配置

#centos57
[root@dns_slave ~]#hostnamectl set-hostname dns_slave.magedu.org
[root@dns_slave ~]#yum -y install bind bind-utils;systemctl enable --now  named
[root@dns_slave ~]#vim /etc/named.conf
    options {
    //  listen-on port 53 { localhost; };
    //  allow-query  { any;};
        allow-transfer { none;};
[root@dns_slave ~]#named-checkconf
[root@dns_slave ~]#vim /etc/named.rfc1912.zones
    zone "magedu.org" IN {
        type slave;
        masters { 10.0.0.47;};     
        file "slaves/magedu.org.slave";
    };
[root@dns_slave ~]#systemctl srart named
	Unknown operation srart. 
#文件自动从主节点传过来
[root@dns_slave ~]#ls /var/named/slaves/magedu.org.slave 
/var/named/slaves/magedu.org.slave

实现org域的主DNS服务器

#centos37
[root@dns_org_master ~]#hostnamectl set-hostname dns_org_master.magedu.org
[root@dns_org_master ~]#yum -y install bind bind-utils;systemctl enable --now named
[root@dns_org_master ~]#vim /etc/named.conf
    options {
		//  listen-on port 53 { 127.0.0.1; }; 
     	//  allow-query  { any; };
         	dnssec-enable no;
   			dnssec-validation no;
[root@dns_org_master ~]#vim /etc/named.rfc1912.zones
	zone "org" IN {
		type master;
		file "org.zone";
	};
[root@dns_org_master ~]#named-checkconf

[root@dns_org_master ~]#cp -p /var/named/named.localhost /var/named/org.zone
[root@dns_master ~]#vim /var/named/org.zone
    $TTL 1D
    @       IN       SOA      master   admin.magedu.org. (
                       1;
                       1H;
                       10M;
                       3D;
                       12H
    );
                      NS      master
    org               Ns      orgns
    master            A       10.0.0.27
    orgns             A       10.0.0.37 
[root@dns_org_master ~]#named-checkzone org /var/named/magedu.org.zone 
    zone org/IN: loaded serial 1
    OK

#如果没有-p,需要加文件权限,执行一下命令
#chmod 640 /var/named/magedu.org.zone
#chown .named /var/named/magedu.org.zone
systemctl start named          #第一次启动服务
rndc reload                    #不是第一次启动服务

实现根域的主DNS服务器

#centos27
[root@dns_root_master ~]#hostnamectl set-hostname dns_root_master.magedu.org

[root@dns_root_master ~]#yum -y install bind bind-utils;systemctl enable --now named

[root@dns_root_master ~]#vim /etc/named.conf
    options {
		//  listen-on port 53 { 127.0.0.1; }; 
     	//  allow-query  { any; };
         	dnssec-enable no;
   			dnssec-validation no;
   			
[root@dns_root_master ~]#vim /etc/named.rfc1912.zones
	zone "." IN {
		type master;
		file "root.zone";
	};
[root@dns_root_master ~]#named-checkconf

[root@dns_root_master ~]#cp -p /var/named/named.localhost /var/named/root.zone

[root@dns_master ~]#vim /var/named/root.zone
    $TTL 1D
    @       IN       SOA      master   admin.magedu.org. (
                       1;
                       1H;
                       10M;
                       3D;
                       12H
    );
                      NS      master
    magedu            Ns      magedus1
    magedu            Ns      magedus2
    master            A       10.0.0.37
    magedus1          A       10.0.0.47
    magedus2          A       10.0.0.57  
[root@dns_root_master ~]#named-checkzone root /var/named/root.zone
    zone root/IN: loaded serial 1
    OK

#如果没有-p,需要加文件权限,执行一下命令
#chmod 640 /var/named/magedu.org.zone
#chown .named /var/named/magedu.org.zone
systemctl start named          #第一次启动服务
rndc reload                    #不是第一次启动服务

实现转发目标的DNS服务器

#centos17
[root@dns_forword ~]#hostnamectl set-hostname dns_forword.magedu.org
[root@dns_forword ~]#yum -y install bind bind-utils;systemctl enable -now bind
[root@dns_forword ~]#vim /etc/named.conf
    options {
     //   listen-on port 53 { localhost; };
     //   allow-query  { any;};
    	dnssec-enable no;
   		dnssec-validation no;
[root@dns_forword ~]#vim /var/named/named.ca
	.      518400      IN     NS    a.root-servers.net.                                         
a.root-servers.net.   3600000    IN   A   10.0.0.27
[root@dns_forword ~]#rndc reload

实现本地只缓存DNS服务器

#centos7
[root@dns_local_forword ~]#hostnamectl set-hostname dns_local_forword.magedu.org
[root@dns_local_forword ~]#yum -y install bind bind-utils;systemctl enable -now bind
[root@dns_local_forword ~]#vim /etc/named.conf
    options {
     //   listen-on port 53 { localhost; };
     //   allow-query  { any;};
     	forward only;
        forwarders {10.0.0.17;};
    	dnssec-enable no;
   		dnssec-validation no;
[root@dns_local_forword ~]#rndc reload

客户端

#ubuntu100
[root@dns_client ~]#hostnamectl set-hostname dns_client.magedu.org
[root@dns_client ~]#vim /etc/netplan/01-netcfg.yaml
	addresses: [10.0.0.7]
[root@dns_client ~]#netplan apply
[root@dns_client ~]#cat /etc/resolv.conf
	nameserver 10.0.0.7
[root@dns_client ~]#curl www.magedu.org
	www.magedu.org
[root@dns_client ~]# dig www.baidu.org

posted @ 2021-10-12 16:56  IT运维新秀  阅读(89)  评论(0)    收藏  举报