NSDのサーバーがあります。MAIN_IPとADD_IPがあります。サーバーからサイトのIPを取得しようとすると、正しい出力が得られます。
dig @localhost my_site.com
しかし、これをPCから作ろうとすると、
dig @my_ns_server.com my_site.com
;; reply from unexpected source: MAIN_IP#53, expected ADD_IP#53
(ADD_IP は my_ns_server.com の IP です)
どうすればいいですか?
UPD: 私のインターフェースconf
auto eth2
allow-hotplug eth2
iface eth2 inet static
address xxx.xxx.xxx.234
netmask 255.255.255.252
network xxx.xxx.xxx.232
broadcast xxx.xxx.xxx.235
gateway xxx.xxx.xxx.233
dns-nameservers MY_ISP_IP
dns-search MY_ISP_DOMAIN
auto eth2:0
iface eth2:0 inet static
address xxx.xxx.xxx.124
netmask 255.255.255.0
xxx.xxx.xxxはすべてのIPで同じです
netstat -lntpu | grep :53
tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN 1363/nsd
tcp6 0 0 :::53 :::* LISTEN 1363/nsd
udp 0 0 0.0.0.0:53 0.0.0.0:* 1363/nsd
udp6 0 0 :::53 :::* 1363/nsd
答え1
NSD がすべてのインターフェースをリッスンすると、OS がソース アドレスを選択できるようになります。NSD がリッスンするアドレス (NS レコードのすべての IP など) を常に明示的に指定してください。あなたの場合:
server:
ip-address: a.b.c.124
このスレッドnsd-users メーリング リストでも同じ問題が説明されています (IPv6 の部分は無関係です)。
答え2
これは、NSD の設定ミスか、ボックス/ルーターの NAT ルールが間違っている可能性があります。NSD はすべてのインターフェースをリッスンしていますか? セカンダリ IP アドレスで DNS クエリに応答するように、NSD ボックスでポート転送を行っていますか?
NSD ボックスからの netstat 出力を貼り付けていただけますか?
netstat -lntpu | grep :53
答え3
セットアップと NSD 3.2.8 で同じ問題が発生しました。NSD が正しいソケットで応答しないようです。使用したサーバーには、同じネットワーク上に 2 つの IP があります。常にメインの IP から応答し、エイリアスされた IP からは応答しないようです。バインド サーバー (9.7.x) では、このような問題は発生しません。