我在 pfSense 盒子上运行 OpenVPN 时遇到了一些问题。这个问题对我来说很奇怪。
当我打开 OpenVPN 时,只有我的路由器可以连接到互联网。从路由器上我可以使用 ping、链接等,并且连接工作完全符合预期 - 通过 VPN,使用我的 VPN 提供商(顺便说一下,是 Proxy.sh)分配的 IP 地址。
但是,本地网络上的所有客户端都无法连接到互联网。使用 ping 或 Web 浏览器时,我遇到超时问题。我可以 ping 路由器和网关的 IP 地址。
当我将默认网关从 VPN 切换到我的 ISP 网关时,一切都按预期工作。
这是 VPN 模式下的路由表(netstat -r
)及其密钥:
IPv4 目标网关标志 Refs 使用 Mtu Netif 过期 0.0.0.0/1 10.XX.X.53 UGS 0 122 1500 ovpnc1 => 默认 10.XX.X.53 UGS 0 235 1500 ovpnc1 8.8.8.8 10.XX.X.53 UGHS 0 82 1500 ovpnc1 10.XX.X.1/32 10.11.0.53 UGS 0 0 1500 ovpnc1 10.XX.X.53 链接#12 UH 0 0 1500 ovpnc1 10.XX.X.54 链接#12 UHS 0 0 16384 lo0 ZZ.XX.XXX.0/20 链接#1 U 0 83 1500 re0 ZZ.XX.XXX.XXX 链接#1 UHS 0 0 16384 lo0 127.0.0.1 链接#9 UH 0 12 16384 lo0 128.0.0.0/1 10.11.0.53 UGS 0 123 1500 ovpnc1 192.168.1.0/24 链路#11 U 0 1434 1500 ue0 192.168.1.1 链接#11 UHS 0 0 16384 lo0 YYYY/32 ZZ.XX.XXX.1 UGS 0 249 1500 re0
IP 地址
10.XX.X.53/54
- VPN 提供商为我分配的 DHCP IP 地址/IP 对ZZ.XX.XXX.XXX
- 我的 ISP 分配的外部 IPY.Y.Y.Y
- VPN 提供商分配的外部 IP
接口
ovpnc1
- 我的VPN 客户端界面re0
- 我的 LAN 接口ue0
- 我的 WAN 接口
这看起来基本上和我预期的一样。默认路由是通过 VPN 提供商。VPN 地址通过 ISP 分配的 IP 地址路由。我不确定这里出了什么问题。
所以我认定这是防火墙的问题,于是尝试启用所有进出流量。但这似乎并没有解决问题。
我还认为这可能是客户端网络问题,于是我重启了 LAN 上的客户端。但这没有帮助。
我也手动运行route flush
并重置了路线。
所以我有点困惑,如果能提供任何关于问题可能出在哪里的想法我将非常感激。
答案1
通常情况下,您必须提供指令将 IPv4 流量从 LAN 转发到新的VPN 提供的接口,可以是 tun0 也可以是 tap0。
我对 pf 还不太熟悉,所以无法尝试并给出建议。使用 iptables 时,您可以使用以下命令:
iptables --table nat --append POSTROUTING --out-interface tap0/tun0 -j MASQUERADE
我希望这能够推动正确的方向,即使这不是一个解决方案。
答案2
为了解决这个问题我必须去:
pfSense -> 防火墙 -> NAT -> 出站 -> 手动出站 NAT 规则生成(AON - 高级出站 NAT)
从那里我必须将所有 OPT1 映射移到顶部(即 WAN 映射之上)。
还请注意:
- 在防火墙规则中,我必须为 LAN 子网上的所有传入流量设置一条规则,以使其使用代理网关。在 pfSense 的规则列表中如下所示:
IPv4 TCP LAN 网络 * * 80 (HTTP) ProxySHGW 无 “LAN 子网到 Proxy.sh 网关”
- 我将默认网关保留为 WAN,但必须添加上述规则使用的 ProxySHGW 网关。
我希望这能够帮助到其他人。