在 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 服务器。

在 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
https://onitroad.com 更多教程

在 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 网络。
这意味着我们的节点现在已经形成了一个双栈网络。

日期:2020-09-17 00:12:48 来源:oir作者:oir