我有一个在 Azure VM(ubuntu)上运行的 Pritunl VPN 服务器。
为了测试目的,我使用了默认配置,即通过 VPN 隧道路由所有流量。我的客户端(一些台式电脑和一些 VPN 旅行路由器)全部连接成功,可以互相通信并可以访问互联网。
我现在想停止通过 VPN 路由客户端互联网流量,但继续路由本地流量。我根据文档删除了默认的“0.0.0.0/0”路由。我的客户端仍然可以连接并相互通信,但所有客户端/设备都无法访问互联网。
看来,在这种配置下,DNS 无法得到解决,我不确定这是 Pritunl 问题、客户端问题还是我的 VM 网络配置问题。
这对我来说都很新,我甚至不知道从哪里开始调试它,希望有人可以帮忙。
其他发现:
- 使用 Windows 官方的 Pritunl 客户端,我做可以访问互联网。 (但是 OpenVPN Connect 和其他 ovpn 客户端不起作用)
- 相同的设置可与 OpenVPN Cloud Server 很好地配合使用(尽管 Pritunl Server 是规范的一部分)
- 向 Google 发送 ping 的结果:“Ping 请求无法找到主机 google.com“
答案1
我似乎已经解决了这个问题,我不确定这是否是正确的解决方案,但它确实有效......
根据此处的 Pritunl 文档:内部 DNS 或 VPC DNS 服务器
连接到 VPN 时,DNS 查询仍会通过 VPN 隧道,来自其他网络的查询会被拒绝。要解决此问题,请创建到 VPC DNS 服务器的 /32 路由,并将其指定为 VPN 客户端要使用的 DNS 服务器。
相反,我创建了到 1.1.1.1 和 8.8.8.8 的 /32 路由,并将它们设置为我的客户端 dns 服务器。
我的所有要求现已满足。
答案2
只需删除 pritunl 中的 DNS 服务器值即可