CentOS8 - Bind DNS - Internal Zone (内部区域)、IPv6、External Zone(外部区域)、CNAME 和 Slave

一、    服务器配置IPV4&IPV6地址

1)   IPV4配置保持不变

2)   配置IPv6地址

1.   检查是否已开启IPv6服务

a 连接服务器

b 运行命令ip addr | grep inet6或者ifconfig| grep inet6

若返回inet6相关内容,表示实例已成功开启IPv6服务。

若未返回inet6相关内容,表示实例未开启IPv6服务。

2.  持久开启IPv6

a 运行vim /etc/modprobe.d/disable_ipv6.conf,将options ipv6 disable=1修改为options ipv6disable=0 后保存退出。

b 运行vim /etc/sysconfig/network,将NETWORKING_IPV6=no修改为NETWORKING_IPV6=yes后保存退出。

c 运行vim /etc/sysctl.conf做如下修改:

#net.ipv6.conf.all.disable_ipv6 = 1

#net.ipv6.conf.default.disable_ipv6 = 1

#net.ipv6.conf.lo.disable_ipv6 = 1

 

net.ipv6.conf.all.disable_ipv6 = 0

net.ipv6.conf.default.disable_ipv6 = 0

net.ipv6.conf.lo.disable_ipv6 = 0

修改完成后,保存并退出。

d 运行sysctl -p使配置生效。

3.  配置IPv6地址

Red Hat 7 /Redhat8的操作步骤如下:

a 远程SPV连接服务器

b 运行vi /etc/sysconfig/network-scripts/ifcfg-ens192打开网卡配置文件,ens192为网卡标识符

单IPv6地址:

IPV6INIT=yes

IPV6ADDR=<IPv6地址>/<子网前缀长度>

IPV6_DEFAULTGW=<IPv6网关>

 

Dns01:

IPV6ADDR=fd15:4ba5:5a2b:1008::1/64

DNS02:

IPV6ADDR=fd15:4ba5:5a2b:1008::2/64

 

 

c重启网络服务:

 

DNS1配置:

[root@dns1network-scripts]#  nmcli connection show

NAME    UUID                                  TYPE      DEVICE

ens33   c96bc909-188e-ec64-3a96-6a90982b08ad  ethernet ens33 

virbr0  26b2cf8d-acf7-47d8-818b-f6d104596aa3  bridge   virbr0

 

nmcli connection modify ens33ipv6.dns "fd15:4ba5:5a2b:1008::01 fd15:4ba5:5a2b:1008::02"

nmcli connection modify ens33ipv4.dns "192.168.139.128 192.168.139.129"

nmcli connection downens33;nmcli connection up ens33

 

DNS2配置:

[root@dns02 ~]# nmcliconnection show

NAME          UUID                                  TYPE      DEVICE

System ens33  c96bc909-188e-ec64-3a96-6a90982b08ad  ethernet ens33

virbr0       440a5ef8-bb2c-4a4a-a373-f84e86223d21  bridge    virbr0

nmcli connection modify ens33ipv6.dns "fd15:4ba5:5a2b:1008::01 fd15:4ba5:5a2b:1008::02"

nmcli connection modifySystem\ ens33  ipv4.dns "192.168.139.128 192.168.139.129"

nmcli device show ens33

nmcli connection down 'Systemens33';nmcli connection up 'System ens33'

 

d 测试网络连通性

步骤1登录已完成IPv6地址配置的服务器。

步骤2执行以下命令验证网络连通性。正常如下有IPv6地址的返回。

ping -6 fd15:4ba5:5a2b:1008::01

ping -6 fd15:4ba5:5a2b:1008::02

ping -4 192.168.139.128

ping -4 192.168.139.129

 

4.  准备一台IPv6客户端发起请求测试

a 创建一台IPv6客户端,保证与改造的服务器可以通过IPv6地址内部互相通信

b 检查IPv6地址

步骤1 使用Windows远程桌面客户端。

步骤2 唤起cmd命令,输入ipconfig,检查确认IPv6地址已正确配置。

 

ping -6 fd15:4ba5:5a2b:1008::01

ping -6 fd15:4ba5:5a2b:1008::02

ping -4 192.168.139.128

ping -4 192.168.139.129

二、     IPV4 DNS BIND服务配置

1)   确定DNS拓扑(Toplogy)架构

规划DNS01,DNS02为:

dns1:  192.168.139.128   fd15:4ba5:5a2b:1008::01

dns2:  192.168.139.129   fd15:4ba5:5a2b:1008::02

2)   Internal NetWork-配置IPV4下的DNS

1.   登录服务器,查看IPv4&IPv6是否正常配置

#ip addr

#nmcli device show ens33

 

 

2.   安装bind

# dnf install bind bind-utils

3.   备份原配置文件

#cp /etc/named.conf /etc/named.conf.orignal

 

4.   编辑配置文件

#vim /etc/named.conf

5.   添加反向和正向解析

查看vim /etc/sysconfig/named

编写解析文件:

#vim /var/named/dapengos.com.lan

 

#vim /var/named/139.168.192.db

 

6.  启动服务

#systemctl enable --now named

#systemctl status named

3)   防火墙配置

#systemctl status firewalld

#firewall-cmd --add-service=dns –permanent

#firewall-cmd –reload

#firewall-cmd --list-all

[root@dns1 named]# firewall-cmd --add-service=dns --permanent

Warning: ALREADY_ENABLED: dns

Success

[root@dns1 named]# firewall-cmd --reload

success

[root@dns1 named]# firewall-cmd --list-all

