Linux端ProtonVPN已卸载但Kill Switch仍处于启用状态,如何关闭?
遇到这种情况真的太闹心了——明明把ProtonVPN卸载了,结果Kill Switch还锁着不让上网,我来给你几个实用的排查和解决步骤:
清理iptables规则(最常见的原因)
ProtonVPN的Kill Switch核心是靠iptables限制流量,卸载时可能没清理干净规则。先检查有没有残留的Proton相关规则:sudo iptables -L如果看到带
PROTONVPN-前缀的链(比如PROTONVPN-INPUT、PROTONVPN-OUTPUT),先清空所有iptables规则:sudo iptables -F然后删除这些自定义链(把下面的链名换成你看到的实际名称):
sudo iptables -X PROTONVPN-INPUT sudo iptables -X PROTONVPN-OUTPUT最后恢复iptables的默认允许策略:
sudo iptables -P INPUT ACCEPT sudo iptables -P OUTPUT ACCEPT sudo iptables -P FORWARD ACCEPT检查nftables(新系统可能用这个)
如果你的Linux发行版默认用nftables(比如Ubuntu 22.04+、Fedora),ProtonVPN也可能在这里留下规则。先查看所有规则:sudo nft list ruleset要是发现Proton相关的条目,直接清空整个规则集:
sudo nft flush ruleset之后可以重启nftables服务恢复默认配置:
sudo systemctl restart nftables清理残留的systemd服务
有时候卸载不彻底会留下后台服务在维持Kill Switch。先排查有没有Proton相关的服务:sudo systemctl list-units | grep -i proton如果找到类似
protonvpn-service的服务,先停止并禁用它:sudo systemctl stop protonvpn-service sudo systemctl disable protonvpn-service再删掉残留的服务配置文件:
sudo rm -rf /etc/systemd/system/protonvpn* sudo systemctl daemon-reload删除Network Manager残留连接
ProtonVPN可能在Network Manager里创建了虚拟连接,卸载后没删掉。先列出所有连接:nmcli connection show找到带
ProtonVPN字样的连接,用下面的命令删除(把连接名换成实际名称):nmcli connection delete "连接名"最后重启网络服务或系统
做完上面的步骤后,重启Network Manager让设置生效:sudo systemctl restart NetworkManager如果还是不行,干脆重启电脑,确保所有残留的规则和服务都被彻底清除。
备注:内容来源于stack exchange,提问作者Pioneer_11




