当前位置: 首页 > article >正文

WSL桥接网络配置:从临时到永久的IP固定方案

1. 为什么需要固定WSL的IP地址很多开发者在使用WSLWindows Subsystem for Linux进行嵌入式开发时都会遇到一个头疼的问题每次重启WSL或者电脑后IP地址都会变化。想象一下你正在调试一个嵌入式设备每次重启都要重新配置网络参数这就像每次开车都要重新设置导航一样麻烦。我在实际开发中就遇到过这种情况。当时我正在调试一个基于树莓派的物联网项目需要频繁通过SSH连接到WSL进行交叉编译。由于IP地址不固定每次重启后都要重新配置开发工具的连接参数浪费了大量时间。更糟糕的是有时候忘记修改IP还会导致编译失败排查半天才发现是网络配置的问题。WSL默认使用NAT网络模式这种模式下每次启动都会从DHCP获取新IP外部设备无法直接访问WSL端口转发配置也会随IP变化失效对于需要稳定网络环境的场景比如嵌入式设备调试远程SSH连接局域网服务部署跨设备开发协作固定IP地址就变得非常必要。下面我们就来看看如何通过桥接网络实现IP固定从临时方案到永久方案总有一种适合你。2. 临时方案快速固定IP的脚本方法2.1 准备工作与环境检查在开始之前我们需要确认几个关键信息。首先打开PowerShell管理员权限运行以下命令查看可用的物理网卡Get-NetAdapter | Where-Object {$_.PhysicalMediaType -ne } | fl Name, InterfaceDescription这个命令会列出所有物理网卡排除虚拟网卡。记下你要桥接的网卡名称比如我的是WLAN。接下来确认你的WSL发行版名称可以通过wsl -l查看。2.2 创建自动化脚本创建一个名为WSL2_Network.bat的批处理文件内容如下记得替换其中的参数echo off :: 设置桥接的物理网卡 powershell -c Set-VMSwitch WSL -NetAdapterName WLAN :: 删除原有IP配置 wsl -d Ubuntu-20.04 -u root ip addr del $(ip addr show eth0 | grep inet\b | awk {print $2} | head -n 1) dev eth0 :: 添加静态IP确保与路由器同网段 wsl -d Ubuntu-20.04 -u root ip addr add 192.168.1.100/24 broadcast 192.168.1.255 dev eth0 :: 设置默认网关通常是路由器IP wsl -d Ubuntu-20.04 -u root ip route add 0.0.0.0/0 via 192.168.1.1 dev eth0 :: 配置DNS wsl -d Ubuntu-20.04 -u root echo nameserver 192.168.1.1 /etc/resolv.conf :: 防止WSL自动覆盖resolv.conf wsl -d Ubuntu-20.04 -u root chattr i /etc/resolv.conf :: 重启网络服务 wsl -d Ubuntu-20.04 -u root service networking restart这个脚本做了以下几件事将WSL虚拟交换机桥接到物理网卡清除WSL原有的动态IP设置静态IP和子网掩码配置网关和DNS锁定resolv.conf防止被覆盖2.3 使用与验证右键选择以管理员身份运行执行脚本。完成后在WSL中运行ifconfig检查IP是否生效。如果一切正常你现在应该能看到配置的静态IP。我在实际使用中发现几个常见问题IP冲突确保设置的IP没有被其他设备占用网卡名称错误再次确认物理网卡名称权限不足必须使用管理员权限运行虽然这个方案简单快捷但有两个明显缺点重启后会失效需要手动执行脚本对于需要长期稳定的开发环境建议继续看下面的永久解决方案。3. 永久方案通过Hyper-V创建桥接网络3.1 Hyper-V安装与配置永久方案需要用到Hyper-V功能。专业版用户可以通过启用或关闭Windows功能安装家庭版用户则需要用脚本安装。创建一个Install_HyperV.bat文件pushd %~dp0 dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum hv.txt for /f %%i in (findstr /i . hv.txt 2^nul) do dism /online /norestart /add-package:%SystemRoot%\servicing\Packages\%%i del hv.txt Dism /online /enable-feature /featurename:Microsoft-Hyper-V -All /LimitAccess /ALL Pause以管理员身份运行后重启电脑。安装完成后搜索并打开Hyper-V管理器。3.2 创建虚拟交换机在Hyper-V管理器中右侧点击虚拟交换机管理器选择外部类型命名为WSLBridge选择正确的物理网卡勾选允许管理操作系统共享此网络适配器这一步相当于创建了一个桥梁让WSL可以直接使用物理网卡上网就像给WSL单独拉了一条网线。3.3 配置WSL使用桥接网络在用户目录%USERPROFILE%下创建或修改.wslconfig文件[wsl2] vmIdleTimeout-1 networkingModebridged vmSwitchWSLBridge ipv6true dhcpfalse这个配置文件告诉WSL使用桥接模式而不是默认的NAT使用我们创建的WSLBridge虚拟交换机禁用DHCP这样我们可以手动配置静态IP3.4 配置WSL内部网络进入WSL我们需要配置网络管理工具。不同Linux发行版配置方式可能不同这里以Ubuntu为例# 编辑wsl.conf sudo nano /etc/wsl.conf添加以下内容[boot] systemd true [network] generateHosts false generateResolvConf false然后配置静态IP。创建或编辑/etc/netplan/00-wsl2.yamlnetwork: version: 2 ethernets: eth0: dhcp4: no addresses: [192.168.1.100/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 114.114.114.114]应用配置sudo netplan apply这个配置与临时方案类似但是由netplan管理会持久化保存。4. 两种方案的对比与选择建议4.1 方案对比特性临时方案永久方案配置复杂度简单较复杂重启后是否保持否是需要Hyper-V不需要需要系统资源占用低较高Hyper-V运行时适合场景临时调试长期开发环境网络性能一般更好直接桥接4.2 选择建议根据我的经验选择方案时可以考虑以下几点开发周期长短短期项目或临时调试用临时方案长期项目或团队协作用永久方案电脑配置低配电脑建议临时方案开机自启脚本高配电脑永久方案体验更好网络需求只需要SSH连接临时方案足够需要运行网络服务永久方案更稳定我在主力开发机上使用永久方案而在外出时用的轻薄本上则使用临时方案因为Hyper-V确实会占用不少系统资源。4.3 常见问题解决IP冲突问题检查IP是否被其他设备占用可以在路由器设置DHCP范围时预留静态IP段网络连接失败确认物理网卡选择正确检查防火墙设置验证网关和DNS配置Hyper-V导致系统变慢配置完成后可以卸载Hyper-V管理器虚拟交换机会保留使用命令dism /online /disable-feature /featurename:Microsoft-Hyper-VWSL启动变慢检查.wslconfig中的vmIdleTimeout设置考虑增加WSL内存限制5. 高级配置与优化技巧5.1 多发行版网络配置如果你安装了多个WSL发行版可以通过/etc/wsl.conf为每个发行版配置不同的主机名[network] hostname my-ubuntu-dev generateHosts false这样可以避免主机名冲突方便网络识别。5.2 端口转发优化虽然桥接模式让WSL获得了独立IP但有时还是需要端口转发。可以使用Windows的netsh工具netsh interface portproxy add v4tov4 listenport8080 listenaddress0.0.0.0 connectport8080 connectaddress192.168.1.100这个命令将Windows的8080端口转发到WSL的8080端口。5.3 网络性能调优在.wslconfig中添加以下设置可以优化网络性能[wsl2] memory4GB processors2 localhostForwardingtrue对于需要低延迟的场景可以禁用TCP校验和卸载sudo ethtool -K eth0 tx off rx off5.4 自动化脚本增强对于临时方案可以创建更智能的脚本自动检测可用IP# 自动检测同网段可用IP $usedIPs arp -a | Select-String 192\.168\.1\.\d | % { $_.Matches.Value } $baseIP 192.168.1. for($i100; $i -le 200; $i) { $testIP $baseIP $i if($usedIPs -notcontains $testIP) { echo 可用IP: $testIP break } }这个脚本会自动找出局域网中未被使用的IP地址避免手动配置时的IP冲突问题。6. 实际开发中的应用案例6.1 嵌入式开发场景我在开发STM32项目时需要经常通过OpenOCD与开发板通信。固定IP后可以直接在WSL中配置openocd -f interface/stlink.cfg -f target/stm32f4x.cfg -c bindto 192.168.1.100这样其他局域网设备如调试用PC或手机都可以直接连接到WSL中的OpenOCD服务大大简化了调试流程。6.2 物联网项目开发在开发ESP32物联网项目时固定IP使得MQTT broker配置变得简单# mosquitto.conf listener 1883 192.168.1.100 allow_anonymous true客户端设备可以固定配置连接这个IP不用担心IP变化导致连接失败。6.3 团队协作开发当多人协作开发时固定IP可以让团队成员轻松访问你WSL中运行的服务。比如运行一个测试用的web服务python3 -m http.server 8000 --bind 192.168.1.100同事就可以直接通过http://192.168.1.100:8000访问你的测试环境无需复杂的端口转发配置。6.4 CI/CD集成在自动化构建场景中固定IP使得Jenkins或其他CI工具可以可靠地连接到WSL中的构建环境。我在配置Jenkins从节点时使用了如下配置node(wsl-build-agent) { host: 192.168.1.100, credentialsId: wsl-ssh-key, ... }这样构建任务就可以稳定地连接到WSL环境执行不会因为IP变化导致构建失败。

