web-dev-qa-db-ja.com

プライベートアドレスに設定されたDNSレコードでnslookupが失敗するのはなぜですか?

セットアップ

一部のネットワークでは、nslookupを使用して、プライベートIPアドレスを指すドメイン名を解決できます。

@work> nslookup my192.ddns.net
Server:     10.1.2.3
Address:    10.1.2.3#53

Non-authoritative answer:
Name:   my192.ddns.net
Address: 192.168.20.20

ただし、私のホームネットワークでは、これと同じクエリが失敗します。

@home> nslookup my192.ddns.net
Server:     192.168.0.1
Address:    192.168.0.1#53

Non-authoritative answer:
*** Can't find my192.ddns.net: No answer

何が機能するか

my192.ddns.netのAレコードを変更して、パブリックIP範囲を指すようにすると、正常に機能することがわかりました。

@home> nslookup my192.ddns.net
Server:     192.168.0.1
Address:    192.168.0.1#53

Non-authoritative answer:
Name:   my192.ddns.net
Address: 172.217.12.238

自宅で、nslookupにDNSサーバーを指定するか、ラップトップのDNSサーバーをGoogleのnslookupに設定すると、期待どおりに機能します。

@home> nslookup my192.ddns.net 8.8.8.8
Server:     8.8.8.8
Address:    8.8.8.8#53

Non-authoritative answer:
Name:   my192.ddns.net
Address: 192.168.20.20

しかし、ローカルネットワーク名を解決できるように、引き続きホームルーターをプライマリDNSとして使用したいと思います。プライベート範囲アドレスを指すDNSレコードのルックアップを実行しようとしたときに失敗しないようにしたいと思います(例:192.168.20.20

ホーム・ネットワーク

dnsmasqを実行するホームルーターで [〜#〜] lede [〜#〜] (以前の OpenWRT )を実行します。私は DNSのドキュメント を調べ、アドレスを解決するために使用するDNSサーバーがGoogleの(8.8.8.8)になるようにシステムをセットアップしましたが、それでも失敗し、理由がわからないようです。

質問

ここで何が起こっているのですか、どうすれば修正できますか?

2
cwd

これはdnsmasqの機能です。 dnsmasqの人々はこれを「再バインド保護」と呼び、dnsmasqマニュアルでは_--stop-dns-rebind_コマンドラインオプションとして、またLEDE docoでは_rebind_protection_オプション。

デフォルトではオンになっています。オフにするか、ホワイトリストに登録された_rebind_domain_ドメインのセットに作業するドメインを追加します。

防止しようとしている攻撃は、WWWブラウザが攻撃者が提供するプログラムを世界中から自動的にダウンロードして実行するという事実を利用した攻撃者が、xyrドメイン名を外部との間で急速に切り替えるように見せかける攻撃です。 IPアドレスとLANの内部の1つ。そのIPアドレスを持つLAN上の別のマシンと、攻撃者が実行する一部のコンテンツサーバーとの間のパイプになることができます。

3
JdeBP

これは、一部のDNSソフトウェアによるプライベートIPアドレスに解決されないセキュリティ対策です。これの理由は、セキュリティで保護されていないルーターへのアクセスを防ぐことだと思います。

この問題は、すべての解決を行う1つのDNSを使用せずに、そのドメイン自体のNS)に接続するようにリゾルバーを構成することで解決できる場合があります。

1
Hauke Laging