一部のネットワークでは、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
)になるようにシステムをセットアップしましたが、それでも失敗し、理由がわからないようです。
ここで何が起こっているのですか、どうすれば修正できますか?
これはdnsmasq
の機能です。 dnsmasq
の人々はこれを「再バインド保護」と呼び、dnsmasq
マニュアルでは_--stop-dns-rebind
_コマンドラインオプションとして、またLEDE docoでは_rebind_protection
_オプション。
デフォルトではオンになっています。オフにするか、ホワイトリストに登録された_rebind_domain
_ドメインのセットに作業するドメインを追加します。
防止しようとしている攻撃は、WWWブラウザが攻撃者が提供するプログラムを世界中から自動的にダウンロードして実行するという事実を利用した攻撃者が、xyrドメイン名を外部との間で急速に切り替えるように見せかける攻撃です。 IPアドレスとLANの内部の1つ。そのIPアドレスを持つLAN上の別のマシンと、攻撃者が実行する一部のコンテンツサーバーとの間のパイプになることができます。
これは、一部のDNSソフトウェアによるプライベートIPアドレスに解決されないセキュリティ対策です。これの理由は、セキュリティで保護されていないルーターへのアクセスを防ぐことだと思います。
この問題は、すべての解決を行う1つのDNSを使用せずに、そのドメイン自体のNS)に接続するようにリゾルバーを構成することで解決できる場合があります。