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.pswp.cn/web/73021.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/73021.shtml
英文地址,請注明出處:http://en.pswp.cn/web/73021.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ToDesk云電腦各類鼠標有什么區別?虛擬/3D/游戲鼠標等各有利

不知道各位在使用ToDesk云電腦的時候是否是有注意到,這其中的鼠標竟有多種名稱、多種模式可以選,比如鎖定鼠標、3D鼠標、游戲鼠標這幾項。 那么這些不同名稱的鼠標都代表什么意思吶,又應該怎么選擇、怎么用吶?本篇內容小編就為大…

DeepBI:重構流量邏輯,助力亞馬遜廣告實現高效流量增長

在日益激烈的跨境電商競爭環境中,廣告投放早已從“粗放撒網”走向“精細化運營”。尤其是在亞馬遜這樣一個成熟且競爭白熱化的平臺,如何在廣告預算有限的前提下實現高效曝光、精準觸達、穩定轉化,成為眾多賣家和運營團隊面臨的核心挑戰。 De…

java項目之基于ssm的畢業論文管理系統(源碼+文檔)

項目簡介 畢業論文管理系統實現了以下功能: 本畢業論文管理系統主要實現的功能模塊包括學生模塊、導師模塊和管理員模塊三大部分,具體功能分析如下: (1)導師功能模塊:導師注冊登錄后主要功能模塊包括個人…

【自學筆記】Linux基礎知識點總覽-持續更新

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 文章目錄 Linux 基礎知識點總覽目錄Linux 簡介文件和目錄結構常用命令文件操作目錄操作權限管理文本處理 Shell 腳本基礎進程管理用戶和組管理網絡配置 總結 Linux 基礎知識點…

【PCB工藝】晶體管的發展歷史

晶體管被認為是20世紀最偉大的發明之一,因為沒有晶體管就不會有現代電腦、手機或平板??,你也無法閱讀到這里的內容,因為不存在網絡。 ——本文純粹出于對過往奮斗在這個領域中科學家的緬懷。科學家有太多寶貴的思想和經驗值得我們認真總結和…

第23章:Kubernetes網絡模型深度剖析

第23章:Kubernetes網絡模型深度剖析 作者:DogDog_Shuai 閱讀時間:約25分鐘 難度:高級 目錄 1. 引言2. Kubernetes網絡模型基礎3. 四種網絡通信模式4. CNI架構深度解析5. 網絡實現原理

HTML應用指南:利用GET請求獲取貓眼電影日票房信息——以哪吒2為例

2025年春節檔期,國產動畫電影《哪吒之魔童鬧海》(以下簡稱《哪吒2》)以顛覆性的敘事風格與工業化制作水準震撼登場,不僅刷新了中國動畫電影的票房紀錄,更成為全球影史現象級作品。影片憑借春節檔期的爆發式開局、持續5…

Model Context Protocol:下一代AI系統集成范式革命

在2023年全球AI工程化報告中,開發者面臨的核心痛點排名前三的分別是:模型與業務系統集成復雜度(58%)、上下文管理碎片化(42%)、工具調用標準化缺失(37%)。傳統API集成模式在對接大語言模型時暴露明顯短板:RESTful接口無法承載動態上下文,GraphQL缺乏工具編排能力,gR…

Java 鎖機制全面解析

在 Java 并發編程中,鎖(Lock)是保證線程安全的關鍵工具。本文將全面介紹 Java 的鎖機制,包括 synchronized 關鍵字、Lock 接口及其實現、讀寫鎖、樂觀鎖與悲觀鎖等,幫助新手理解 Java 并發控制。 1. Java 中的鎖概述 …

JavaScript 中 “new Map()”的使用

