Windows 无法访问wsl ubuntu 中 docker 的端口

本文讲述了WSL2.0更新后遇到的代理配置问题,包括由于mirror模式导致的nameserver问题和自动代理设置。还介绍了端口访问问题,如Docker应用在Windows上无法访问的解决办法,包括调整Windows和WSL防火墙设置以及关闭Docker防火墙。
摘要由CSDN通过智能技术生成

摘 要

随着WSL的更新,wsl的增加了许多特性,但也遇到了一些问题:

  • 代理方式的改变
  • 端口访问问题

由于折腾了很久,所以做一下记录。

代理问题解决

解决方法: 去掉wsl中使用脚本配置的代理

原因:

关于wsl使用代理, 最常见的方法是使用如下脚本

hostip=$(cat /etc/resolv.conf |grep -oP '(?<=nameserver\ ).*')
export https_proxy="http://${hostip}:13579"
export http_proxy="http://${hostip}:13579"
export all_proxy="socks5://${hostip}:13579"

但是如果在windows目录C:/User/<用户名>/.wslconfig中的配置为

[wsl2]
networkingMode=mirrored # 开启镜像网络
dnsTunneling=true # 开启 DNS Tunneling
firewall=true # 开启 Windows 防火墙
autoProxy=true # 开启自动同步代理

[experimental]
hostAddressLoopback=true

很有可能出现的情况是无法连接到VPN,原因是/etc/resovf.conf中的nameserver127.0.0.42, 这是由于networkingMode=mirrored后有许多改变,

总之结果就是无法访问vpn了,如果删除 ~/.bashrc中关于proxy的配置,访问外网

wget www.google.com

是可以正常访问的,这是因为新版wsl有了autoProxy=true功能,能够自动寻找主机的代理。但是不能ping通。[Todo 解决Ping问题, 暂时不解决因为代理可以使用,可能原因是ICMP 协议不走代理]

在这里插入图片描述

当然也有可能不能访问,可能是防火墙的问题。解决方法如下,

端口访问问题

问题状况是,在wsl中用docker启动了某个应用, 在windows上无法访问,并且确保,windows的防火墙放行了,同时 wsl的防火墙也关闭了,但是无法访问,最终比较关键的是参考WSL 2.0中使用networkingMode=mirrored,解决docker转发和外部设备访问问题

解决方法:

  • 确保windows 放行了wsl的出站入站规则,也可以使用命令实现,其中的vEthernet (WSL)以具体情况而定,比如我的是vEthernet (Default Switch)

    New-NetFirewallRule -DisplayName "WSL" -Direction Inbound  -InterfaceAlias "vEthernet (WSL)"  -Action Allow
    
  • 确保ubuntu关闭了防火墙

    sudo ufw disable
    
  • 确保 Hyper-V 防火墙被关闭, 注意:‘{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}’ 复制到Power shell''会消失,需要手动添加,解决方法来源

    Set-NetFirewallHyperVVMSetting -Name{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}-DefaultInboundAction Allow
    
  • 关闭docker的防火墙/etc/docker/daemon.json

    {
        "iptables": false
    }
    
  • 24
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

都学点

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值