相关文章:

WSL桥接网络配置:从临时到永久的IP固定方案

1. 为什么需要固定WSL的IP地址? 很多开发者在使用WSL(Windows Subsystem for Linux)进行嵌入式开发时都会遇到一个头疼的问题:每次重启WSL或者电脑后,IP地址都会变化。想象一下,你正在调试一个嵌入式设备&a…...

网暴:存在却无效的公开羞辱性展示

网暴:存在却无效的公开羞辱性展示网络暴力常被笼统地归入“舆论暴力”或“言语攻击”,但其本质长期缺乏精准的理论刻画。如果将暴力重新定义为“不正当且不可对称地剥夺或削弱他人决断能力”,那么网暴便可以获得一个统一且深刻的解释&#xf…...

SQL如何统计分组中占比超过一定阈值的数据_HAVING过滤聚合

WHERE在分组前过滤行,HAVING在分组后过滤组;占比类条件必须用HAVING或窗口函数实现,WHERE无法使用聚合函数。WHERE 和 HAVING 的分工必须分清WHERE 在分组前过滤行,HAVING 在分组后过滤组。想筛“某组占比 > 80%”这种条件&…...

告别Win11反人类设计!用SysWOW64文件夹找回经典任务管理器的完整指南

深入解析Windows 11任务管理器:从系统架构到经典界面还原 每次Windows大版本更新,总有些改动让人措手不及。Windows 11带来的全新任务管理器界面,虽然视觉效果更现代化,但不少资深用户却发现操作效率反而降低了。那些熟悉的快捷键…...

