WSL 环境桥接与雷达通信配置笔记

作者: DWDROME

维护时间: 2025-03-22

参考文章:Windows子系统(WSL)通过桥接网络实现被外部局域网主机直接访问

WSL 环境桥接与雷达通信配置笔记

环境说明

  • Windows 11 专业版(启用 Hyper-V)
  • WSL2 Ubuntu 20.04
  • 物理网线(连接 Livox 雷达)
  • WSL 使用桥接方式访问物理网段,设置静态 IP 与雷达同网段

实现方法

思路就是将 WSL2 自建的虚拟 NAT 网络桥接到 Windows 主机网卡(以太网 2)上,再通过脚本为 WSL 配置静态 IP,从而实现与雷达设备通信。

1、开启 Hyper-V

桥接功能依赖 Hyper-V 组件,仅在 Windows 10/11 专业版中提供。开启方法如下:

  1. 打开控制面板 → 程序 → 启用或关闭 Windows 功能;
  2. 勾选 Hyper-V 相关项;
  3. 重启电脑生效。

2、桥接网络

WSL2 默认采用 NAT 网络,不利于局域网通信,需将其桥接到物理网卡(如以太网 2)。

操作步骤:

  1. 启动一次 wsl,确保 Hyper-V 为其创建虚拟交换机;
  2. 管理员身份打开 PowerShell,执行 Get-NetAdapter 查出网卡名称;
  3. 使用以下命令桥接网卡:
Set-VMSwitch "WSL (Hyper-V firewall)" -NetAdapterName "以太网 2"

3、手动修改 WSL 网络

进入 WSL,配置 IP 与路由,保持与雷达在同一网段:

ip addr del ...
ip addr add ...
ip route add ...
nano /etc/resolv.conf

若步骤繁琐,可参考下方自动脚本配置。

4、一键桥接脚本说明

为了简化配置,建议编脚本:

(1)WSL 网络配置脚本 set_eth0.sh

作用:在 WSL 内配置 eth0 的 IP、路由和 DNS。

内容如下(请自行填写):

#!/bin/bash
# 设置 eth0 的静态 IP 以连接 Livox 雷达new_ip=192.168.1.50
brd=192.168.1.255
gateway=192.168.1.1
nameserver=192.168.1.1
net_dev=eth0# 获取当前 IP
current_ip=$(ip addr show $net_dev | grep 'inet\b' | awk '{print $2}' | head -n 1)# 删除旧 IP(如果存在)
if [ -n "$current_ip" ]; thenecho "检测到当前 IP 为 $current_ip,正在删除..."echo "YourPassword" | sudo -S ip addr del "$current_ip" dev $net_dev
elseecho "未检测到已有 IP,跳过删除。"
fi# 添加新 IP 和网关
sudo ip addr add $new_ip/24 broadcast $brd dev $net_dev
sudo ip route add 0.0.0.0/0 via $gateway dev $net_dev# 设置 DNS
sudo sed -i "\$c nameserver $nameserver" /etc/resolv.conf

(2)PowerShell 桥接脚本 wsl-bridge-on.ps1

作用:以管理员权限运行,桥接虚拟交换机,并调用 WSL 中的配置脚本。

内容如下(请自行填写):

# wsl-bridge-on.ps1
# 自动桥接 WSL 到物理网卡(以太网 2)并配置 WSL 静态 IP
$currentWi = [Security.Principal.WindowsIdentity]::GetCurrent()
$currentWp = [Security.Principal.WindowsPrincipal]$currentWi
if (-not $currentWp.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) {$boundPara = ($MyInvocation.BoundParameters.Keys | foreach { '-{0} {1}' -f $_, $MyInvocation.BoundParameters[$_] }) -join ' '$currentFile = $MyInvocation.MyCommand.Definition$fullPara = $boundPara + ' ' + $args -join ' 'Start-Process "$psHome\pwsh.exe" -ArgumentList "$currentFile $fullPara" -verb runasreturn
}Write-Host "`n正在检测并准备 WSL 网络..."
wsl --cd ~ -e ls$switchName = "WSL (Hyper-V firewall)"
$netAdapter = "以太网 2"if ((Get-VMSwitch).Name -contains $switchName) {Write-Host "`n检测到交换机已存在,跳过创建。"
} else {Write-Host "`n未检测到交换机,正在创建..."New-VMSwitch -Name $switchName -NetAdapterName $netAdapter -AllowManagementOS $true
}Write-Host "`n执行桥接配置..."
Set-VMSwitch $switchName -NetAdapterName $netAdapterWrite-Host "`n正在配置 WSL 静态 IP..."
wsl bash -c "/home/dw/set_eth0.sh"Write-Host "`ndone"
pause

