我已经能够拒绝所有与外部网络的连接,除非我的 OpenVPN 连接使用 pf.conf 处于活动状态。但是,如果通过关闭和打开笔记本电脑盖或关闭和重新打开 Wi-Fi 来断开连接,我将失去 Wi-Fi 连接。
我设置了以下数据包过滤规则 /etc/pf.conf
# Deny all packets unless they pass through the OpenVPN connection
wifi=en1
vpn=tun0
block all
set skip on lo
pass on $wifi proto udp to [OpenVPN server IP address] port 443
pass on $vpn
Run Code Online (Sandbox Code Playgroud)
我用 启动包过滤服务sudo pfctl -e并加载新规则sudo pfctl -f /etc/pf.conf。
我还编辑/System/Library/LaunchDaemons/com.apple.pfctl.plist并更改了<string>-f</string>要读取的行,<string>-ef</string>以便数据包过滤器在系统启动时启动。
这一切一开始似乎都很好:如果 OpenVPN 连接处于活动状态,应用程序只能连接到网络,所以我从不通过不安全的连接泄漏数据。
但是,如果我关闭并重新打开笔记本电脑盖或关闭并重新打开 Wi-Fi,Wi-Fi 连接就会丢失,并且我会在状态栏中的 …