数ヶ月前、私はLinux、PureOS、そして今はDebian 10に移行しました。全体的に気に入り、正しい決定でしたが、ネットワークが何度も完全に失敗するなど、いくつかの残念な問題に直面し、それを解決する唯一の方法は再起動でした。
- 一時停止後(常に繰り返すことはできません)
- 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
iptables
ユーザーAB(以下の説明を参照)のおかげで、デフォルトポリシーを使用して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
何が起こるのか
したがって、ネットワーク接続を復元する唯一の方法は、再起動することです。奇妙なことに、再起動後にタッチパッドが完全に反応しないことがあり、2回再起動する必要がありました。
上記はかなり迷惑で、アマチュアとしてこの問題を解決するために努力しました。どんなアドバイスでもいただければとても感謝します!よろしくお願いします。
答え1
iptables
DROP
継続的なポリシーにより接続不足が発生したことを指摘したユーザーAB(コメントを参照)に感謝します。これは、問題が発生したときにシステムをデフォルト値にリセットしない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