在 CentOS 7 上配置双栈 DNS 服务器
编辑两个 DNS 服务器上的 BIND 配置以添加 IPv6 支持。
[root@dns-01 ~]# vi /etc/named.conf
确保以下指令存在,以便 BIND 可以侦听 IPv6 地址。
listen-on-v6 port 53 { ::1; };
在以下指令中添加 IPv6 网络地址以允许网络客户端查询我们的 DNS 服务器。
allow-query { localhost;192.168.1.0/24;fd15:4ba5:7b3b:2007::/64;};
重新启动 BIND 服务。
[root@dns-01 ~]# systemctl restart named
在 dns-02.onitroad.com 上重复上述步骤。
连接 dns-01.onitroad.com 并编辑 /etc/named.conf.local 文件。
[root@dns-01 ~]# vi /etc/named.conf.local
在 allow-transfer 和 also-notify 指令中添加 dns-02.onitroad.com 的 IPv6 地址,以通过 IPv6 网络启用区域传输到辅助 DNS 服务器。
zone "onitroad.com" { type master; file "/var/named/onitroad.com"; allow-transfer {192.168.1.102;fd15:4ba5:7b3b:2007::2; }; also-notify {192.168.1.102;fd15:4ba5:7b3b:2007::2; }; }; zone "116.168.192.in-addr.arpa" { type master; file "/var/named/116.168.192.in-addr.arpa"; allow-transfer {192.168.1.102;fd15:4ba5:7b3b:2007::2; }; also-notify {192.168.1.102;fd15:4ba5:7b3b:2007::2; }; };
编辑 onitroad.com 区域文件。
[root@dns-01 ~]# vi /var/named/onitroad.com
其中添加我们服务器的 AAAA 记录。
$TTL 1h @ IN SOA onitroad.com. root.onitroad.com. ( 2019080901 ; Serial YYYYMMDDnn 24h ; Refresh 2h ; Retry 28d ; Expire 2d ) ; Minimum TTL ;Name Servers @ IN NS dns-01 @ IN NS dns-02 ;Mail Servers @ IN MX 0 mail-01 ;Other Servers dns-01 IN A 192.168.1.101 dns-02 IN A 192.168.1.102 mail-01 IN A 192.168.1.6 web-01 IN A 192.168.1.3 ;Canonical Names www IN CNAME web-01 mail IN CNAME mail-01 ;AAAA Records dns-01 IN AAAA fd15:4ba5:7b3b:2007::1 dns-02 IN AAAA fd15:4ba5:7b3b:2007::2
使用 ping6 命令测试主机名到 IPv6 地址的解析。
[root@dns-01 ~]# ping6 dns-01.onitroad.com PING dns-01.onitroad.com(dns-01.onitroad.com (fd15:4ba5:7b3b:2007::1)) 56 data bytes 64 bytes from dns-01.onitroad.com (fd15:4ba5:7b3b:2007::1): icmp_seq=1 ttl=64 time=0.055 ms 64 bytes from dns-01.onitroad.com (fd15:4ba5:7b3b:2007::1): icmp_seq=2 ttl=64 time=0.185 ms 64 bytes from dns-01.onitroad.com (fd15:4ba5:7b3b:2007::1): icmp_seq=3 ttl=64 time=0.141 ms ^C --- dns-01.onitroad.com ping statistics -- 3 packets transmitted, 3 received, 0% packet loss, time 2002ms rtt min/avg/max/mdev = 0.055/0.127/0.185/0.053 ms [root@dns-01 ~]# ping6 dns-02.onitroad.com PING dns-02.onitroad.com(fd15:4ba5:7b3b:2007::2 (fd15:4ba5:7b3b:2007::2)) 56 data bytes 64 bytes from fd15:4ba5:7b3b:2007::2 (fd15:4ba5:7b3b:2007::2): icmp_seq=1 ttl=64 time=0.403 ms 64 bytes from fd15:4ba5:7b3b:2007::2 (fd15:4ba5:7b3b:2007::2): icmp_seq=2 ttl=64 time=0.768 ms 64 bytes from fd15:4ba5:7b3b:2007::2 (fd15:4ba5:7b3b:2007::2): icmp_seq=3 ttl=64 time=0.726 ms ^C --- dns-02.onitroad.com ping statistics -- 3 packets transmitted, 3 received, 0% packet loss, time 2004ms rtt min/avg/max/mdev = 0.403/0.632/0.768/0.164 ms
为 IPv6 网络添加反向区域。
[root@dns-01 ~]# vi /etc/named.conf.local
并其中添加我们的 IPv6 反向区域。
zone "8.0.0.1.b.2.a.5.5.a.b.4.5.1.d.f.ip6.arpa." { type master; file "/var/named/ipv6.reverse.db"; allow-transfer {192.168.1.102;fd15:4ba5:7b3b:2007::2; }; also-notify {192.168.1.102;fd15:4ba5:7b3b:2007::2; }; };
创建区域文件。
[root@dns-01 ~]# vi /var/named/ipv6.reverse.db
并其中添加 IPv6 反向区域设置。
$TTL 1h @ IN SOA 8.0.0.1.b.2.a.5.5.a.b.4.5.1.d.f.ip6.arpa. root.onitroad.com. ( 2019080901 ; Serial YYYYMMDDnn 24h ; Refresh 2h ; Retry 28d ; Expire 2d ) ; Minimum TTL ;Name Servers @ IN NS dns-01 @ IN NS dns-02 ;Other Servers dns-01 IN A 192.168.1.101 dns-02 IN A 192.168.1.102 dns-01 IN AAAA fd15:4ba5:7b3b:2007::1 dns-02 IN AAAA fd15:4ba5:7b3b:2007::2 ;PTR Records 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR dns-01 2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR dns-02
我们将反向 IPv6 地址分解为两个 64 位地址。
左边的 64 位代表计算机 IPv6 地址,而右边的 64 位代表我们的计算机网络。
如果我们对反转 IPv6 地址感到困惑,那么我们可以使用 IPv6 上的生成器到 PTR Record Reverse DNS v6 网站。
使用 ping6 命令测试 IPv6 反向 dns。
[root@dns-01 ~]# ping6 dns-01 PING dns-01(dns-01.8.0.0.1.b.2.a.5.5.a.b.4.5.1.d.f.ip6.arpa (fd15:4ba5:5a2b:100::1)) 56 data bytes 64 bytes from dns-01.8.0.0.1.b.2.a.5.5.a.b.4.5.1.d.f.ip6.arpa (fd15:4ba5:5a2b:108::1): icmp_seq=1 ttl=64 time=0.117 ms 64 bytes from dns-01.8.0.0.1.b.2.a.5.5.a.b.4.5.1.d.f.ip6.arpa (fd15:4ba5:5a2b:108::1): icmp_seq=2 ttl=64 time=0.151 ms 64 bytes from dns-01.8.0.0.1.b.2.a.5.5.a.b.4.5.1.d.f.ip6.arpa (fd15:4ba5:5a2b:108::1): icmp_seq=3 ttl=64 time=0.194 ms
我们已经在 CentOS 7 上成功配置了双栈 DNS 服务器。
双栈是能够同时处理 IPv4 和 IPv6 流量的计算机系统网络。
双栈策略也用于将网络从 IPv4 迁移到 IPv6.
双栈被编程为优先选择 IPv6 流量而不是 IPv4 流量。
之前的教程 在 CentOS 7 中使用 BIND 配置权威 DNS 服务器
我们已经基于IPv4配置了 DNS服务器。
我们将使用同样的服务器,在其上添加对IPv6的支持。
配置环境
我们使用的 CentOS 7 虚拟机与我们在上一篇文章中配置的相同,例如:在 CentOS 7 上配置权威 DNS 服务器。
主 DNS 服务器:
- 操作系统 - CentOS 7.6
- 主机名 - dns-01.onitroad.com
- IPv4 地址 - 192.168.1.101 /24
- IPv6 地址 - fd15:4ba5:7b3b:2007::1 /64
从DNS 服务器:
- 操作系统 - CentOS 7.6
- 主机名 - dns-02.onitroad.com
- IPv4 地址 - 192.168.1.102 /24
- IPv6 地址 - fd15:4ba5:7b3b:2007::2/64
在 CentOS 7 上配置 IPv6 网络
登录到主DNS服务器 dns-01.onitroad.com。
在此服务器上设置 IPv6 地址。
[root@dns-01 ~]# nmcli c m ens33 ipv6.method manual ipv6.addresses "fd15:4ba5:7b3b:2007::1/64" ipv6.gateway fd15:4ba5:7b3b:2007:153c:3b05:4535:d080
重新启动网络接口以加载更改。
[root@dns-01 ~]# nmcli c down ens33 ; nmcli c up ens33 Connection 'ens33' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/1) Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)
Ping 网络网关的 IPv6 地址以验证连通性。
[root@dns-01 ~]# ping6 fd15:4ba5:7b3b:2007:153c:3b05:4535:d080 PING fd15:4ba5:7b3b:2007:153c:3b05:4535:d080(fd15:4ba5:7b3b:2007:153c:3b05:4535:d080) 56 data bytes 64 bytes from fd15:4ba5:7b3b:2007:153c:3b05:4535:d080: icmp_seq=1 ttl=64 time=2.03 ms 64 bytes from fd15:4ba5:7b3b:2007:153c:3b05:4535:d080: icmp_seq=2 ttl=64 time=0.906 ms 64 bytes from fd15:4ba5:7b3b:2007:153c:3b05:4535:d080: icmp_seq=3 ttl=64 time=0.757 ms 64 bytes from fd15:4ba5:7b3b:2007:153c:3b05:4535:d080: icmp_seq=4 ttl=64 time=0.886 ms ^C --- fd15:4ba5:7b3b:2007:153c:3b05:4535:d080 ping statistics -- 4 packets transmitted, 4 received, 0% packet loss, time 3040ms rtt min/avg/max/mdev = 0.757/1.145/2.034/0.517 ms
登录到从DNS服务器 dns-02.onitroad.com 并设置 IPv6 地址。
[root@dns-02 ~]# nmcli c m ens33 ipv6.method manual ipv6.addresses "fd15:4ba5:7b3b:2007::2/64" ipv6.gateway fd15:4ba5:7b3b:2007:153c:3b05:4535:d080
重新启动网络接口以重新加载更改。
[root@dns-02 ~]# nmcli c down ens33 ; nmcli c up ens33 Connection 'ens33' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/1) Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)
通过使用 IPv6 地址来 Ping dns-01.onitroad.com 以验证连接。
[root@dns-02 ~]# ping6 fd15:4ba5:7b3b:2007::1 PING fd15:4ba5:7b3b:2007::1(fd15:4ba5:7b3b:2007::1) 56 data bytes 64 bytes from fd15:4ba5:7b3b:2007::1: icmp_seq=1 ttl=64 time=0.699 ms 64 bytes from fd15:4ba5:7b3b:2007::1: icmp_seq=2 ttl=64 time=0.858 ms 64 bytes from fd15:4ba5:7b3b:2007::1: icmp_seq=3 ttl=64 time=0.768 ms 64 bytes from fd15:4ba5:7b3b:2007::1: icmp_seq=4 ttl=64 time=4.01 ms 64 bytes from fd15:4ba5:7b3b:2007::1: icmp_seq=5 ttl=64 time=4.13 ms ^C --- fd15:4ba5:7b3b:2007::1 ping statistics -- 5 packets transmitted, 5 received, 0% packet loss, time 4040ms rtt min/avg/max/mdev = 0.699/2.093/4.132/1.617 ms
我们已经在我们的节点之间配置了 IPv6 网络。
这意味着我们的节点现在已经形成了一个双栈网络。