Debian 暂停后网络故障(使用 NordVPN)

Debian 暂停后网络故障(使用 NordVPN)

几个月前,我迁移到 Linux、PureOS,现在迁移到 Debian 10。总的来说,我很喜欢它,这是一个正确的决定,但遇到了一些令人沮丧的问题,在几种情况下网络完全失败,唯一能解决的办法就是重新启动。

  1. 暂停后(并不总是可重复的)
  2. 拔掉 USB 无线适配器后

我的行为和尝试过的事情

观察到的行为如下(对任何丢失的信息提前道歉 - 网络不是我的强项,我仍在寻找解决办法,所以我一直在做的事情可能是完全错误的!)

WiFi 似乎工作正常并连接到网络,但无法发出任何传出请求。奇怪的是,ping失败了:

ping: sendmsg: Operation not permitted

卡是使用驱动程序的 Atheros AR9462 ath9k(输出如下lspci

01:00.0 Network controller: Qualcomm Atheros AR9462 Wireless Network Adapter (rev 01)
    Subsystem: Lite-On Communications Inc AR9462 Wireless Network Adapter
    Flags: bus master, fast devsel, latency 0, IRQ 16
    Memory at d1000000 (64-bit, non-prefetchable) [size=512K]
    Expansion ROM at d1080000 [disabled] [size=64K]
    Capabilities: <access denied>
    Kernel driver in use: ath9k
    Kernel modules: ath9k

注意,即使卡工作正常,“访问被拒绝”仍然显示。

输出ip addr

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
6: wlp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 30:10:b3:06:0d:46 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.2/24 brd 192.168.0.255 scope global dynamic noprefixroute wlp1s0
       valid_lft 86324sec preferred_lft 86324sec
    inet6 2a02:c7f:607d:c200:de25:b539:67b5:e1e0/64 scope global dynamic noprefixroute 
       valid_lft 2917sec preferred_lft 2917sec
    inet6 fdf3:9d9f:4b19:0:7164:9b0f:40fa:1f9c/64 scope global noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 fe80::4d60:c6e4:9b2a:a0ab/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

ip route

default via 192.168.0.1 dev wlp1s0 proto dhcp metric 600 
169.254.0.0/16 dev wlp1s0 scope link metric 1000 
192.168.0.0/24 dev wlp1s0 proto kernel scope link src 192.168.0.2 metric 600 

忘记网络并重新连接并不能解决问题。该机器有一个硬件开关可以禁用 PCI 无线,切换它也没有帮助。续订 DHCP 租约失败,通过以下方式重新启动网络服务也失败

sudo systemctl restart NetworkManager.service

modprobe我什至尝试结合上述步骤使用内核删除并重新注册无线驱动程序。

我确实使用 VPN 服务(nordvpn通过终端),并且在发生连接问题后nordvpn命令失败(在需要 Ctrl-C 的命令提示符处无响应)。kill重新启动该nordvpn进程并不能解决问题。

编辑:没有奇怪的规则iptables会导致被ping阻止感谢用户 AB(请参阅下面的评论),我现在意识到已iptables使用默认策略更新为 DROP,并且 VPN 过程很可能是原因。如果我可以复制/修复,将进一步测试并编辑问题。

Chain INPUT (policy DROP)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy DROP)
target     prot opt source               destination    

什么有效

因此,恢复网络连接的唯一方法就是重新启动。奇怪的是,触摸板有时在重新启动后完全没有响应,因此我需要重新启动两次。

以上内容相当令人恼火,我已经完成了解决该问题的业余尝试,因此我将非常感谢任何指导!提前致谢。

答案1

非常感谢用户 AB(请参阅评论),他指出缺乏连接是由持续的iptables DROP策略引起的。这似乎是 NordVPN 服务的一个错误,当机器挂起时出现问题时,NordVPN 服务不会将它们重置为默认值。按照建议在这里发布解决方案,以防这里的其他人遇到同样的问题。

出现问题时,sudo iptables -L显示:

Chain INPUT (policy DROP)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy DROP)
target     prot opt source               destination         

终止nordvpn进程,然后iptables根据情况重置规则和策略这份数字海洋指南解决了问题。

# Kill the nordvpn process
ps aux | grep nordvpn
kill -9 NORDVPND_PROCESS_NUMBER

# reset the default policies
# NB all iptables commands require root (sudo)
iptables --policy INPUT ACCEPT
iptables --policy FORWARD ACCEPT
iptables --policy OUTPUT ACCEPT

# flush the nat and mangle tables
iptables -t nat --flush
iptables -t mangle --flush

# flush all chains, and delete all non-default chains
iptables --flush
iptables -X

相关内容