デフォルトのリゾルバーを維持しながら、VPNリゾルバーのVPNドメインでホスト名を解決する方法

デフォルトのリゾルバーを維持しながら、VPNリゾルバーのVPNドメインでホスト名を解決する方法

.lan私のルーターなど、DNS解決を使用している実行中のホームネットワークがありますrouter.lan

このネットワークは残念です192.168.1.0/24。これは通常、私が使用しているパブリックネットワークと競合することを意味します。ただし、VPNを介してネットワークに接続すると、ルーターのトンネルアドレスはです192.168.2.1。これにより、192.168.1.1がパブリックWiFiゲートウェイになります。すべてが正常です。 VPNの192.168.1.0/24にルーティングされるようにトンネルを介してトラフィックを送信できます192.168.2.1

私の質問はDNS検証に関するものです。私はLinuxワークステーションでdnsmasqをレゾルバとして使用しています。

しなければならない

  • hostname.lan.vpnたとえば、VPNプロキシ経由でルータを確認したり192.168.2.1
  • hostname.lan私のVPNへのプロキシ要求、しかし、VPNに接続されている場合にのみ可能です。

他の人も同じ悩みを持っていますか?彼らはそれをどうやって処理しましたか?

答え1

これがvpn0VPNトンネルインターフェイスの名前であると仮定すると、以下を設定できますdnsmasq

--server=/lan/192.168.2.1@vpn0

この設定行/オプションを使用すると、ドメインに関連するすべてのクエリがそのインターフェイスを持っているvpn0場合、そのインターフェイスを介して192.168.2.1に渡されます。インターフェイスが存在しない場合、警告が記録され、その行は無視されます。これは、VPNが有効になっていない場合に必要なものです。dnsmasqlanvpn0dnsmasq

リバースDNS解決のために、以下を追加することもできます。

--rev-server=192.168.1.0/24,192.168.2.1@vpn0

これは、IPセグメント192.168.1.0/24に関連するリバースDNSクエリに対しても同様の効果を有する。

関連情報