启用桥接模式使corewsl2获得同网段ip实现局域网直连,同时配置nat网卡(eth1)保障互联网访问,并通过.wslconfig文件灵活切换网络模式。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您在Windows上部署CoreWSL2后发现子系统无法被局域网内其他设备直接访问,或需要同时满足内网服务暴露与互联网访问需求,则可能是由于默认NAT模式限制了网络可见性与路由灵活性。以下是针对桥接模式与NAT模式的并行配置方法:
一、启用桥接模式获取独立局域网IP
桥接模式使CoreWSL2脱离NAT封装,直接接入物理网络层,从而获得与Windows宿主机同网段的静态或DHCP分配IP,实现局域网设备免转发直连访问。
1、以管理员身份打开PowerShell,执行wsl --shutdown确保WSL完全停止。
2、运行Get-NetAdapter列出所有物理网卡,确认目标网卡名称(如“以太网”或“Wi-Fi”)。
3、执行命令绑定WSL虚拟交换机至选定网卡:Set-VMSwitch WSL -NetAdapterName "以太网"(请将引号内名称替换为实际网卡名)。
4、启动WSL:wsl,进入Linux终端后执行:sudo ip addr flush dev eth0清除原有地址。
5、手动配置IP与网关(示例:局域网网段为192.168.1.0/24,网关为192.168.1.1):sudo ip addr add 192.168.1.150/24 broadcast 192.168.1.255 dev eth0。
6、添加默认路由:sudo ip route add default via 192.168.1.1 dev eth0。
7、编辑/etc/resolv.conf,将nameserver设为局域网DNS(如路由器地址):nameserver 192.168.1.1。
二、保留NAT网卡实现稳定互联网访问
当桥接模式仅连接内网设备但无法访问外网时,需额外配置NAT虚拟网卡(eth1),复用Windows主机的互联网出口,避免桥接网卡因网络策略受限而断连公网。
1、在管理员PowerShell中创建内部NAT交换机:New-VMSwitch -Name "NATSwitch" -SwitchType Internal。
2、获取该交换机对应虚拟网卡索引:$ifindex = (Get-NetAdapter -Name "vEthernet (NATSwitch)").ifIndex。
3、为其分配NAT子网地址(如192.168.137.1/24):New-NetIPAddress -IPAddress 192.168.137.1 -PrefixLength 24 -InterfaceIndex $ifindex。
4、创建NAT对象:New-NetNat -Name "WSL_NAT" -InternalIPInterfaceAddressPrefix 192.168.137.0/24。
5、修改%USERPROFILE%\.wslconfig,启用多网卡支持:
[wsl2]
netAdapters2 = ["WSL", "NATSwitch"]
6、重启WSL:wsl --shutdown后重新启动,检查是否出现eth1接口:ip link show。
7、为eth1配置静态IP及路由(不覆盖eth0的默认路由):sudo ip addr add 192.168.137.100/24 dev eth1 && sudo ip route add 0.0.0.0/1 via 192.168.137.1 dev eth1 && sudo ip route add 128.0.0.0/1 via 192.168.137.1 dev eth1。
三、通过.wslconfig文件切换网络模式
无需重复执行PowerShell命令即可在不同场景间快速切换,利用配置文件控制底层网络行为,适用于开发、测试、部署等多阶段环境隔离。
1、关闭WSL:wsl --shutdown。
2、在%USERPROFILE%\.wslconfig中设置桥接模式:
[wsl2]
networkingMode = bridged
vmSwitch = WSL
ipv6 = true
3、若需回退至纯NAT模式,注释或删除上述三行,仅保留默认行为(无networkingMode字段即启用NAT)。
4、保存文件后重启WSL,验证cat /proc/sys/net/ipv4/ip_forward应返回1表示转发已就绪。
5、检查ip route show输出,确认默认路由指向桥接网关而非NAT网关。











