両方のネットワークを接続するときにDNSをどのように設定しますか?

両方のネットワークを接続するときにDNSをどのように設定しますか?

2つのネットワークインターフェースを持つLinuxシステムがあります。どちらもローカルネットワークに接続されています。一つは、192.168.*.*もう一つはです10.*.*.*

ネットワーク192.168.*.*は完全にプライベートであり、インターネットにアクセスできません。ネットワーク10.*.*.*にインターネットが接続されています。

現在外部操作を実行でき、ping名前が解決されます。

ping google.com

192.168.*.*ただし、ネットワークのコンピュータ名をpingしようとすると、名前を解決できません。

ping computer-name
ping computer-name.domain
ping computer-name.domain.local

IPアドレスを指定すると解決されます。

ping 192.168.x.x

プライベートローカルネットワークのコンピュータ名を確認しながら、外部アドレスを解決できるようにDNS設定を構成するにはどうすればよいですか?

Centos6を使用しています。

答え1

ローカルリゾルバライブラリは、すべてのネームサーバがすべての名前を解決できると仮定します。あなたの場合、ローカルが信頼できない場合、応答しない副作用がある可能性があります。その後、ライブラリは次のネームサーバーを使用して(遅延後)再試行します。

より良いアプローチは、ローカルネームサーバーを実行してデータを正しい場所にすばやく送信することです。インストールした場合、dnsmasq構成の中心は非常に簡単です。それは次のとおりです。

/etc/dnsmasq.conf

# This sets up your private domain
server=/privatedomain/192.168.10.15
server=/.168.192.in-addr.arpa/192.168.10.15

プライマリサーバー(10.10.1.15)がある場合は、プライベートresolv.confドメインの要求を受信するとローカルサーバーに移動します。別の要求を受け取ると、resolv.confはローカルホストではなくサーバーを使用します。

次に、サーバーを resolv.conf の最初のサーバーに設定します。

構成ファイルの解析

search privatedomain
nameserver 127.0.0.1
nameserver 10.10.1.15

答え2

/etc/resolv.conf私のファイルを修正して動作させることができます。

domain privatedomain
search privatedomain publicdomain.com
nameserver 192.168.10.15
nameserver 10.10.1.15

privatedomainローカルネットワークドメイン名192.168.*.*。インターネットにアクセスできるネットワークのドメイン名publicdomain.com10.*.*.*

これで、これらすべての要求を正しく解決します。

ping computer.privatedomain
ping computer
ping computer2.publicdomain.com
ping google.com

唯一の欠点は、プライベートドメインからアクセスできない名前を解決しようとしたときに顕著な遅延があることです。たとえば、

ping google.com

私はこれが最初にサーバーの最初のネームサーバーを介して名前を解決しようとし、最終的にタイムアウトしてからprivatedomainそれを確認できる2番目のネームサーバーに移動するためだと思います。

関連情報