![为什么 ping 命令需要以管理员权限启动 bash?](https://linux22.com/image/1502326/%E4%B8%BA%E4%BB%80%E4%B9%88%20ping%20%E5%91%BD%E4%BB%A4%E9%9C%80%E8%A6%81%E4%BB%A5%E7%AE%A1%E7%90%86%E5%91%98%E6%9D%83%E9%99%90%E5%90%AF%E5%8A%A8%20bash%EF%BC%9F.png)
我知道其他 问题甚至Github 问题关于这一点,但我已经尝试了所有给出的答案,但它们不起作用。
以下是相关文件的内容:
/etc/主机名
DESKTOP-42IRGSE
/etc/hosts
127.0.0.1 localhost DESKTOP-42IRGSE # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts
/etc/resolv.conf
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN nameserver 195.130.131.1 nameserver 195.130.130.1 search home
DESKTOP-42IRGSE
确实是我的计算机名称,并且 ips195.130.131.1
和与195.130.130.1
cmd 中的 DNS 服务器匹配ipconfig /all
。
一些调试命令尝试:
root@DESKTOP-42IRGSE:~# ifconfig
Warning: cannot open /proc/net/dev (No such file or directory). Limited output.
root@DESKTOP-42IRGSE:~# ip link
SO_SNDBUF: Invalid argument
root@DESKTOP-42IRGSE:~# ping www.google.com
ping: unknown host www.google.com
root@DESKTOP-42IRGSE:~# ping 8.8.8.4 (or any other IP)
Do you want to ping broadcast? Then -b
运行apt-get update
结果与链接的 Github 问题中的错误相同。我已禁用防火墙。
答案1
您需要先打开提升的命令提示符(以管理员身份运行)才能成功 ping
为什么 ping 命令需要以管理员权限启动 bash?
这是一个已知问题,它是由于 Linux 和 Windows 内核处理 ICMP 请求(使 ping 成为可能)的方式不同造成的。我们计划在未来版本中解决这个问题。
更新: “此问题已在 Build 14926 及更高版本中修复。”
另一个可能的问题是防火墙干扰了你的连接
为什么我无法从 WSL 访问互联网?
一些用户报告了特定防火墙应用程序阻止 WSL 中的互联网访问的问题。报告的防火墙是:
- 卡巴斯基
- 平均
- Avast
在某些情况下,关闭防火墙可以允许访问。在某些情况下,只需安装防火墙就可以阻止访问。
https://docs.microsoft.com/en-us/windows/wsl/faq#why-do-i-not-have-internet-access-from-wsl