我的 VPN 连接需要某种“保护”。如果连接断开,机器甚至无法访问互联网。 (我可以通过其他方式到达机器。)
有可能吗?
如果我没记错的话,Windows有一些“保障措施”,但我从未听说过Linux有这样的解决方案。更不用说cli了。
答案1
您可以使用down
客户端配置中的指令在连接断开时触发自定义脚本。在脚本中,您可以执行多项操作来限制公共网络连接。这是我的想法:
- 设置一些 iptables 只允许连接到 VPN 服务器,所有其他连接都会被丢弃。当然,当客户端恢复时,不要忘记取消这个限制
- 修改resolv.conf文件以限制或关闭名称解析
- 合并自定义路由表
答案2
您可以为此使用防火墙。默认情况下禁用所有传入和传出流量。允许 openvpn 网络接口上的传出流量。允许从所有接口访问您的 VPN 服务器(以便您可以连接到 VPN)。
如果您只能使用主机名访问 VPN 服务器,则必须使这些规则更加宽松。允许传出端口 53 用于名称解析和传出 VPN 端口。
ufw
我将放置(简单的防火墙)的配置命令。这些命令基于askubuntu“UFW for OpenVPN”答案。
# Adapt this value to your config!
VPN_ADDRESS=...
ufw --force reset
ufw default deny incoming
ufw default deny outgoing
ufw allow out on tun0
ufw allow out to $VPN_ADDRESS
ufw enable