実現したいこと
Unboundからnsdが持つゾーンの名前解決を行えるようにしたい。
発生している問題・分からないこと
キャッシュサーバをUnboundで動作させており、Unboundに対して特定のローカル用に使う名前の解決を求められたらnsdで動作している権威サーバに名前解決を求めるような構成にしたいと考えています。
しかし、digコマンドで独自ドメインとして用意したmynk.homeを名前解決しようとしてもSERVFAILが返され、NSD側のログでは「error: xfrd: zone mynk.home: received bad notify reply opcode/flags from <UnboundのIPアドレス>」が返ってくる状態です。
エラーメッセージ
error
1Unbound側でdigコマンドを実行した際の応答 2dns@dns:~$ dig www.mynk.home 3;; communications error to 127.0.0.1#53: timed out 4 5; <<>> DiG 9.18.18-0ubuntu0.22.04.2-Ubuntu <<>> www.mynk.home 6;; global options: +cmd 7;; Got answer: 8;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 26521 9;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1 10 11;; OPT PSEUDOSECTION: 12; EDNS: version: 0, flags:; udp: 1232 13;; QUESTION SECTION: 14;www.mynk.home. IN A 15 16;; Query time: 3 msec 17;; SERVER: 127.0.0.1#53(127.0.0.1) (UDP) 18;; WHEN: Thu May 02 08:58:19 UTC 2024 19;; MSG SIZE rcvd: 42 20 21NSDのログ(systemctl) 22Apr 30 04:59:25 nsd nsd[73535]: [2024-04-30 04:59:25.856] nsd[73535]: error: Cannot open /var/log/nsd.log for appending (Read-only file system), logging to stderr 23Apr 30 04:59:25 nsd nsd[73535]: [2024-04-30 04:59:25.856] nsd[73535]: notice: nsd starting (NSD 4.3.9) 24Apr 30 04:59:25 nsd nsd[73536]: [2024-04-30 04:59:25.912] nsd[73536]: notice: nsd started (NSD 4.3.9), pid 73535 25Apr 30 04:59:25 nsd nsd[73535]: [2024-04-30 04:59:25.913] nsd[73535]: error: xfrd: zone mynk.home: received bad notify reply opcode/flags from 192.168.0.82 26Apr 30 04:59:25 nsd systemd[1]: Started Name Server Daemon. 27Apr 30 04:59:25 nsd nsd[73535]: [2024-04-30 04:59:25.914] nsd[73535]: error: xfrd: zone mynk.home: received bad notify reply opcode/flags from 192.168.0.82 28Apr 30 04:59:25 nsd nsd[73535]: [2024-04-30 04:59:25.914] nsd[73535]: error: xfrd: zone mynk.home: received bad notify reply opcode/flags from 192.168.0.82 29Apr 30 04:59:25 nsd nsd[73535]: [2024-04-30 04:59:25.915] nsd[73535]: error: xfrd: zone mynk.home: received bad notify reply opcode/flags from 192.168.0.82 30Apr 30 04:59:25 nsd nsd[73535]: [2024-04-30 04:59:25.915] nsd[73535]: error: xfrd: zone mynk.home: received bad notify reply opcode/flags from 192.168.0.82 31Apr 30 04:59:25 nsd nsd[73535]: [2024-04-30 04:59:25.915] nsd[73535]: error: xfrd: zone mynk.home: max notify send count reached, 192.168.0.82 unreachable
該当のソースコード
server: port: 53 interface: 0.0.0.0 access-control: 127.0.0.0/8 allow access-control: 192.168.0.0/24 allow verbosity: 3 logfile: /var/log/unbound.log use-syslog: no #do-not-query-localhost: no #Allow private IPs in the answers private-domain: "mynk.home." #Skip DNSSEC validation fo this domain domain-insecure: "mynk.home." remote-control: control-enable: yes control-interface: 127.0.0.1 control-port: 953 server-key-file: "/etc/unbound/unbound_server.key" server-cert-file: "/etc/unbound/unbound_server.pem" control-key-file: "/etc/unbound/unbound_control.key" control-cert-file: "/etc/unbound/unbound_control.pem" stub-zone: name: "mynk.home." stub-addr: 192.168.0.86 forward-zone: name: "." forward-addr: 8.8.8.8 ※mynk.home以外への応答は8.8.8.8に流すようにしており、正常に解決できます。
server: port: 53 ip-address: 127.0.0.1 do-ip4: yes logfile: "/var/log/nsd.log" zonesdir: "/etc/nsd/zones" remote-control: control-enable: yes zone: name: "mynk.home" zonefile: "mynk.home.zone" notify: 192.168.0.82 MYKEY # ゾーン転送で送る側の設定 provide-xfr: 192.168.0.82 MYKEY key: name: "MYKEY" algorithm: hmac-sha256 secret: "<鍵>"
$TTL 1 $ORIGIN mynk.home. @ IN SOA ns.mynk.home. root.mynk.home. ( 2024041501 ; serial number 10800 ; Refresh 3600 ; Retry 604800 ; Expire 1 ; Min TTL ) IN NS ns.mynk.home. pve01 IN A 192.168.0.xx www IN A 192.168.0.xx scriptsrv IN A 192.168.0.xx ts IN A 192.168.0.xx db IN A 192.168.0.xx ups IN A 192.168.0.xx unbound IN A 192.168.0.xx nsd IN A 192.168.0.xx
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
・nsdが自身に対してmynk.homeの解決を求めるとゾーンファイルで記述した通りの結果が得られるので、ローカルの場合正常に動いているのは確認しています。
・unboundもローカルでyahoo.co.jpなどの解決を求めると8.8.8.8を経由して名前解決できます。
・unbound側からdigコマンドでmynk.homeを解決しようとするとstub-zoneの設定でnsdに対して名前解決を求める動作は、nsd側のログを見る限り出来ているようです。
・nsdが名前解決のリクエストを「error: xfrd: zone mynk.home: received bad notify reply opcode/flags from 192.168.0.82」をして弾く点について、DNSメッセージのパケットがおかしいのか?と思いつつも、調べても情報が見つけられず、解決が出来ない状態です。
補足
特になし
回答1件
あなたの回答
tips
プレビュー