通常我使用 VPN 连接到 Internet,但有时它会失败并且某些程序可能会自动开始使用默认的不安全连接。
如何在 VPN 连接恢复之前断开所有互联网?我想确保所有流量都只通过 VPN。
如果您知道 VPN 的 IP 地址,则在连接到网络后,可以通过默认网关 IP 创建到该 VPN 服务器 IP 的路由,并删除默认路由以防止在其他任何地方进行连接。
export vpn_ip=VPN_SERVER_IP
export gateway_ip=$(ip route | grep default | cut -d" " -f 3)
sudo ip route del default via $gateway_ip
sudo ip route add $vpn_ip via $gateway_ip
Run Code Online (Sandbox Code Playgroud)
这将阻止与 VPN IP 的任何连接(无论 VPN 连接如何),但仍允许建立/重新建立 VPN 连接。
建议的其他解决方案的问题是您需要连接才能连接到 VPN,因此,您必须连接到 LAN/WiFi,不能只删除/禁用这些连接。
是否尝试拔掉电缆直到 VPN 恢复?
在任何情况下,您都可以删除网络管理器存储的所有有线/无线连接,只将 VPN 连接保留在那里,并激活“自动”选项,这样当 VPN 恢复时,它会自动连接到它。
只是为了让我的观点更清楚一点。在有线、无线、移动宽带和 DSL 中,将您可能拥有的任何连接设置为非自动(从复选框中删除自动连接复选框)。或者更彻底地彻底删除连接。自动连接中唯一应该出现的是您拥有的 VPN 连接。
有了这个,您应该拥有一个在 VPN 可用时自动连接到 VPN 的系统。当它断开连接时,系统将保持离线状态,直到 VPN 恢复。