Windows WSL 能 ping 通但 curl 无响应

方法一

WSL子系统中执行:
sudo cp /etc/resolv.conf /etc/resolv.conf.bak
sudo rm /etc/resolv.conf
sudo bash -c 'echo "nameserver 8.8.8.8" > /etc/resolv.conf'
sudo bash -c 'echo "[network]" > /etc/wsl.conf'
sudo bash -c 'echo "generateResolvConf = false" >> /etc/wsl.conf'
sudo chattr +i /etc/resolv.conf
Windows中执行
wsl --shutdown
netsh winsock reset
netsh int ip reset all
netsh winhttp reset proxy
ipconfig /flushdns

方法二

退回到WSL1版本(WSL1和WSL2的网络模式不同,/etc/resolv.conf文件内容也不同)
wsl --set-version Ubuntu-20.04 1

无解的场景

如果使用的是WSL2版本,且安装了Symantec Endpoint Protection赛门铁克等安全软件,会拦截wsl.exe流量。如果无法关闭这类软件,则只能考虑使用Virutal Box、VMWare等虚拟机了。

参考地址

https://github.com/microsoft/WSL/issues/5382
https://www.zhangbj.com/p/1178.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值