Ping 返回,“操作不允许。” 无法连接到广播或互联网

pis*_*969 11 network-manager networking dns dhcp

我已经尝试解决这个问题 5 个小时了。希望懂行的人帮帮我。

随机地,没有我对我的设备进行任何更改,我的互联网中断了。我试图 ping 谷歌 DNS,但遇到了sendmsg: operation not permitted.我花了几个小时谷歌搜索这个问题,并尝试了人类已知的所有解决方案,但没有成功。如果有的话,我进一步打破了它。

以下是一些有用的数据:

$ cat /etc/network/interfaces 
auto lo
iface lo inet loopback

allow-hotplug wlp3s0
iface wlp3s0 inet dhcp
Run Code Online (Sandbox Code Playgroud)
$ cat /etc/NetworkManager/NetworkManager.conf
[main]
plugins=ifupdown,keyfile,afono

[ifupdown]
managed=true
Run Code Online (Sandbox Code Playgroud)
$ cat /etc/systemd/resolved.conf
[Resolve]
DNS=8.8.8.8
DNSStubListener=no
Run Code Online (Sandbox Code Playgroud)

摘录自journalctl

/etc/dhcpclient-enter-hooks.d/samba returned non-zero exit status 1
...
send_packet: Operation not permitted
...
dhclient.c: Failed to send 300 byte long packet over fallback interface
Run Code Online (Sandbox Code Playgroud)
$ ping 8.8.8.8
ping: sendmsg: Operation not permitted
Run Code Online (Sandbox Code Playgroud)
$ ping [broadcast IP] -b
ping: sendmsg: Operation not permitted
Run Code Online (Sandbox Code Playgroud)

谢谢!

小智 10

作为混沌教授,我遇到了问题/解决方案。NordVPN 有一个“互联网终止开关”,可以防止您在没有启用 VPN 的情况下访问互联网。一旦我激活了nordvpn internet就可以了。仅供参考,对于终端类型的选项:

man nordvpn
Run Code Online (Sandbox Code Playgroud)

禁用这个killswitch(现在你知道了,你可能不想这样做)

nordvpn set killswitch disable
Run Code Online (Sandbox Code Playgroud)

  • 你救了我的命,也救了我的 Ubuntu 安装。我有完全相同的问题。 (2认同)

小智 7

nordvpn set killswitch off
Run Code Online (Sandbox Code Playgroud)

上述解决方案对我不起作用。

我花了大约一个小时,但我找到了解决方案:

sudo iptables -F
Run Code Online (Sandbox Code Playgroud)

  • `sudo iptables -F` 删除所有防火墙规则。根据规则最初创建/保存的方式,它可以很容易地恢复。您可以通过使用“iptables -L -n -v”列出规则并使用“iptables -D”删除特定规则来更加精确 (3认同)

小智 0

从journalctl摘录来看,您的防火墙、IPTables很可能正在阻止 DHCP 请求。我猜测您失去互联网之前的时间大约与网络上的 DHCP 租用时间相同。因此,当您的计算机尝试更新其 IP 地址时,它会被阻止。

不知道你的防火墙是怎么设置的。但您需要确保端口 67 和 68 未被阻止。

你可以尝试运行:

iptables -I INPUT -p udp --dport 67:68 --sport 67:68 -j ACCEPT
iptables -I OUTPUT -p udp --dport 67:68 --sport 67:68 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

至少在下次重新启动之前应该允许 DHCP