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

プライベートアドレスに設定された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パブリック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上の他のコンピュータと、攻撃者が運営する一部のコンテンツサーバーとの間の経路として機能します。

おすすめ記事