欢迎光临
我们一直在努力

Windows10/11 WSL2 Ubuntu26.04 桥接静态 IP 完整部署教程(内网直访 WSL)

一、文档概述

1. 适用环境

  • 宿主系统:Windows 10 专业版 / 企业版、Windows 11 全版本
  • WSL 版本:WSL 2
  • 虚拟机系统:Ubuntu 26.04

2. 实现目标

默认 WSL2 使用 NAT 网络,局域网其他设备无法直接访问 Ubuntu。本文通过 Hyper-V 外置虚拟交换机 + WSL 桥接模式 + netplan 静态 IP 配置,让 WSL 虚拟机获取局域网同网段独立 IP,实现内网所有设备直接连通、访问 WSL 服务。

3. 前置约束说明

家庭版 Windows 无 Hyper-V 功能,无法使用本方案;仅专业版 / 企业版支持 Hyper-V 虚拟化组件。

二、Windows 宿主环境前置配置

步骤 1:安装 / 升级 WSL 到 WSL2

  • 以管理员身份打开 PowerShell,执行安装 WSL 并设置默认版本为 WSL2
  • powershell

    # 一键安装wsl
    wsl –install
    # 设置默认版本为WSL2
    wsl –set-default-version 2
    # 查看已安装发行版与wsl版本
    wsl –list –verbose

  • 若已安装旧版 WSL,执行升级指定发行版至 WSL2
  • powershell

    wsl –set Ubuntu-26.04 2

    步骤 2:开启系统 Hyper-V 虚拟化组件

  • 打开「控制面板」→「程序」→「启用或关闭 Windows 功能」
  • 勾选以下两项,点击确定并重启电脑生效:
    • Hyper-V(完整目录全部子项勾选)
    • 虚拟机平台
  • 步骤 3:Hyper-V 创建外部虚拟交换机(桥接核心)

  • 开始菜单打开「Hyper-V 管理器」
  • 右侧操作栏点击「虚拟交换机管理器」
  • 新建虚拟交换机:
    • 交换机类型:外部
    • 交换机名称:自定义(示例:wsl-bridge,后文配置需严格同名)
    • 外部网络:选择当前正在使用的有线 / 无线物理网卡(插网线选有线网卡)
    • 勾选「允许管理操作系统共享此网络适配器」,点击应用创建。
  • 关键注意:交换机名称大小写、字符必须和.wslconfig内vmSwitch参数完全一致,名称不一致会触发VmSwitch找不到网络报错。

    步骤 4:配置 WSL 全局配置文件 .wslconfig

  • 进入 Windows 用户根目录,路径模板:C:\\Users\\你的Windows用户名
  • 新建 / 编辑.wslconfig文件,写入桥接网络配置:
  • ini

    [wsl2]
    # 开启桥接网络模式
    networkingMode=bridged
    # Hyper-V外部交换机名称,和上面创建名称严格匹配
    vmSwitch=wsl-bridge
    # 关闭自动DHCP,使用虚拟机内静态IP
    dhcp=false

  • 保存文件,后续修改完成后必须完全关闭 WSL 才能生效。
  • 三、Ubuntu 26.04 虚拟机内部网络配置

    步骤 1:开启 WSL systemd、锁定 DNS 不被自动覆盖

    编辑 WSL 虚拟机配置文件 /etc/wsl.conf

    bash

    运行

    sudo nano /etc/wsl.conf

    完整配置内容:

    ini

    [boot]
    # 启用systemd,netplan、systemd-networkd依赖该功能
    systemd=true

    [user]
    # 设置默认登录用户名
    default=你的WSL用户名

    [network]
    # 禁止WSL宿主自动覆盖/etc/resolv.conf,防止DNS配置丢失
    generateResolvConf=false

    快捷键 Ctrl+O 保存、Ctrl+X 退出编辑器。

    步骤 2:Netplan 配置静态桥接 IP

  • 在 netplan 配置目录新建静态网络文件
  • bash

    运行

    sudo nano /etc/netplan/01-wslbridge.yaml

  • 写入完整 yaml 配置(严格遵守 YAML 缩进,冒号后必须加空格)
  • yaml

    network:
    version: 2
    renderer: networkd
    ethernets:
    eth0:
    dhcp4: no
    # 静态IP/子网掩码,替换为你的局域网网段地址
    addresses: [192.168.0.222/24]
    # DNS解析服务器
    nameservers:
    addresses: [114.114.114.114,202.98.192.67]
    # 默认网关(路由器内网地址)
    routes:
    – to: default
    via: 192.168.0.1
    metric: 100
    mtu: 1500
    optional: true

    参数说明:

    • addresses:自定义局域网空闲静态 IP,避免和其他设备 IP 冲突
    • via:填写路由器网关地址,决定外网访问路由
    • renderer: networkd:桥接模式配套网络渲染器,不可改为 NetworkManager
    • optional: true:开机不存在网卡时不会阻塞系统启动
  • 修正配置文件权限(消除 netplan 权限过宽警告)
  • bash

    运行

    sudo chown root:root /etc/netplan/01-wslbridge.yaml
    sudo chmod 600 /etc/netplan/01-wslbridge.yaml

  • 加载并应用网络配置
  • bash

    运行

    # 校验yaml语法
    sudo netplan generate
    # 生效静态网络配置
    sudo netplan apply

    四、完整重启生效流程(必须操作)

    所有 Windows 与虚拟机配置修改完成后,必须彻底关闭 WSL 再重新进入,配置才能全部加载:

  • Windows 管理员 PowerShell 执行关闭所有 WSL 实例
  • powershell

    wsl –shutdown

  • 重新启动 WSL 虚拟机
  • powershell

    wsl

    五、连通性验证方案

    进入 Ubuntu 虚拟机内依次执行测试命令,分层定位网络故障:

  • 查看网卡 IP,确认桥接静态 IP 已生效
  • bash

    运行

    ip a

  • Ping 局域网网关,验证内网路由通畅
  • bash

    运行

    ping 192.168.0.1

  • Ping 公网 IP,验证外网连通性
  • bash

    运行

    ping 114.114.114.114

  • Ping 域名,验证 DNS 解析正常(解决 Temporary failure in name resolution)
  • bash

    运行

    ping www.baidu.com

  • 其他局域网设备验证:同一 WiFi / 局域网下其他电脑直接 ping 配置的静态 IP,可正常访问 WSL 内服务。
  • 六、常见报错与解决方案

    报错 1:wsl: 找不到 VmSwitch xxx WSL_E_VMSWITCH_NOT_FOUND

    原因:.wslconfig 中vmSwitch交换机名称与 Hyper-V 交换机名称大小写 / 字符不一致。 解决:核对交换机名称,完全匹配后执行wsl –shutdown重启 WSL。

    报错 2:netplan 警告 Permissions for xxx.yaml are too open

    原因:yaml 文件权限对外开放,不符合 netplan 安全规范。 解决:执行权限修正命令 sudo chmod 600 /etc/netplan/01-wslbridge.yaml。

    报错 3:ping 域名提示 Temporary failure in name resolution

    原因:WSL 自动覆盖/etc/resolv.conf,DNS 丢失。 解决:确认/etc/wsl.conf已添加generateResolvConf=false,重启 WSL。

    报错 4:systemd-networkd is not running

    原因:未开启systemd=true,netplan 依赖的网络服务未启动。 解决:修改wsl.conf开启 systemd,完全重启 WSL。

    七、补充关键注意事项

  • YAML 文件缩进只能使用空格,禁止 Tab 制表符,语法错误会导致 netplan 配置失效;
  • Windows 家庭版无 Hyper-V 组件,本桥接方案无法使用,只能使用端口转发方案;
  • 更换物理网卡、重新创建 Hyper-V 交换机后,需要同步修改.wslconfig内交换机名称;
  • 若路由器开启 IP-MAC 绑定,WSL 虚拟 MAC 不在白名单会断网,需在路由器放行虚拟机 IP;
  • Windows 防火墙会拦截局域网访问 WSL,内网不通时可临时关闭防火墙测试排查。
  • 八、文档信息

    • 适配系统:Win10 专业版 / 企业版、Win11、WSL2、Ubuntu 26.04
    • 实现效果:WSL 虚拟机分配局域网独立静态 IP,内网任意设备直连访问
    • 核心技术栈:Hyper-V 外部虚拟交换机 + WSL2 桥接模式 + Netplan 静态网络 + systemd
    赞(0)
    未经允许不得转载:171主机测评 » Windows10/11 WSL2 Ubuntu26.04 桥接静态 IP 完整部署教程(内网直访 WSL)
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址