public (active)

  target: default

  icmp-block-inversion:no

  interfaces: ens33

  sources:

  services: cockpitdhcpv6-client dns ssh

  ports:

  protocols:

  masquerade: no

  forward-ports:

  source-ports:

  icmp-blocks:

  rich rules:

#systemctl status firewalld

4)   域名解析测试验证

#dig dapengos.com

# dig -x4 192.168.139.128

#host host dns1.dapengos.com

# dig -x4 192.168.139.128^C

# host dns1.dapengos.com

dns1.dapengos.com has address 192.168.139.128

# host www1.dapengos.com

www1.dapengos.com has address 192.168.139.130

# host mail1.dapengos.com

mail1.dapengos.com has address 192.168.139.130

# host 192.168.139.130

130.139.168.192.in-addr.arpa domain name pointermail1.dapengos.com.

130.139.168.192.in-addr.arpa domain name pointerwww1.dapengos.com.

# host 192.168.139.128

128.139.168.192.in-addr.arpa domain name pointerdns1.dapengos.com.

#nslookup

三、     IPV6DNS BIND服务配置

1)   添加IPV6 DNS配置

#vim /etc/named.conf

 

2)  添加IPV6DNS域名配置

#vim/var/named/dapengos.com.lan

 

3)   添加IPV6 DNS解析配置

#添加8.0.0.1.b.2.a.5.5.a.b.4.5.1.d.f.ip6.arpa配置

#vim /etc/named.conf

 

#编辑新的配置

#vim /var/named/8.0.0.1.b.2.a.5.5.a.b.4.5.1.d.f.db

 

 

 

 

4)   重启named服务

#systemctl restart named

#systemctl status named

 

5)   测试配置IPV6的DNS服务

#dig dns1.dapengos.com

#dig -6 dns1.dapengos.com

 

#dig-x fd15:4ba5:5a2b:1008::01

#host -6 dns1.dapengos.com

#host -4 dns1.dapengos.com

[root@dns1 named]# host -6 dns1.dapengos.com

dns1.dapengos.com has address 192.168.139.128

dns1.dapengos.com has IPv6 address fd15:4ba5:5a2b:1008::1

[root@dns1 named]# host -4 dns1.dapengos.com

dns1.dapengos.com has address 192.168.139.128

dns1.dapengos.com has IPv6 address fd15:4ba5:5a2b:1008::1

[root@dns1 named]#

 

#nslookup

[root@dns1 named]# nslookup

> dns1.dapengos.com

Server:     192.168.139.128

Address:    192.168.139.128#53

 

Name:   dns1.dapengos.com

Address: 192.168.139.128

Name:   dns1.dapengos.com

Address: fd15:4ba5:5a2b:1008::1

 

 

6)   PC客户端测试

 

 

 

 

 

 

 

 

1.   客户端配置检查

 

a 创建一台IPv6客户端,保证与改造的服务器可以通过IPv6地址内部互相通信

b 检查IPv6地址

步骤1 使用Windows远程桌面客户端。

步骤2 唤起cmd命令,输入ipconfig,检查确认IPv6地址已正确配置。

步骤3 在浏览器输入http://[IPv6地址],可正常访问IPv6的Web服务。

#ping www.baidu.com

#ping dns1.dapengos.com

 

2.   添加DNS解析

a DNS发布域名解析AAAA记录,开通IPv6公网

b 互联网上验证DNS解析

>nslookup

>server 8.8.8.8

>dns1.dapengos.com

 

3.   互联网访问验证

本地终端已接入IPv6网络,PC、手机都可以,目前国内大部分省份Android手机

已经接入IPv6网络,可以通过访问http://test-ipv6.com来判断本地终端是否也接

入IPv6网络。

 

访问地址:http://[IPv6地址]

域名访问:dns1.dapengos.com

 

四、     Canonical name cname alias(命名规范)

1)   cname配置

#vim /var/named/dapengos.com.lan

#host dns.dapengos.com

五、     External Network View Statement (外部区域视图声明)

1)   view配置设置

#vim /etc/named.conf

view "internal" {

        match-clients {

        localhost;

       internal-network;

};

 

 

 

 

 

 

 

 

 

 

2)   重启named服务

 

 

六、     Slave DNS server Secondary DNS server

1)   操作另外一台服务器192.168.139.129安装bind

#dnf install bind bind-utils

2)  服务器DNS设置

#nmcli connection modify ens33 ipv4.dns“192.168.139.128 192.168.139.129”

#nmcli connection modify ens33 ipv6.dns“fd15:4ba5:5a2b:1008::1 fd15:4ba5:5a2b:1008::2 ”

#nmcli connection down ens33;nmcli connection up ens33

 

3)   修改192.168.139.128的named.conf

1.   修改allow-transfer配置

allow-transfer  {localhost; 192.168.139.129; fd15:4ba5:5a2b:1008::2 };

2.   增加zone下的also-notify

also-notify  {192.168.139.129; fd15:4ba5:5a2b:1008::2 };

4)   所有配置文件添加dns1与dns2解析

1.   dns1配置上添加dns2解析

  

 

2.   dns2配置上添加dns1,dns2的解析

#vim /etc/named.conf

 

 

 

 

 

 

 

 

 

 

 

 

 

3.   测试DNS配置

#host dns1.dapengos.com

5)   防火墙配置

#systemctl status firewalld

#firewall-cmd --add-service=dns --permanent

#firewall-cmd --reload

#firewall-cmd --list-all

 

 

6)   关机验证其中一台

七、     DNS BIND配置帮助文档

官方文档:https://www.isc.org/

帮助文档:https://downloads.isc.org/isc/bind9/9.17.3/doc/arm/html/reference.html#configuration-file-elements