(3)PowerShell 桥接脚本 wsl-bridge-off.ps1

取消桥接脚本,同时重启wsl

# 检查并以管理员身份运行 PS 并带上参数
$currentWi = [Security.Principal.WindowsIdentity]::GetCurrent()
$currentWp = [Security.Principal.WindowsPrincipal]$currentWi
if (-not $currentWp.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) {$boundPara = ($MyInvocation.BoundParameters.Keys | foreach { '-{0} {1}' -f $_, $MyInvocation.BoundParameters[$_] }) -join ' '$currentFile = $MyInvocation.MyCommand.Definition$fullPara = $boundPara + ' ' + $args -join ' 'Start-Process "$psHome\pwsh.exe" -ArgumentList "$currentFile $fullPara" -verb runasreturn
}echo "正在解除 WSL 桥接..."
Set-VMSwitch "WSL (Hyper-V firewall)" -SwitchType Internalecho "正在重启 WSL..."
wsl --shutdown
wsl --cd ~ -e lsecho "`ndone"
pause

6、启用 PowerShell 脚本执行权限

默认 Windows 禁止执行 .ps1 脚本,需手动启用:

管理员 PowerShell 中执行:

Set-ExecutionPolicy RemoteSigned

输入 Y 确认。

7、使用方法

  • 执行桥接:双击 wsl-bridge-on.ps1,等待执行完成;
  • 执行取消桥接:双击 wsl-bridge-off.ps1

如需修改打开方式:右键 .ps1 → 选择 pwsh.exe 打开,并设为默认。

8、补充说明

  • 使用过程中若出现多个 vEthernet 接口,建议删除无效网卡并重建交换机;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/38057.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言的数据类型与变量(完整版)

目录 一、基本数据类型 (一)字符类型 (二)整数类型 1、短整型 — short 2、整型 — int 3、长整型 — long 4、长长整型 — long long (三)布尔类型 (四)浮点类型 1、单精…

免费下载 | 2025低空经济产业发展报告

低空经济概览 产业链条:低空经济产业链分为上游的低空经济基础设施(如空管系统、飞行基地等)、中游的低空制造(包括无人机、eVTOL、直升机等飞行器的设计、研发、生产)和下游的低空运营及飞行服务。低空经济以低空空域…

git_version_control_proper_practice

git_version_control_proper_practice version control,版本控制的方法之一就是打tag 因为多人协作的项目团队,commit很多,所以需要给重要的commit打tag,方便checkout,检出这个tag 参考行业的实践方式。如图git、linux…

金桔网桥连载4-详解

上一节我讲到小王升职加薪,越活越年轻,然后我们的网络就成这样的 如果继续往下进行网络扩展,恐怕看的人就越看越糊涂,如果一篇文章看到人越少,那么存在的价值越小,使我想起了每年一部的梦工厂电影&#xff…

从GTC2025首次量子日看英伟达量子AI融合算力网络前景与趋势

GTC2025 Quantum Day 最新内容全部汇总: 技术名称描述合作伙伴/开发者应用场景/目标量子模拟器优化方案NVIDIA与IonQ、D-Wave合作,针对量子模拟器进行性能优化,提升量子计算任务效率。IonQ、D-Wave量子算法开发、复杂系统模拟混合量子-经典计算架构结合量子计算与经典GPU加速…

24.map和set的使用

一、序列式容器和关联式容器 序列式容器:逻辑结构为线性序列的容器,两个位置所存放的数据一般没有紧密关系,例如两个位置交换一下,逻辑结构没有改变。 关联式容器:通常是非线性结构(堆例外)&…

免费Typora1.8.6安装教程

🌟 Typora - 极简主义的 Markdown 编辑器免费指南 🌟 📌 什么是 Typora? Typora 是一款广受好评的 **所见即所得** 的 Markdown 编辑器,以极致简洁的界面和流畅的写作体验闻名。它让 Markdown 写作变得像使用 Word 一…

元音辅音及其字母组合发音

文章目录 单元音长元音/ɑː//ɔ://u://i://ɜː/// 短元音/ʌ//ɒ//ʊ//ɪ//ə//e/ 双元音/eɪ//aɪ//ɔɪ//ɪə//eə//ʊə//əʊ//aʊ/ 辅音3个鼻辅音m n ŋ 5个独立浊辅音w j r l h 20个清浊相对的辅音s zʃ ʒf vθ p bt dk gts dztʃ dʒtr dr 以下是列举的部分字母组合…

