OS X OpenVPN 数据包过滤

OS X OpenVPN 数据包过滤

我目前在 Mac 上运行着 OpenVPN 连接。默认情况下,我的所有网络流量目前都通过此连接路由:http、ssh 等。我试图使用数据包过滤配置来确保某些流量通过我的标准“公共”连接,但似乎无法让它正常工作。我可能配置不正确,但下面是我所拥有的。我没有收到有关pfctl我的配置的错误,但如果我curl http://ipecho.net/plain,它会显示 VPN IP 而不是我的公共 IP。

注意:我的public接口是以太网连接(en0),据我所知,utun0 是我的 OpenVPN 连接,列在 中ifconfig

pass out on en0 proto tcp from en0 to any port 80 flags S/SA keep state

与 SSH 相同。

pass out on en0 proto tcp from en to any port 22 flags S/SA keep state

我应该提到,我并不管理 OpenVPN 服务器。

答案1

我假设你使用 OpenVPN 只是为了访问你的家庭局域网。如果确实如此,有几种方法可以覆盖通常的

      push "redirect-gateway def1"

在 server.conf 中设置。你会发现它们被描述在此 OpenVPN Wiki 页面上,其中最简单的一个就是将这四行添加到客户端配置文件中:

     route 0.0.0.0 192.0.0.0 net_gateway
     route 64.0.0.0 192.0.0.0 net_gateway
     route 128.0.0.0 192.0.0.0 net_gateway
     route 192.0.0.0 192.0.0.0 net_gateway

Wiki 上明确指出:

请注意,net_gateway 是 openvpn 的内部变量,不需要更改为任何内容

并且更令人放心的是,这四行代码会起作用......

如果您不知道您的服务器是否使用 def1,并且不想检查日志来弄清楚,只需假设他们确实使用 def1 并使用 4 条路由。无论如何,这都会有效。

相关内容