我在本地 IP 192.168.9.36 上的 Synology NAS 上运行了一个 OpenVPN 服务器。我在本地 IP 192.168.9.36:1234 上的 NAS 上运行了一个应用程序,并且我有一个反向代理,允许我通过安全的 HTTPS(即代理)访问我的应用程序https://myNAS.app到http://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:1234和https://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 个条目,一个主条目和一个次条目)。