CiscoルータでOCNのIPoEを使ってみる (DNS設定編)
前回、OCNのIPoEの設定を実施しました。今回はDNSを設定します。というのも、IPv6パススルーを使うとDNSがRAアドバタイズとDHCPv6によって通知されるため、自動的にISPのDNSサーバとなってしまいます。LAN内に自前のサーバがある都合上、DNS(Proxy)サーバを用いてIPv4で名前解決をできるようにします。
OCNのDNSサーバではIPv4からの問い合わせはIPv6のAAAAレコードを返しません(AAAAフィルタリング)。
[jinglan@localserver]$ nslookup -type=a www.google.com 192.168.11.1 Server: 192.168.11.1 Address: 192.168.11.1#53 Non-authoritative answer: Name: www.google.com Address: 172.217.25.196 [jinglan@localserver]$ nslookup -type=aaaa www.google.com 192.168.11.1 Server: 192.168.11.1 Address: 192.168.11.1#53 Non-authoritative answer: *** Can't find www.google.com: No answer Authoritative answers can be found from: [jinglan@localserver]$
そのため、IPv4とIPv6に対応したDNSキャッシュサーバを立て、IPv4の問い合わせに対してAAAAレコードも返せるようにします。
まずは、CentOSサーバにdnsmasqをインストールします。
[jinglan@localhost ~]$ sudo yum install dnsmasq
dnsmasqは以下のように設定しました。DHCPはCiscoルータがするので今回は使いません。
[jinglan@localhost ~]$ cat /etc/dnsmasq.conf # Configuration file for dnsmasq. domain-needed bogus-priv resolv-file=/etc/resolv.conf local=/domain.local/ interface=eth0 no-dhcp-interface=eth0 expand-hosts cache-size=500 [jinglan@localhost ~]$ [jinglan@localhost ~]$ sudo systemctl restart dnsmasq
また、LAN内のサーバをhostsファイルに記述しておきます。
[jinglan@localhost ~]$ cat /etc/hosts 192.168.11.9 svr.domain.local localserver 192.168.11.11 dns0.domain.local dns-server
IPアドレス、ホスト名、別名という並びで記述します。
次に、ファイアウォールの設定を変更します。
[jinglan@localhost ~]$ sudo firewall-cmd --list-all --zone=public --permanent public target: default icmp-block-inversion: no interfaces: sources: services: ssh dhcpv6-client ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: [jinglan@localhost ~]$ sudo firewall-cmd --add-service=dns --zone=public --permanent success [jinglan@localhost ~]$ sudo firewall-cmd --reload success
別ホストから名前解決ができるかテストします。
[jinglan@localserver]$ nslookup -type=a www.google.com 192.168.11.11 Server: 192.168.11.11 Address: 192.168.11.11#53 Non-authoritative answer: Name: www.google.com Address: 172.217.25.196 [jinglan@localserver]$ nslookup -type=aaaa www.google.com 192.168.11.11 Server: 192.168.11.11 Address: 192.168.11.11#53 Non-authoritative answer: www.google.com has AAAA address 2404:6800:4004:818::2004 Authoritative answers can be found from: [jinglan@localserver]$
IPv4でAAAAレコード問い合わせができています。DHCOサーバからDNSサーバのアドレスを配布するようにします。
ip dhcp pool DHCPPOOL network 192.168.11.0 255.255.255.0 dns-server 192.168.11.11 default-router 192.168.11.1 lease 2
実際にはクライアント側でDHCPv6を無効にすることが必要ですが、IPv4で両方の名前解決ができるようになりました。 IPv6で通信しているかどうかはブラウザで確認できます。Firefoxのアドレスバーにabout:networkingを入力するとDNS情報を見ることができます。 YoutubeやGoogleなどのIPv6に対応しているサイトでIPv6アドレスが確認できればOKです。