我正在使用 OpenVPN 和新的 VPN 服务(以前使用 PTPP 时没有问题)。但我非常怀疑 VPN 无法正常工作。IP 检查似乎表明一切正常,但当我尝试连接到我所在国家/地区被屏蔽的网站时,我被重定向到通常的政府网站。我假设并非所有流量都通过 VPN。我如何检查是否安全?
答案1
默认情况下,当 OpenVPN 客户端处于活动状态时,只有往返于 OpenVPN 服务器站点的网络流量会通过 VPN。例如,常规网页浏览将通过绕过 VPN 的直接连接完成。
将以下指令添加到服务器配置文件:
push "redirect-gateway def1"
如果您的 VPN 设置是通过无线网络进行的,其中所有客户端和服务器都在同一个无线子网上,请添加本地标志:
push "redirect-gateway local def1"
将重定向网关选项推送到客户端将导致所有来自客户端计算机的 IP 网络流量都通过 OpenVPN 服务器。需要配置服务器以某种方式处理此流量,例如通过 NAT 将其发送到互联网,或通过服务器站点的 HTTP 代理进行路由。
在 Linux 上,您可以使用如下命令将 VPN 客户端流量通过 NAT 传输到互联网:
iptables -t nat -A POSTROUTING -s xxx.xxx.xxx.xxx/yy -o eth0 -j MASQUERADE
此命令假定 VPN 子网为 xxx.xxx.xxx.xxx/yy(取自 OpenVPN 服务器配置中的服务器指令)并且本地以太网接口为 eth0。
使用重定向网关时,OpenVPN 客户端将通过 VPN 路由 DNS 查询,VPN 服务器将需要处理这些查询。这可以通过将 DNS 服务器地址推送到连接的客户端来实现,在 VPN 处于活动状态期间,该地址将替换其正常的 DNS 服务器设置。例如:
push "dhcp-option DNS zzz.zzz.zzz.zzz"