複数のネットワークで特定のDNSサーバーを使用する機能が必要です。/etc/resolv.conf
を正しく更新する方法を教えてください。
私がメジャーVPNを使用していて、トラフィックとDNSクエリをすべてルーティングしているとしましょう。しかし、ネットワークへの特定のアクセスを提供する別のVPNがあり、そのVPNはDNSサーバーとしても機能しますが、特定のドメインのみにサービスを提供します。「mydomain.local」
次のresolv.confを作成しました。
nameserver 10.8.0.1
search mydomain.local
nameserver 10.250.0.2
ただし、DNSクエリは最初のドメインサーバーに送信されますが、順序の変更は問題になりません。
誰か私に何か提案を与えることはできますか?
/etc/resolv.conf
のみを使用して達成することはできません。
最も簡単な方法は、dnsmasq
(キャッシングDNSクライアント)をインストールし、nameserver 127.0.0.1
を/etc/resolv.conf
に入れてdnsmasq
を変更することで、それを唯一のリゾルバーにすることです。構成:
no-dhcp-interface=
のコメントを外して、dnsmasq
のDHCPサーバー機能を無効にします。server=10.8.0.1
;server=/mydomain.local/10.250.0.2
mydomail.local
のホストに対するすべてのリクエストにそのサーバーに移動します。実際、これはdnsmasqを使用している場合に実行できます。
/etc/dnsmasq.confファイルの最後に、次のような行を追加できます。
server=/domain.net/172.166.7.23
server=/domain.com/142.124.17.12
私はそれを私のマシン以上でテストしていませんが、私にとってはうまくいきます。
私の要件は、職場に接続して内部アドレスをルーティングするときに、VPNクライアントが正しいネームサーバーを使用していなかったためです。これにより、特定のドメインに内部DNSサーバーを使用するように修正されました。
これは、プレーンな/etc/resolv.conf
のみを使用して実現するのは困難な場合があります。ローカルリゾルバをインストールすることは問題でしょうか?そうでない場合-次の計画が適用される可能性があります。
127.0.0.1
を使用します。/etc/resolv.conf
をバックアップし、かろうじてnameserver 127.0.0.1
を含む新しいものを作成します。ローカルDNSが正しく機能することをテストし、インターネット名を解決します。named.conf
に入れます。zone "mydomain.local" { type forward; forward only; forwarders { Your-VPN-DNS-IP; }; };
search
行を/etc/resolv.conf
に追加できます。HTH-RB