WSL2桥接模式配置(可与外部设备互ping)

1.说明

  • 我在WSL2中安装了一个ubuntu22.04,实际的开发过程中就出现了 WSL2 可以ping通开发板,而开发板则不能 ping 通 WSL2的情况(开发板和windows在同一网段)。

2. 原因

  • 我们在打开WSL2创建的虚拟机时,默认使用NAT(网络地址转换)模式,windows会创建一个虚拟交换机,且这个交换机是一个内部交换机 (Internal Switch),内部交换机允许虚拟机之间以及虚拟机与 Hyper-V 主机之间的通信,但不允许直接与外部网络通信。
  • 虚拟机默认是连接到这个交换机上的,所以会导致开发板ping不通WSL2。
  • 通过 Hyper-V管理器 可以查看并管理 虚拟交换机 ,直接搜索 "Hyper-V管理器" 即可打开管理界面。

3.解决方法

3.1 解决思路

  • 通过Hyper-V管理器创建一个可连接外部网络的交换机,然后将WSL2桥接到这个交换机上。

3.2 解决步骤

  • 创建一个可连接外网的虚拟交换机

  • 将WSL桥接到这个虚拟机上
    • 在windows用户根目录下,新建个名为.wslconfig的文件,选择合适的编辑器打开它。

    • 如果不知道自己的用户根目录,可以在cmd下输入echo %USERPROFILE%,即可看到路径。

    • 写入如下内容

      bash 复制代码
      [wsl2]
      # 网络模式选择为桥接模式
      networkingMode=bridged
      # 桥接至虚拟交换机 wsl_ext
      vmSwitch=wsl_ext
    • 重启wsl, 这时虚拟机就和主机在同一网段且能与外部互ping。

相关推荐
小疆智控41 分钟前
从离散控制到集成管理:Modbus TCP转CANopen网关重构烟丝膨胀生产线
网络协议·tcp/ip·重构
创小匠1 小时前
创客匠人:AI重构知识IP定位与变现效率新范式
人工智能·tcp/ip·重构
laocooon5238578861 小时前
基于Python的TCP应用案例,包含**服务器端**和**客户端**的完整代码
网络·python·tcp/ip
沐森3 小时前
基于Fetch的post sse实现
网络协议
SZ1701102313 小时前
HTTP 请求报文 方法
网络·网络协议·http
Gazer_S6 小时前
【HTTP重定向与缓存机制详解】
网络协议·http·缓存
沐土Arvin6 小时前
HTTP 缓存策略:强缓存与协商缓存的深入解析
网络协议·http·缓存
XiaoCCCcCCccCcccC8 小时前
传输层协议 TCP 介绍 -- TCP协议格式,确认应答机制,超时重传机制,连接管理机制,滑动窗口,流量控制,拥塞控制,延迟应答,捎带应答
网络·网络协议·tcp/ip
搬码临时工10 小时前
域名访问内网网站知多少?通过自定义域名访问本地Web 服务
服务器·网络·tcp/ip
~央千澈~12 小时前
WebSocket与XMPP:即时通讯技术的本质区别与选择逻辑优雅草卓伊凡|片翼|许贝贝
网络·websocket·网络协议