Ubuntu 上的 NordVPN:守护进程、登录与干净卸载
在重装之前先判断是守护进程、软件包还是登录流程坏了,然后清掉卸载后残留的配置档案与 apt 源。
先从终端的报告入手,而不是安装程序。厂商 VPN 客户端失败,可能是因为后台服务没运行,可能是软件包与更新的发行版不兼容,可能是登录流程变了,也可能是旧连接配置仍然生效。每种情况的痕迹都不同,而重装最多只能修好其中一种。按顺序做完检查,一旦证据指向某一层就停下来。
先查服务,而不是安装程序
先读单元状态:systemctl status nordvpnd 会告诉你守护进程是否在运行、最近是否重启过。像 Permission denied accessing /run/nordvpn/nordvpnd.sock 这样的套接字权限信息属于组成员问题,与隧道无关。把账户加入厂商组,然后完全注销桌面会话再重新登录。新开的终端仍沿用旧的组列表,所以 id 是确认改动已生效的唯一快捷方式。
守护进程正常而客户端不理你时,软件包更可疑。图形入口点了没反应、命令静默退出,都是软件包层面的症状。发行版升级后,用 Python 写的厂商管理工具可能因库 API 被移除而失败,所以在删除任何东西之前,先对比已安装版本与厂商当前提供的内容。
选择当前版本提供的登录方式
去年的登录说明可能写着一个已不存在的参数。当前版本中,nordvpn login --legacy 会返回 flag provided but not defined: -legacy,受支持的两种方式是门户令牌和浏览器回调。走令牌方式时,在账户页面生成后只传一次:nordvpn login --token <token>。走回调方式时,复制成功地址,把 https:// 换成 nordvpn://,交给 nordvpn login --callback 时给结果加上引号。
两个值都是凭据。没有有效期的令牌在无头机器上很方便,留在 shell 历史里却很危险,所以用完就清掉,也别让它进支持包。
彻底卸载,连软件源一起清
卸载分三部分:软件包、apt 源和组成员身份。只清软件包,会留下一个继续响应 apt update 的源,以及一个继续授权访问套接字的旧组。若客户端来自下载的 .deb,先用 dpkg -l | grep -i nordvpn 查清确切包名,因为猜错会得到一次什么都没删掉的清理。
厂商自己的卸载说明若存在就保留,并记录你删了什么,免得以后重装时悄悄继承半套配置。
sudo apt purge nordvpn
sudo rm /etc/apt/sources.list.d/nordvpn.list
sudo gpasswd -d "$USER" nordvpn
清掉卸载遗漏的配置档案
NetworkManager 把连接存在自己的库里,配置阶段写入的连接可能在卸载后很久仍然生效。已知的元凶是 pvpn-ipv6leak-protection。用 nmcli connection show 和 nmcli connection show --active 列出来,记下 UUID,再按该标识删除,以免误删仍在使用的配置。若重启后条目又出现,删掉 /etc/NetworkManager/system-connections/ 下的密钥文件并重启 NetworkManager。
不要清空那个目录。其他 VPN 和普通有线配置也在其中,一次把它们删掉的清理会制造第二次故障。其他厂商保存的条目同样要谨慎:保存的服务器配置不是运行中的守护进程,删它属于配置决定,而不是修 bug。
能登录不等于隧道可用
登录成功只证明账户通过了认证。如果隧道起来了但域名解析停了,先检查客户端所选的技术和解析器状态,再动账户。有些版本会提供第二条数据路径,新路径起不来时切过去就是文档给出的绕行方案。
只在连接时中断的流量,指向的是终止开关或残留的防泄漏配置,而不是又一次登录。本地设备要单独看:会话中消失的打印机或文件服务器通常是被厂商的局域网例外清单挡住,而不是路由器。