5大收益:如何将代码质量可视化转化为可衡量的商业价值

5大收益:如何将代码质量可视化转化为可衡量的商业价值 【免费下载链接】sonar-cnes-report Generates analysis reports from SonarQube web API. 项目地址: https://gitcode.com/gh_mirrors/so/sonar-cnes-report 在当今快速迭代的软件开发环境中&#xff0…...

用Python手把手教你实现隐马尔可夫模型(HMM)的天气预测实战

用Python手把手教你实现隐马尔可夫模型(HMM)的天气预测实战 天气预报总是让人又爱又恨——明明说好的晴天,出门却遭遇暴雨。有没有更聪明的预测方法?今天我们将用Python构建一个能"学习"天气规律的隐马尔可夫模型&#…...

大模型训练监控利器:wandb可视化实战全解析

1. 为什么你需要wandb来监控大模型训练 当你正在训练一个参数量超过10亿的大模型时,最让人头疼的问题是什么?对我来说,最痛苦的就是看着黑漆漆的命令行窗口,完全不知道模型训练到哪一步了,效果怎么样。我曾经遇到过训练…...

ComfyUI JoyCaption 2 进阶配置:从安装到多模式反推实战

1. JoyCaption 2与ComfyUI的强强联合 如果你正在寻找一款能够大幅提升AI图像生成效率的工具,JoyCaption 2绝对是当前最值得关注的选择。这个由CXH大佬开发的插件最近迎来了重大更新,正式支持ComfyUI环境,让原本就强大的反推功能如虎添翼。我在…...

3分钟掌握D2RML:暗黑2重制版终极多开解决方案

3分钟掌握D2RML:暗黑2重制版终极多开解决方案 【免费下载链接】D2RML Diablo 2 Resurrected Multilauncher 项目地址: https://gitcode.com/gh_mirrors/d2/D2RML 还在为暗黑2重制版繁琐的多账号登录而烦恼吗?传统方式需要反复输入密码、处理令牌失…...

数据库模型设计实战:如何导出数据库完整数据字典_规范化流程

INFORMATION_SCHEMA 是 MySQL 导出数据字典的唯一可靠来源,需组合查询 COLUMNS、KEY_COLUMN_USAGE 和 TABLE_CONSTRAINTS 视图获取完整元信息;PostgreSQL 则必须使用 pg_catalog 系统表而非 information_schema。导出 MySQL 数据字典时,INFOR…...

