
標準設定でルーターを実行しているためdnsmasq
、DNS プロキシと追加のローカル サーバーが利用でき、IP アドレスがdnsmasq
DHCP サーバー経由で管理されているすべてのマシンの名前解決も利用できます。
サーバーと他のホストは私のhome.net
ドメインにあります
ここまでは順調ですね。
customer.net
ここで、非常によく似た設定 (dnsmasq を使用していませんが、実質的な効果は同じです) を持つ顧客サイト ( ) に VPN 経由で接続する必要があります。
私は、ローカル ネットワークから IPSec デバイスへのルーター転送 (NAT を使用) として機能する小さな (仮想) マシンをセットアップしtun
、customer.net を参照する必要がある (2) ホストにいくつかの静的ルートを追加しました。これは、dnsmasq を介してルートをプッシュするのではなく、手動で行いました。
これも問題なく動作するようです。
さて、解決方法が分からない最後の問題があります。
customer.net
IPアドレスを指定するだけでプライベートアドレス空間のマシンにアクセスできますが、DNS解決は利用できません。dns.customer.net
どうすればアクセスできますかdns.customer.net
それなしとの接続が失われていますdns.home.net
?
注記: 設定を変更することはできますhome.net
(実際に関係する少数のホストに変更を限定したいのですが)が、customer.net
私が望む状況は次のとおりです。
*.home.net
アドレスは次のように解決される必要がありますdnsmasq
dnsmasq
インターネットのルーティング可能なアドレスは、 ISP DNS をプロキシすることで解決される必要があります。*.customer.net
dns.customer.net
アドレスは(ルーティング不可能なIP経由でこのホストにアクセスできる)によって解決されるはずであり、おそらく私のdnsmasq
これは可能なのでしょうか? もし可能であれば、どのようにすればよいのでしょうか?
答え1
少し調べてみたところ、dnsmasq
必要なことはすべてできることがわかりました。
以下は標準ドキュメントからの抜粋です(Dnsmasq のセットアップ):
特別なサーバーを使用します。
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
これが誰かの追跡を終わらせるのに役立つことを願っています。