欢迎光临
我们一直在努力

解决WSL2网络问题:固定IP地址并配置网络

问题背景

WSL2使用虚拟化技术,每次启动都会为Linux子系统分配动态IP地址,这给开发带来诸多不便:

  • SSH连接需要频繁修改配置
  • 端口映射需要重新设置
  • 网络服务访问不稳定

解决方案

通过以下配置实现WSL2固定IP,确保网络稳定性。

配置步骤

WSL端配置

1. 查看Windows端vEthernet(WSL)的IP地址

在Windows PowerShell中执行:

ipconfig

找到vEthernet(WSL)适配器的IP地址段。

2. 配置WSL2网络

进入WSL2终端,编辑网络配置文件(以Ubuntu为例):

sudo vim /etc/netplan/00-installer-config.yaml

添加以下配置内容:

network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
addresses: [172.21.96.3/20]
routes:
– to: default
via: 172.21.96.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]

3. 应用WSL网络配置

sudo netplan apply
ifconfig

Windows端配置

创建fix_wsl2_network.cmd文件,内容如下:

wsl -d Ubuntu -u root ip addr del $(ip addr show eth0 ^| grep 'inet\\b' ^| awk '{print $2}' ^| head -n 1) dev eth0
wsl -d Ubuntu -u root ip addr add 172.21.96.3/20 broadcast 172.21.111.255 dev eth0
wsl -d Ubuntu -u root ip route add 0.0.0.0/0 via 172.21.96.1 dev eth0
wsl -d Ubuntu -u root echo nameserver 172.21.96.1 ^> /etc/resolv.conf
powershell -c "Get-NetAdapter -IncludeHidden 'vEthernet (WSL)' | Get-NetIPAddress | Remove-NetIPAddress -Confirm:$False; New-NetIPAddress -IPAddress 172.21.96.1 -PrefixLength 20 -InterfaceAlias 'vEthernet (WSL)'; Get-NetNat | ? Name -Eq WSLNat | Remove-NetNat -Confirm:$False; New-NetNat -Name WSLNat -InternalIPInterfaceAddressPrefix 172.21.96.0/20;"

应用步骤

按顺序执行以下操作:

  • ​在WSL中应用网络配置​

    sudo netplan apply

    这一步修改WSL的eth0网卡IP地址

  • ​运行Windows配置脚本​
    双击执行fix_wsl2_network.cmd
    这一步修改Windows端的vEthernet(WSL)适配器IP

  • ​配置DNS解析​

    sudo sh -c 'echo "nameserver 8.8.8.8" > /etc/resolv.conf'

    解决域名解析问题

  • 配置说明

    • ​WSL端IP: 172.21.96.3/20
    • ​Windows端IP: 172.21.96.1/20
    • ​DNS服务器: 8.8.8.8, 8.8.4.4(Google公共DNS)

    注意事项

  • 请根据实际网络环境调整IP地址段
  • 脚本中的"Ubuntu"需替换为你的WSL发行版名称
  • 建议将fix_wsl2_network.cmd设置为管理员权限运行
  • 每次Windows重启后可能需要重新执行配置脚本
  • 总结

    通过固定WSL2的IP地址,可以有效解决网络连接不稳定的问题,特别适合需要频繁使用SSH或部署网络服务的开发场景。此配置确保了WSL2与Windows主机之间的网络通信可靠性。

    ​欢迎在评论区留言讨论,如果觉得有用请点赞收藏支持!​

    赞(0)
    未经允许不得转载:171主机测评 » 解决WSL2网络问题:固定IP地址并配置网络
    分享到: 更多 (0)

    评论 抢沙发

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