new Map() 是 JavaScript 中用于創建 Map 對象 的構造函數。Map 是一種鍵值對集合,類似于普通對象(Object),但有以下區別: 1. Map 的特點 1.1 鍵的類型 Map:鍵可以是任意類型(包括對象、函數、…

Rust語言的集成測試

Rust語言的集成測試 引言 隨著軟件開發的不斷發展,測試已成為一個不可或缺的環節。特別是在系統復雜度日益增加的今天,確保代碼質量和穩定性變得尤為重要。Rust作為一門強調安全性和性能的編程語言,其測試框架提供了豐富的工具來幫助開發者…

手寫簡單的Spring基于注解配置的程序

需求說明: 自己寫一個簡單的 Spring 容器, 通過讀取類的注解(Component ControllerService Reponsitory) ,將對象注入到 IOC 容器,自己使用 IOAnnotaion反射集合 技術實現 思路分析: 一、新建一個包component并在包下創建bean類 …

WSL 導入完整系統包教程

作者: DWDROME 配置環境: OS: Ubuntu 20.04.6 LTS on Windows 11 x86_64Kernel: 5.15.167.4-microsoft-standard-WSL2ros-noetic 🧭WSL 導入完整系統包教程 ? 一、準備導出文件 假設你已有一個 .tar 的完整系統包(如從 WSL 或 L…

使用selenium來獲取數據集

使用selenium來獲取數據集 1、下載最新的chrome瀏覽器與chromedriver.exe 查看chrome的版本,打開谷歌瀏覽器,點擊右上角的三個點,然后點擊【幫助】, 點擊【關于Google Chrome】 然后去下載同樣為134版本號的chromedriver.exe, 網址:https://googlechromelabs.github.…

(二)VMware:VMware虛擬機安裝CentOS教程

目錄 1、準備CentOS 7鏡像1.1、官網鏡像下載1.2、清華大學開源鏡像下載?1.3、阿里云開源鏡像下載 2、使用 VMware安裝CentOS 72.1、創建虛擬機2.2、選擇自定義安裝2.3、硬件兼容性,保持默認2.4、選擇下載的ISO鏡像2.5、設置虛擬機名稱以及存放磁盤位置2.6、按照需求…

【Agent】Dify Docker 安裝問題 INTERNAL SERVER ERROR

總結:建議大家選擇穩定版本的分支,直接拉取 master 分支,可能出現一下后面更新代碼導致缺失一些環境內容。 啟動報錯 一直停留在 INSTALL 界面 我是通過 Docker 進行安裝的,由于項目開發者不嚴謹導致,遇到一個奇怪的…

MySQL -- 復合查詢

數據庫的查詢是數據庫使用中比較重要的環節,前面的基礎查詢比較簡單,不做介紹,可自行查閱。本文主要介紹復合查詢,并結合用例進行講解。 本文的用例依據Soctt模式的經典測試表,可以自行下載,也可以自己創建…

flutter 開發web端的性能優化

參考資料 Flutter for Web 首次首屏優化 ——JS 分片優化_main.dart.js-CSDN博客文章瀏覽閱讀1.4k次。本文介紹了如何通過延遲加載組件和js分片優化Flutter for Web應用的加載速度。在實踐中,通過按需加載減少js文件大小,使用并行加載提升加載效率。通過…

編譯安裝redis,systemtcl配置redis自啟動,系統并發調優

編譯安裝redis,systemtcl配置redis自啟動,系統并發調優 1、編譯安裝redis wget https://download.redis.io/releases/redis-7.4.2.tar.gz tar -zxf redis-7.4.2.tar.gz cd redis-7.4.2/ make make install/usr/local/bin/redis-server -v2、systemtcl配…

firefly經典藍牙和QProcess、QFileSystemWatcher記錄

QProcess 默認不會啟動一個 shell 來解析命令,而是直接調用操作系統的系統調用來啟動外部程序。也就是通過fork一個子線程或者exec一個子進程來執行命令。 QProcess的參數模式 QProcess 需要明確指定命令的可執行文件路徑或參數列表。 如果命令是一個可執行文件的路徑…