WSL(Ubuntu)、PC物理机,linux开发板三个设备通讯,镜像模式

一、前言

最近在使用Linux开发板的环境下,由于使用的 WSL的子系统,并不是虚拟机,导致 网络传输 这方面不是很方便,由于 WSL 只有一个网卡,也就是说要么net要么桥接,如果作为桥接到开发板,那么 WSL 就不能上网了,如果作为 net 那么就不能个开发板通讯了,一般情况下都是需要三个设备能相互 ping。这样才不会在开发的过程中出现问题。

Windows11 23 H2 版本,Windows11更新了 WSL 的网络连接方法:镜像模式

  • 什么是镜像模式?

WSL的"镜像模式"是指WSL 2中的一种网络模式,使得WSL 2与Windows共享同一个局域网IP,支持代理、IPv6以及直接的局域网连接。这种模式的优势包括IPv6和多播支持、改进的VPN网络兼容性,以及从局域网连接到WSL VM和从Linux VM内部连接到Windows服务器的能力。

二、使用

2.1 需要的系统信息

首先,这项特性需要22621.2359及以上版本的Windows 11以及2.0以上版本的WSL。使用 wsl --version 命令可以检查是否符合需求,wsl --update 命令可以更新WSL。

wsl --version
WSL 版本: 2.0.9.0
内核版本: 5.15.133.1-1
WSLg 版本: 1.0.59
MSRDC 版本: 1.2.4677
Direct3D 版本: 1.611.1-81528511
DXCore 版本: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows 版本: 10.0.22631.2787

2.2 添加 .wslconfig 文件

%UserProfile% 目录下新建一个 .wslconfig 文件,写入如下配置:

[experimental]
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true
hostAddressLoopback=true
  • networkingMode:镜像网络模式
  • dnsTunneling:更改将 DNS 请求从 WSL 代理到 Windows 的方式
  • autoProxy:强制 WSL 使用 Windows 的 HTTP 代理信息
  • firewall:Windows 防火墙规则以及特定于 Hyper-V 流量的规则可以筛选 WSL 网络流量

这样设置之后,重新启动 wsl ,在 wsl 中查看 ip 地址,可以看到 wsl 的 ip 地址和 Windows 本机的 ip 地址就是一样的了

三、如何从局域网访问WSL中的服务

将 wsl 的网络模式改成镜像模式之后,当我们在 wsl 中启动一个允许局域网访问的web服务后,可以发现虽然 ip 地址是本机的 ip 地址,且在自带的 Windows 防火墙中已经开启了端口,还是无法从局域网中访问该服务。

是因为还有个名叫 Hyper-V 防火墙 (opens new window) 的东西。需要在该防火墙中开启需要向外暴露的端口。

我是直接把防火墙关了
在这里插入图片描述


文章是自己总结而记录,有些知识点没说明白的,请各位看官多多提意见,多多交流,欢迎大家留言
如果技术交流可以加以下群,方便沟通

  • 21
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

^Lim

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

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

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

打赏作者

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

抵扣说明:

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

余额充值