web-dev-qa-db-ja.com

DNSサーバーのマージ

とりわけ、標準設定でdnsmasqを実行しているルーターがあるので、DNSプロキシと追加のローカルサーバーに加えて、IPアドレスがdnsmasqDHCPサーバーを介して管理されているすべてのマシンの名前解決を取得します。 。

サーバーと他のホストは私の_home.net_ドメインにあります

ここまでは順調ですね。

次に、VPN経由で、セットアップが非常に似ている顧客サイト(_customer.net_)に接続する必要があります(dnsmasqを使用していませんが、正味の効果は同じです)。

ローカルネットワークからIPSectunデバイスへの(NATを使用した)ルーター転送として機能する小さな(仮想)マシンをセットアップし、customer.netを参照する必要がある(2)ホストにいくつかの静的ルートを追加しました。 dnsmasqを介してルートをプッシュする代わりに、手動でこれを行いました。

また、これは問題なく機能しているようです。

今、私は解決する方法がわからない最後の問題を抱えています:

_customer.net_プライベートアドレススペースのマシンにはIPアドレスを指定するだけでアクセスできますが、_dns.customer.net_からのDNS解決は利用できません。

_dns.customer.net_withoutにアクセスするにはどうすればよいですか?_dns.home.net_との接続が失われますか?

[〜#〜] note [〜#〜]:_home.net_の設定を変更できます(実際に関係するいくつかのホストに変更を制限したい)が、制御できません_customer.net_

私が望んでいる状況は次のとおりです。

  • _*.home.net_アドレスはdnsmasqで解決する必要があります
  • インターネットでルーティング可能なアドレスは、ISPDNSをdnsmasqプロキシすることで解決する必要があります。
  • _*.customer.net_アドレスは_dns.customer.net_(ルーティング不可能なIPを介してこのホストにアクセスできます)によって解決される必要があります。おそらくdnsmasqを経由せずに解決されます。

これは可能ですか?もしそうなら、どのように?

2
ZioByte

少し調べてみたところ、dnsmasqで必要なことができることがわかりました。

標準のドキュメントからの抜粋を次に示します( Dnsmasq setup ):

特別なサーバーを使用する。

Dnsmasqには、特定のドメインのDNSクエリを特定のアップストリームネームサーバーに送信する機能があります。この機能はVPNで使用するために追加されましたが、完全に一般的です。シナリオは次のとおりです。ISP経由の標準インターネット接続があり、dnsmasqはクエリをISPのネームサーバーに転送するように構成されています。次に、会社のネットワークにVPN接続を確立し、会社のファイアウォール内のホストにアクセスできるようにします。アクセス権はありますが、内部ホストの多くはパブリックインターネットに表示されないため、会社はそれらをパブリックDNSに公開せず、ISPネームサーバーからIPアドレスを取得できません。解決策は、企業内のプライベートドメインに企業ネームサーバーを使用することであり、dnsmasqはこれを許可します。会社の内部マシンがすべてドメインinternal.myco.comにあり、会社のネームサーバーが192.168.10.1にあるとすると、オプションserver =/internal.myco.com/192.168.10.1は、内部ドメインのすべてのクエリを正しいものに転送します。ネームサーバー。各サーバーオプションで複数のドメインを指定できます。複数のネームサーバーがある場合は、それらすべてを指定するために必要な数のサーバーオプションを含めるだけです。

最終的に、DNS「特別なサーバー」と追加の静的ルートの両方をメインのdnsmasq(ファイアウォール上)に追加しました。VPN仮想マシンが稼働するとすぐに、すべてが必要に応じて機能します。

私のdnsmasq.confに追加された実際の行は次のとおりです。

server=/customer.net/192.168.20.253
dhcp-option=121,192.168.2.0/24,192.168.7.11,192.168.20.0/24,192.168.7.11

これが誰かが追跡を切るのに役立つことを願っています。

1
ZioByte