予期しないソースからの NSD 応答

予期しないソースからの NSD 応答

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) では、このような問題は発生しません。

関連情報