设置wsl2桥接模式和设置ip

本文档详细介绍了如何解决WSL2网络问题,通过禁用自动生成DNS解析、设置IP和路由,以及创建PowerShell脚本来实现WSL2与主机的网络桥接。步骤包括编辑wsl.conf,手动或自动设置IP、DNS,以及设置和删除虚拟交换机。桥接后,可以实现WSL2与外网及宿主机的顺畅通信。
摘要由CSDN通过智能技术生成

简介

wsl2在使用时因为网络问题导致使用及其不方便,而桥接模式恰巧能解决这些痛点,具体实施过程如下

一、 禁用自动生成dns解析

创建 /etc/wsl.conf,且内容如下:

[network] 
generateResolvConf = false 

然后删掉 /etc/resolv.conf(因为自动生成的为一个软连接),并重新建一个 /etc/resolv.conf 文本文件,并将其 DNS 服务器地址指定为自己想用的,如下:

# generateResolvConf = false
nameserver 223.5.5.5

这一步只需要执行一次,之后并不需要每次都配置

二、设置ip和路由

新建一个ip_set.sh并输入如下内容:

ip addr add 192.168.2.13/24 broadcast 192.168.2.255 dev eth0  #设置ip到eth0 
ip route delete default                                       #删除默认路由
ip route add default via 192.168.2.1 dev eth0                 #默认路由到网关

新建一个dns_set.sh并输入如下内容

echo "nameserver 223.5.5.5" > /etc/resolv.conf

三、每次开机时的操作

3.1 手动设置

在网络共享中心中删除上一次启动的网桥,否则设置失败
在这里插入图片描述

设置wsl桥接

Set-VMSwitch WSL -NetAdapterName WLAN

桥接完成在wsl中设置ip_set.sh和dsn_set即可完成子系统的网络联通

开机状态下删除虚拟交换机命令
remove-vmswitch -name “WSL”

3.2 PowerShell 脚本自动执行

创建一个powershell脚本 set_wsl2_Internet_Bridge.ps1

#先设置子系统的ip和dns 同时也为了让系统创建wsl网卡
echo "设置wsl ip 和dns"
wsl -d Ubuntu-18.04 -u root /home/ydc256/ip_set.sh
wsl -d Ubuntu-18.04 -u root /home/ydc256/dns_set.sh

echo "设置wsl 桥接到以太网上"
Set-VMSwitch WSL -NetAdapterName "以太网"

echo "设置桥接后的以太网dns"
netsh interface ip add dnsservers name="vEthernet (WSL) 2" address=114.114.114.114
netsh interface ip add dnsservers name="vEthernet (WSL) 2" address=8.8.8.8

echo "设置完成"

这样需要使用时执行powershell脚本即可,完成wsl2网络桥接的设置
在这里插入图片描述
设置完成后控制面板上的情况
在这里插入图片描述

四、桥接后效果

ping 外网和宿主机
在这里插入图片描述
宿主机ping 子系统
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值