web-dev-qa-db-ja.com

特定のドメインを持つ複数のDNSサーバーの設定を解決する

複数のネットワークで特定の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クエリは最初のドメインサーバーに送信されますが、順序の変更は問題になりません。

誰か私に何か提案を与えることはできますか?

10

/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.2mydomail.localのホストに対するすべてのリクエストにそのサーバーに移動します。
12
kostix

実際、これはdnsmasqを使用している場合に実行できます。

/etc/dnsmasq.confファイルの最後に、次のような行を追加できます。

server=/domain.net/172.166.7.23
server=/domain.com/142.124.17.12

私はそれを私のマシン以上でテストしていませんが、私にとってはうまくいきます。

私の要件は、職場に接続して内部アドレスをルーティングするときに、VPNクライアントが正しいネームサーバーを使用していなかったためです。これにより、特定のドメインに内部DNSサーバーを使用するように修正されました。

3
r b

これは、プレーンな/etc/resolv.confのみを使用して実現するのは困難な場合があります。ローカルリゾルバをインストールすることは問題でしょうか?そうでない場合-次の計画が適用される可能性があります。

  1. ディストリビューションリポジトリからキャッシュのみのDNSをインストールします。デフォルトの設定で問題なく動作し、通常はリスニングアドレスとしてのみ127.0.0.1を使用します。
  2. 既存の/etc/resolv.confをバックアップし、かろうじてnameserver 127.0.0.1を含む新しいものを作成します。ローカルDNSが正しく機能することをテストし、インターネット名を解決します。
  3. 以下をnamed.confに入れます。

zone "mydomain.local" { type forward; forward only; forwarders { Your-VPN-DNS-IP; }; };

  1. インターネットとVPNの解決の両方で、もう一度テストしてください。成功した場合は、search行を/etc/resolv.confに追加できます。

HTH-RB

1
bofh