基于FPGA频率、幅度、相位可调的任意函数发生器(DDS)实现

基于FPGA实现频率、幅度、相位可调的DDS 1 摘要 直接数字合成器( DDS ) 是一种通过生成数字形式的时变信号并进行数模转换来产生模拟波形(通常为正弦波)的方法,它通过数字方式直接合成信号,而不是通过模拟信号生成技术。DDS主要被应用于信号生成、通信系统中的本振、函…

C++调用ffmpeg解复用、解码案例

框架 一个封装文件(mp4)如何播放?大体流程如下: 案例 本案例实现在windows环境下,调用ffmpeg4.4.5动态库实现上述从解封装、视频解码、音频解码的全部过程,案例测试通过。由于ffmpeg接口功能网上资料较多&a…

Linux(进程)

一.冯诺依曼体系结构 输入设备:键盘,鼠标,话筒,摄像头...网卡,磁盘 输出设备:显示器,磁盘,网卡,打印机 外设:输入设备输出设备 cpu(中央处理器&am…

[极客大挑战 2019]BabySQL—3.20BUUCTF练习day4(3)

[极客大挑战 2019]BabySQL-3.20BUUCTF练习day4(3) 做题过程 打开是以下页面(前几天有它的第一版和第二版出现)输入1’ 回显以下内容(还是字符型以单引号闭合,因为有报错信息回显) 输入1 order by 4%23回显成这个 被过…

[Effective C++]条款20:宁以 pass-by-reference-to-const替换 pass-by-value

. 在C中,函数参数与返回值的数据传递的方式,对程序的性能和正确性有着重要影响。C默认使用pass-by-value(传值)的方式传递参数。但这种方式在某些情况下会导致性能问题和对象切割问题。 C推荐使用pass-by-reference-to-const&…

文字变央视级语音转换工具

大家在制作短视频、广告宣传、有声读物、自媒体配音、学习辅助等场景的时候,经常会需要用到配音来增强视频的表现力和吸引力。然而,市面上的一些配音软件往往需要收费,这对于很多初学者或者预算有限的朋友来说,无疑增加了一定的负…

邂逅书香:在诗韵与青春中找寻心灵归处

在信息如洪流般奔涌的当下,我们的灵魂时常在喧嚣中漂泊,渴望一处宁静港湾。而书籍,一直以来都是人类最忠诚的精神伴侣。今天,要为诗歌爱好者和青春文学迷们带来两份特别的礼物——《韵之队诗集》与《青春与爱共舞》,它…

国科大——计网(0812)——实验作业

**前沿:**此博客记录了24—25年度秋季学期计算机网络(0812)课程的实验作业,所提供的材料仅供参考。 0 实验题目 本次实验总共提供了四个可选的题目,即BGP分析实验,BGP 前缀劫持攻击及检测实验&#xff0c…

新能源汽车高压液体加热器总成技术解析及未来发展趋势

引言 新能源汽车的快速发展对热管理系统提出了更高要求,高压液体加热器作为核心组件,直接影响车辆低温性能、电池寿命及用户体验。本文以实际产品为例,结合行业数据与技术趋势,深度解析高压液体加热器的技术原理、市场现状及未来…

蓝桥杯 数字接龙

问题描述 小蓝最近迷上了一款名为《数字接龙》的迷宫游戏。 游戏在一个大小为 N N 的格子棋盘上展开,其中每一个格子处都有一个 0 到 K-1 之间的整数。 游戏规则如下: 从左上角 (0, 0) 出发,目标是到达右下角 (N-1, N-1)。 每一步可以选…

SysVinit和Systemd的系统运行级别

Linux运行级别 SysVinit系统(init守护进程)Linux系统运行级别SysVinit系统(init守护进程)查看Linux运行级别SysVinit系统(init守护进程)修改运行级别: Systemd守护进程Linux系统运行级别systemd查看运行级别Systemd查看系统当前运行级别 systemd修改运行级别multi-u…

SAP SD学习笔记33 - 预詑品(寄售物料),预詑品引渡(KB),预詑品出库(KE)

上一章讲了Service品目。 SAP SD学习笔记32 - Service品目(服务产品)-CSDN博客 本章继续讲SAP SD的知识 - 预詑品(寄售物料)。 目录 1,预詑品概要 1-1,预詑品(寄售物料)的概念 1-2,预詑品的4种业务 1-3,受托品与…