設定
一部のネットワークでは、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
パブリックIP範囲を指すようにAレコードを変更すると、正常に機能することがわかりました。
@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として引き続き使用したいと思います。プライベートスコープアドレス(たとえば192.168.20.20
:)を指すDNSレコードを見つけようとしたときに失敗しないことを願っています。
ホームネットワーク
私は走る発光ダイオード(前にオープンWRT)私の家のルーターで実行されていることをdnsmasq
見ました。DNS ドキュメント住所を確認するために使用するDNSサーバーがGoogleの()になるようにシステムを設定しましたが、8.8.8.8
まだ失敗して理由がわからないようです。
質問
ここで何が起こっているのか、どうすれば解決できますか?
答え1
これが特徴ですdnsmasq
。これはdnsmasq
…と呼ばれる」リバインディング保護デフォルトではオンになっています。オフまたは使用したいドメインをホワイトリストドメインセットに追加しますrebind_domain
。
rebind_protection
で変更したい場合は、そのオプションを表示できます/etc/config/dhcp
。再バインド保護を無効にすることを決定した場合は、変更を適用するために/etc/init.d/dnsmasq restart
実行する必要があります。
config dnsmasq
option domainneeded '1'
option localise_queries '1'
option rebind_protection '0'
option rebind_localhost '1'
1つのドメインを除いてセキュリティを維持するには、次のように除外項目を追加します。
config dnsmasq
list rebind_domain '/acmevpn.net/'
list rebind_domain '/foobar.net/'
これを防ぐと主張する攻撃は、攻撃者がWWWブラウザが世界中から攻撃者が提供したプログラムを自動的にダウンロードして実行し、xyrドメインが外部ドメイン間ですぐに交互に見えるようにするという事実を利用することです。 IPアドレスとLAN内のIPアドレス。ユーザーのコンピュータは、そのIPアドレスを持つLAN上の他のコンピュータと、攻撃者が運営する一部のコンテンツサーバーとの間の経路として機能します。
答え2
これは、一部のDNSソフトウェアがプライベートIPアドレスで解決されないセキュリティ対策です。私がこれをしたいのは、安全でないルーターへのアクセスを防ぐためです。
この問題は、すべての解決を実行するDNSを使用せずに、ドメイン自体のNSに接続するようにリゾルバを設定することで解決できます。