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 专业版中提供。开启方法如下:
- 打开控制面板 → 程序 → 启用或关闭 Windows 功能;
- 勾选 Hyper-V 相关项;
- 重启电脑生效。
2、桥接网络
WSL2 默认采用 NAT 网络,不利于局域网通信,需将其桥接到物理网卡(如以太网 2)。
操作步骤:
- 启动一次
wsl,确保 Hyper-V 为其创建虚拟交换机; - 管理员身份打开 PowerShell,执行
Get-NetAdapter查出网卡名称; - 使用以下命令桥接网卡:
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接口,建议删除无效网卡并重建交换机;
相关文章:
WSL 环境桥接与雷达通信配置笔记
作者: DWDROME 维护时间: 2025-03-22 参考文章:Windows子系统(WSL)通过桥接网络实现被外部局域网主机直接访问 WSL 环境桥接与雷达通信配置笔记 环境说明 Windows 11 专业版(启用 Hyper-V)WSL2 Ubuntu 20.04物理网线(…...
3DMAX曲线生成器插件CurveGenerator使用方法
1. 脚本功能简介 3DMAX曲线生成器插件CurveGenerator是一个用于 3ds Max 的样条线生成工具,用户可以通过简单的UI界面输入参数,快速生成多条样条线。每条样条线的高度值随机生成,且可以自定义以下参数: 顶点数量:每条…...
六十天前端强化训练之第二十六天之Vue Router 动态路由参数大师级详解
欢迎来到编程星辰海的博客讲解 看完可以给一个免费的三连吗,谢谢大佬! 目录 一、知识讲解 1. Vue Router 核心概念 2. 动态路由参数原理 3. 参数传递方案对比 二、核心代码示例 1. 完整路由配置 2. 参数接收组件 3. 导航操作示例 三、实现效果示…...
Model Context Protocol:下一代AI系统集成范式革命
在2023年全球AI工程化报告中,开发者面临的核心痛点排名前三的分别是:模型与业务系统集成复杂度(58%)、上下文管理碎片化(42%)、工具调用标准化缺失(37%)。传统API集成模式在对接大语言模型时暴露明显短板:RESTful接口无法承载动态上下文,GraphQL缺乏工具编排能力,gR…...
Java多线程与高并发专题——Future 是什么?
引入 在上一篇Callable 和 Runnable 的不同?的最后,我们有提到和 Callable 配合的有一个 Future 类,通过 Future 可以了解任务执行情况,或者取消任务的执行,还可获取任务执行的结果,这些功能都是 Runnable…...
DeepSeek本地搭建
1. 软件下载安装 Miniconda Miniconda下载地址 选择对应的版本下载,此处下载如下版本 Python 3.10 conda 25.1.1 安装完成后,配置环境变量,打开cmd命令窗口验证 Python Python的版本为 3.10 PyTorch PyTorch下载地址 后面通过命令下…...
维普AIGC降重方法有哪些?
在学术写作和论文创作中,重复率过高是许多人面临的一大难题。随着科技的发展,维普 AIGC 为我们提供了一系列有效的降重方法。那么,维普AIGC降重方法有哪些呢?接下来就为大家详细介绍。 语义理解与改写 维普 AIGC 具备强大的语义理…...
设计模式之命令模式:原理、实现与应用
引言 命令模式(Command Pattern)是一种行为型设计模式,它将请求封装为对象,从而使你可以用不同的请求对客户进行参数化。命令模式支持请求的排队、记录日志、撤销操作等功能。本文将深入探讨命令模式的原理、实现方式以及实际应用…...
2025年十大AI工具对比
2025年十大AI工具对比 以下是2025年各大AI工具的详细对比,涵盖性能、功能、用户评价等方面,并以表格形式呈现。数据来源于多个权威来源,确保信息全面且准确。 对比表格 排名AI工具名称主要功能性能特点用户评价适用场景1DeepSeek多模态AI、…...
100道C#高频经典面试题及答案解析:C#程序员面试题库分类总结
分类一:C#基础语法 1. 值类型与引用类型的核心区别? 答案: 存储位置:值类型存栈/堆内联,引用类型存堆赋值方式:值类型复制内容,引用类型复制地址示例类型:int(值类型&…...
南京审计大学:《 面向工程审计行业的DeepSeek大模型应用指南》.pdf(免费下载)
大家好,我是吾鳴。 今天吾鳴要给大家分享的是由南京审计大学出品的《面向工程审计行业的DeepSeek大模型应用指南》,这份报告与《面向审计行业DeepSeek大模型操作指南》不同,这份报告更多的讲述DeepSeek怎么与工程审计行业结合,应该…...
DeepSeek AI大模型工作机制及未来方向
DeepSeek模型作为一款先进的人工智能模型,其工作原理结合了深度学习的前沿技术与工程优化策略,以下是其核心工作机制的分步解析: 1. 模型架构:基于Transformer的演进 - 核心结构:采用多层Transformer解码器堆叠&am…...
第十七章:Future Directions_《C++ Templates》notes
Future Directions 核心重难点:示例代码: 设计题多选题答案设计题详解 核心重难点: 泛型非类型模板参数 允许任意类型作为非类型模板参数(如template<typename T, auto N>)需解决类型推导和链接问题 编译期控制…...
NVIDIA Dynamo源码编译
Ref https://github.com/PyO3/maturin Rust 程序设计语言 代码库: https://github.com/ai-dynamo/dynamo https://github.com/ai-dynamo/nixl dynamo/container/Dockerfile.vllm 相关whl包 官方提供了4个whl包 ai_dynamo # 这个包ubuntu 22.04也可以用&…...
【前端】Canvas画布实现在线的唇膏换色功能
【前端】Canvas画布实现在线的唇膏换色功能 推荐超级课程: 本地离线DeepSeek AI方案部署实战教程【完全版】Docker快速入门到精通Kubernetes入门到大师通关课AWS云服务快速入门实战目录 【前端】Canvas画布实现在线的唇膏换色功能背景概述以下是我们的实现方法!第一步 — 找…...
arcgispro加载在线地图
World_Imagery (MapServer)https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer添加arcgis server WMTS 服务 by xdcxdc.at xdc的个人站点。博客请转至 http://i.xdc.at/ http://xdc.at/map/wmts 添加WMTS服务器...
华为网路设备学习-16 虚拟路由器冗余协议(VRRP)
VRRP是针对干线上三层网络设备(如:路由器、防火墙等)的网络虚拟化技术,提供冗余和状态监测等功能。确保在网络中的单点故障发生时,能够快速切换到备份设备,从而保证网络通信的连续性和可靠性。 VRRP通过…...
使用请求调用本地部署的stable-diffusion接口
stable-diffusion-webui项目地址 具体部署教程请去B站寻找或者直接使用整合包 这里直接编写工具类 public class StableDiffusionUtil {private static final String BASE_URL "http://127.0.0.1:7860";private static final OkHttpClient CLIENT new OkHttpClien…...
封装一个分割线组件
最终样式 Vue2代码 <template><div class"sep-line"><div class"sep-label"><span class"sep-box-text"><slot>{{ title }}</slot> <!-- 默认插槽内容,如果没有传递内容则使用title -->&…...
网络HTTPS协议
Https HTTPS(Hypertext Transfer Protocol Secure)是 HTTP 协议的加密版本,它使用 SSL/TLS 协议来加密客户端和服务器之间的通信。具体来说: • 加密通信:在用户请求访问一个 HTTPS 网站时,客户端&#x…...
CMake 函数和宏
CMake 函数 CMake 函数定义语法如下, 其中 name 为函数名, <arg1> 为参数名, <commands> 为函数体. 函数定义后, 可以通过 name 调用函数. 函数名允许字母数字下划线, 不区分大小写. function(name [<arg1> ...])<commands> endfunction()如下的样例…...
OSASIS(One-Shot Structure-Aware Stylized Image Synthesis)
文章目录 摘要abstract论文摘要方法损失函数实验结论 总结 摘要 本周阅读了一篇关于新型图像风格化的论文《One-Shot Structure-Aware Stylized Image Synthesis》,旨在解决现有GAN模型在风格化过程中难以保持输入图像结构的问题。通过分离图像的结构和语义信息&am…...
C++学习之网盘项目单例模式
目录 1.知识点概述 2.单例介绍 3.单例饿汉模式 4.饿汉模式四个版本 5.单例类的使用 6.关于token的作用和存储 7.样式表使用方法 8.qss文件中选择器介绍 9.qss文件样式讲解和测试 10.qss美化登录界面补充 11.QHTTPMULTIPART类的使用 12.文件上传协议 13.文件上传协议…...
Leetcode—15. 三数之和(哈希表—基础算法)
题目: 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nums[k] 0 。请你返回所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的…...
Apache Flink技术原理深入解析:任务执行流程全景图
前言 本文隶属于专栏《大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见大数据技术体系 思维导图 📌 引言 Apache Flink 作为一款高性能的分布式流处理引擎,其内部执行机制精妙而复杂。本文将…...
DeepBI:重构流量逻辑,助力亚马逊广告实现高效流量增长
在日益激烈的跨境电商竞争环境中,广告投放早已从“粗放撒网”走向“精细化运营”。尤其是在亚马逊这样一个成熟且竞争白热化的平台,如何在广告预算有限的前提下实现高效曝光、精准触达、稳定转化,成为众多卖家和运营团队面临的核心挑战。 De…...
RAG(Retrieval-Augmented Generation)基建之PDF解析的“魔法”与“陷阱”
嘿,亲爱的算法工程师们!今天咱们聊一聊PDF解析的那些事儿,简直就像是在玩一场“信息捉迷藏”游戏!PDF文档就像是个调皮的小精灵,表面上看起来规规矩矩,但当你想要从它那里提取信息时,它就开始跟…...
C语言【文件操作】详解中(会使用fgetc,fputc,fgets,fputs,fscanf,fprintf,fread,fwrite函数)
引言 介绍和文件操作中文件的顺序读写相关的函数 看这篇博文前,希望您先仔细看一下这篇博文,理解一下文件指针和流的概念:C语言【文件操作】详解上-CSDN博客文章浏览阅读606次,点赞26次,收藏4次。先整体认识一下文件是…...
【Python Cookbook】字符串和文本(一)
字符串和文本(一) 1.使用多个界定符分割字符串2.字符串开头或结尾匹配3.用 Shell 通配符匹配字符串4.字符串匹配和搜索5.字符串搜索和替换 1.使用多个界定符分割字符串 你需要将一个字符串分割为多个字段,但是分隔符(还有周围的空…...
GpuGeek:破解算力难题,赋能AI创新与普及
文章目录 一、引言二、填补算力资源供需缺口,降低使用门槛三、提升算力资源利用率,推动高效协作四、满足多样化需求,支持AI技术落地五、推动算力市场创新,促进生态良性发展六、助力AI人才培养,推动行业长远发展七、结语…...