Go语言怎么做幂等设计_Go语言接口幂等性教程【秒懂】

sync.Map 适用于小流量、单机、QPS 几百的幂等场景,但无自动过期、不跨进程;需用结构体缓存结果、定时清理、避免 key 污染,Redis 需原子 SetNXEX,DB 唯一索引为兜底。用 sync.Map 做单机幂等,什么场景能用、什么情况会…...

Maomi.In | .NET 全能多语言解决方案碳

AI Agent 时代的沙箱需求 从 Copilot 到 Agent:执行能力的质变 在生成式 AI 的早期阶段,应用主要以“Copilot”形式存在,AI 仅作为辅助生成建议。然而,随着 AutoGPT、BabyAGI 以及 OpenAI Code Interpreter(现为 Advan…...

Python异步爬虫如何应对封IP_结合asyncio与代理池实现轮询请求

asyncio.run()仅适用于单次顶层协程启动,爬虫主循环需用run_until_complete或while Truesleep;代理接入需区分HTTP/HTTPS/SOCKS5,配合Connector限流、Semaphore控制并发,并通过响应头精准识别封禁后分级降级。asyncio.run() 里直接…...

【仅剩72小时解锁】:2026奇点大会未公开微调训练日志样本集(含错误梯度、loss突变、token漂移原始记录)

第一章:2026奇点智能技术大会:大模型个性化微调 2026奇点智能技术大会(https://ml-summit.org) 在2026奇点智能技术大会上,大模型个性化微调成为核心议题之一。与传统全量微调不同,本届大会重点展示了低秩适配(LoRA&…...

【仅开放至Q3末】SITS2026改造原始日志脱敏包+Prompt工程checklist(含17个金融/政务场景特化模板)

第一章:SITS2026案例:大模型客服系统改造 2026奇点智能技术大会(https://ml-summit.org) 某大型金融集团原有客服系统基于规则引擎与传统NLU模块构建,响应准确率不足68%,平均首次解决时长(FTTR)达4.7分钟…...

LLM微调引发的歧视放大效应,实测3类Prompt工程反制策略+BiasScore量化验证工具链

第一章:大模型工程化中的伦理与合规考量 2026奇点智能技术大会(https://ml-summit.org) 大模型工程化已从单纯追求性能指标,转向对社会影响、法律边界与价值对齐的系统性治理。在生产环境中部署LLM服务时,伦理风险并非抽象议题,而…...

Agent框架选型生死线,深度拆解2026奇点大会公布的3层可信评估矩阵(含可复用的SLA合规检测清单)

第一章:Agent框架选型生死线:一场关乎系统存续的决策博弈 2026奇点智能技术大会(https://ml-summit.org) 在生产级AI系统演进中,Agent框架并非可插拔的“工具箱组件”,而是决定系统韧性、可观测性与迭代成本的底层契约。一次错误…...

higress 这个中登才是AI时代的心头好搪

核心摘要:这篇文章能帮你 ?? 1. 彻底搞懂条件分支与循环的适用场景,告别选择困难。 ?? 2. 掌握遍历DOM集合修改属性的标准姿势与性能窍门。 ?? 3. 识别流程控制中的常见“坑”,并学会如何优雅地绕过去。 ?? 主要内容脉络 ?? 一、痛…...

ATCODER ABC C题解云

这&#xff0c;是一个采用C精灵库编写的程序&#xff0c;它画了一幅漂亮的图形&#xff1a; 复制代码 #include "sprites.h" //包含C精灵库 Sprite turtle; //建立角色叫turtle void draw(int d){ for(int i0;i<5;i)turtle.fd(d).left(72); } int main(){ …...

喔去,litellm 竟然被投毒了,赶紧检查你的机器中招了没有驴

一、什么是setuptools&#xff1f; setuptools 是一个用于创建、分发和安装 Python 包的核心库。 它可以帮助你&#xff1a; 定义 Python 包的元数据&#xff08;如名称、版本、作者等&#xff09;。 声明包的依赖项&#xff0c;确保你的包能够正确运行。 构建源代码分发包&…...

大模型端侧部署必读:6类硬件约束下压缩算法适配矩阵(含INT4/FP8/FP16混合精度吞吐实测数据)

第一章&#xff1a;大模型工程化中的模型压缩算法对比 2026奇点智能技术大会(https://ml-summit.org) 模型压缩是实现大语言模型在边缘设备、低延迟服务及成本敏感场景中落地的关键工程环节。不同压缩路径在精度保留、推理加速比、部署兼容性与训练资源消耗上呈现显著差异&…...

AI基建重构倒计时:SITS2026圆桌闭门报告(仅限首批200家企业的7大工程化预警信号)

第一章&#xff1a;SITS2026圆桌&#xff1a;大模型工程化的未来趋势 2026奇点智能技术大会(https://ml-summit.org) 在SITS2026圆桌讨论中&#xff0c;来自Meta、阿里云、Hugging Face与CNCF大模型工作组的七位工程实践者共同指出&#xff1a;大模型工程化正从“能跑通”迈向…...

C-NCAP/E-NCAP拿高分秘籍:AEB测试中的‘偏置’、‘夜间’和‘弯道’三大难点如何攻克?

C-NCAP/E-NCAP高分攻略&#xff1a;破解AEB三大测试难题的技术实践 当一辆测试车以50km/h驶向静止目标车时&#xff0c;仪表盘突然亮起红色预警图标——这不是故障&#xff0c;而是AEB系统正在经历NCAP测试的"终极考验"。在C-NCAP最新测试规程中&#xff0c;偏置碰撞…...

免费Altium电路图转换器:如何轻松查看和转换SchDoc文件

免费Altium电路图转换器&#xff1a;如何轻松查看和转换SchDoc文件 【免费下载链接】python-altium Altium schematic format documentation, SVG converter and TK viewer 项目地址: https://gitcode.com/gh_mirrors/py/python-altium 在电子设计领域&#xff0c;Altiu…...

【独家首发】某Top3云厂商未公开的XAI-SLO协议:模型解释延迟<87ms、置信度≥99.2%、审计日志留存180天——附SLA契约模板

第一章&#xff1a;大模型工程化中的模型解释性方案 2026奇点智能技术大会(https://ml-summit.org) 在大规模语言模型落地金融风控、医疗辅助与司法决策等高信任场景时&#xff0c;黑盒预测已不再可接受。模型解释性不再是事后分析的附加能力&#xff0c;而是工程化交付的必要…...

Go-依赖管理实战:从go.sum到GOSUMDB的深度解析

1. go.sum文件&#xff1a;Go依赖的"身份证"系统 第一次接触Go项目时&#xff0c;你可能注意过一个叫go.sum的文件。这个看似简单的文本文件&#xff0c;实际上是Go模块依赖管理的核心安全机制。想象一下&#xff0c;当你从网上下载一个软件包&#xff0c;如何确认下…...

终极指南:3分钟掌握Perseus解锁碧蓝航线全皮肤

终极指南&#xff1a;3分钟掌握Perseus解锁碧蓝航线全皮肤 【免费下载链接】Perseus Azur Lane scripts patcher. 项目地址: https://gitcode.com/gh_mirrors/pers/Perseus 还在为碧蓝航线中那些令人心动的皮肤无法体验而烦恼吗&#xff1f;Perseus原生库补丁为你提供了…...

SITS2026发布即颠覆:大模型推理延迟降低63%、部署成本压缩41%的8项硬核工程实践

第一章&#xff1a;SITS2026发布&#xff1a;大模型工程化白皮书下载 2026奇点智能技术大会(https://ml-summit.org) 白皮书核心价值与定位 《SITS2026大模型工程化白皮书》由ML Summit联合17家头部AI基础设施厂商、云服务商及开源社区共同编制&#xff0c;聚焦从千卡级训练集…...

Qwen2.5-Coder-1.5B代码生成实战:从零到一完成数据清洗脚本

Qwen2.5-Coder-1.5B代码生成实战&#xff1a;从零到一完成数据清洗脚本 1. 为什么你需要一个懂代码的AI助手 如果你经常和数据打交道&#xff0c;一定遇到过这样的场景&#xff1a;业务部门发来一份格式混乱的Excel表格&#xff0c;里面有合并单元格、多余的空行、日期格式不…...

HyperWorks四面体网格剖分实战:从标准到直接方法的参数优化指南

1. HyperWorks四面体网格剖分技术概览 在工程仿真领域&#xff0c;四面体网格剖分是处理复杂几何模型的关键技术。HyperWorks套件中的HyperMesh提供了三种主要的四面体网格生成方式&#xff1a;标准四面体网格剖分&#xff08;Standard Tetramesh&#xff09;、直接四面体网格剖…...