
SUSE 15 環境で IPv4 と IPv6 の両方のスタックを有効にしようとしています。/opt/vmware/share/vami/vami_set_network を使用して、同じインターフェイスに IPv4 アドレスと IPv6 アドレスの両方を割り当てました。IPv4 アドレスと IPv6 アドレスの両方が ping 可能です。
ここで、dnsmasq を使用して IPv4 と IPv6 の両方で DNS 解決を有効にする必要があります。ただし、dig を使用して DNS サーバーのステータスを確認すると、dig IPv4 アドレスは成功しますが、dig IPv6 アドレスは拒否されて失敗します。
dnsmasq を使用して IPv6 DNS サーバーを構成する際に注意すべき点はありますか?
# dig 2001:db8:3333:4444:5555:6666:7777:200
; <<>> DiG 9.16.6 <<>> 2001:db8:3333:4444:5555:6666:7777:200
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 64764 <<<<<<<<<<<<<<<<<<<<<<
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;2001:db8:3333:4444:5555:6666:7777:200. IN A
;; Query time: 0 msec
;; SERVER: ::1#53(::1)
;; WHEN: Mon Sep 27 16:42:04 UTC 2021
;; MSG SIZE rcvd: 55
# dig 172.20.10.25
; <<>> DiG 9.16.6 <<>> 172.20.10.25
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60743
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;172.20.10.25. IN A
;; ANSWER SECTION:
172.20.10.25. 0 IN A 172.20.10.25
;; Query time: 0 msec
;; SERVER: ::1#53(::1)
;; WHEN: Mon Sep 27 16:45:54 UTC 2021
;; MSG SIZE rcvd: 57
もう 1 つの問題は、/etc/hosts に ipv4 レコードと ipv6 レコードの両方を追加すると、ipv4 レコードのみが正しく解決できることです。
# cat /etc/hosts
192.168.10.10 ipv4-hostname.com
2001:db8:3333:4444:5555:6666:7777:200 ipv6-hostname.com
# dig @127.0.0.1 ipv4-hostname.com +short +time=15 +tries=3
192.168.10.10
# dig @127.0.0.1 ipv6-hostname.com +short +time=15 +tries=3
<<<<< empty result
dnsmasq サーバーの構成はデフォルトです:
# cat /etc/dnsmasq.conf | grep -v '^#' | grep -v '^$'
conf-dir=/etc/dnsmasq.d/,*.conf
ホスト名の dig 結果も拒否されました。
# dig ipv6-hostname.com
; <<>> DiG 9.16.6 <<>> ipv6-hostname.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 4887
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;ipv6-hostname.com. IN A
;; Query time: 0 msec
;; SERVER: ::1#53(::1)
;; WHEN: Tue Sep 28 08:24:45 UTC 2021
;; MSG SIZE rcvd: 30
ポートステータス:
# netstat -lnp | grep dnsmasq
tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN 19455/dnsmasq
tcp6 0 0 :::53 :::* LISTEN 19455/dnsmasq
udp 0 0 0.0.0.0:53 0.0.0.0:* 19455/dnsmasq
udp6 0 0 :::53 :::* 19455/dnsmasq
ipv4 と ipv6 ワイルドカードの両方が環境でリッスンしているようです。 ipv6 dig が拒否され続ける理由はわかりません。
答え1
IPv6 ホスト名解決の場合は、コマンドライン引数に AAAA を追加することを忘れないでください。
dig @<server> <hostname> AAAA