直到 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