在移动连接上通过 openVPN 推送本地 DNS 服务器

在移动连接上通过 openVPN 推送本地 DNS 服务器

我在本地 IP 192.168.9.36 上的 Synology NAS 上运行了一个 OpenVPN 服务器。我在本地 IP 192.168.9.36:1234 上的 NAS 上运行了一个应用程序,并且我有一个反向代理,允许我通过安全的 HTTPS(即代理)访问我的应用程序https://myNAS.apphttp://192.168.9.36:1234)。我在 NAS 上还有一个 DNS 服务器,运行在本地 IP 192.168.9.36 上,并且有一个本地 DNS 记录,将 myNAS.app 指向 IP 192.168.9.36。

在我的本地网络中一切正常:我可以使用以下任一方式访问我的应用程序http://192.168.9.36:1234https://myNAS.app

问题出在我出门在外时,通过 OpenVPN 客户端将手机连接到 NAS 上的 OpenVPN 服务器以访问我的家庭网络。在这种情况下,我可以通过其 IP 访问我的应用程序,但不能使用其域名 (https://myNAS.app)。

我认为 OpenVPN 无法推送我的本地 DNS 服务器。在我的 VPN 客户端配置文件 (VPNConfig.ovpn) 中,我有以下指令:

redirect-gateway def1
dhcp-option DNS 192.168.9.36
dhcp-option DNS 8.8.8.8

当连接到 VPN 并查询我当前的 DNS 服务器时,我被告知我正在使用 Google (8.8.8.8),它应该是辅助 DNS 而不是主 DNS。

我做错了什么?为什么 192.168.9.36 没有通过 VPN 连接作为我的主 DNS 推送到我的手机?

注意:所有地址都是虚构的,不是为了被点击。

来自 OP 的评论

我使用装有 iOS 的 iPhone 连接 VPN,使用蜂窝数据。VPN 在 Synology 官方 VPN 服务器包上运行,但对于 DNS,我使用在 docker 容器中的 NAS 上运行的 Pi-VPN。如果我删除 Google 的 DNS 条目,我将无法通过域名访问任何网站,无论是本地网站还是互联网上的公共网站。(注意:在 OpenVPN 配置文件中,它说我可以有 2 个条目,一个主条目和一个次条目)。

答案1

经过一番挖掘,发现 Pi-Hole DNS 不监听 VPN 发出的请求,只监听本地请求。根据下图更改选项解决了这个问题,应该不会造成问题,因为 Pi-Hole 位于路由器后面,并且只有一个端口为 VPN 开放。

在此处输入图片描述

相关内容