在 Mac OS X Yosemite 上共享 OpenVPN

在 Mac OS X Yosemite 上共享 OpenVPN

直到 OS X 10.9 Mavericks,我一直在共享 OpenVPN 连接这样

但是,自从我将 Mac 更新到最新操作系统后,此方法就不再有效。我进行了一些 Google 搜索,似乎新的网络组件破坏了该功能。

是否可以恢复 Yosemite OS 之前的共享功能?或者有没有办法使用新的网络实用程序制定新的共享方法?

谢谢!

答案1

为了在 OS X Mavericks、Yosemite 或 El Capitan 上共享您的 OpenVPN 连接,请输入以下命令来启用数据包转发:

sudo sysctl -w net.inet.ip.forwarding=1
sudo sysctl -w net.inet.ip.fw.enable=1 

/etc/pf.conf接下来立即添加以下几行rdr-anchor "com.apple/*"

lan="{192.168.25.0/24}"
ext_if=en0
vpn_if="utun0"
nat on $ext_if from $lan to any -> ($ext_if)
nat on $vpn_if from $lan to any -> ($vpn_if)

请注意,您应该将局域网地址更改为您想要通过 OpenVPN 连接路由的局域网。ext_if应该是连接到局域网的接口。vpn_if应该是 OpenVPN 接口。我使用了 VyprVPN,tun0而不是utun0,因此您可能需要根据您的特定配置进行更改。

接下来运行以下命令来加载配置:

sudo pfctl -d
sudo pfctl -F all
sudo pfctl -f /etc/pf.conf -e

操作说明如下:http://www.douglas.wiki.br/doku.php?id=en:configuring_nat_on_mac_osx_yosemite

使用守护进程加载

如果你希望它自动加载,你可以看看这个 repohttps://github.com/essandess/osx-openvpn-server您将在其中看到一个使用 shell 脚本和 .plist 文件创建启动时加载的守护进程的示例。我刚刚将其添加/sbin/pfctl -f /etc/pf.conf -e到末尾enable-vpn-forward-nat.sh并执行以下操作:

sudo mkdir '/Library/Application Support/vpn'
sudo install -m 755 osx-openvpn-server/enable-vpn-forward-nat.sh '/Library/Application Support/vpn'
sudo install -m 644 net.openvpn.enable-vpn-forward-nat.plist /Library/LaunchDaemons
sudo launchctl load -w /Library/LaunchDaemons/net.openvpn.enable-vpn-forward-nat.plist

相关内容