如何在 VPN 解析器上解析 VPN 域下的主机名,同时保留默认解析器

如何在 VPN 解析器上解析 VPN 域下的主机名,同时保留默认解析器

我有一个正在运行的家庭网络,它使用 DNS 解析.lan,例如我的路由器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

假设这vpn0是您的 VPN 隧道接口的名称,您可以配置dnsmasq

--server=/lan/192.168.2.1@vpn0

使用此配置行/选项,如果vpn0接口存在,dnsmasq将通过该接口将与域相关的任何查询转发lan到 192.168.2.1 vpn0。如果该接口不存在,dnsmasq将记录警告并忽略该行 - 这正是 VPN 未激活时您想要的。

对于反向 DNS 解析,您还可以添加:

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

这对于与 IP 段 192.168.1.0/24 相关的反向 DNS 查询具有相同的作用。

相关内容