wsl2 用桥接方式连网
安装 Hyper-V
windows 家庭版怎么安装 Hyper-V-CSDN博客
用管理员打开 PowerShell
执行 Get-NetAdapter 出系统所有的网卡,记住想要桥接的网卡名称
无线网名称一般为 WLAN,有线网名称一般为 以太网,我的是 以太网 2
执行 Get-VMSwitch 查看现有桥接模式
可以看到默认有 wsl2 的桥接了,名称为 WSL (Hyper-V firewall)
设置桥接
Set-VMSwitch "WSL (Hyper-V firewall)" -NetAdapterName "以太网 2"
如果没有可以 New-VMSwitch 创建个新的,有默认的创建新的不知道为什么不好使,连通不了。只做记录
New-VMSwitch "WSL2" -NetAdapterName "以太网 2"
用命令关闭 wsl2
wsl --shutdown
默认的不可删除,自己新建的可以用命令删除
Remove-VMSwitch "WSL2"
取消桥接
Set-VMSwitch "WSL (Hyper-V firewall)" -SwitchType Internal
[wsl2]
networkingMode=bridged
vmSwitch="WSL (Hyper-V firewall)"
dhcp=false
cmd 下执行
wsl --shutdown
启动 wsl2,ping 百度
ping www.baidu.com
可以 ping 通
现在可以设置静态 IP
wsl 执行
sudo nano /etc/sudoers
找到 %sudo ALL=(ALL:ALL) ALL, 在它下面添加一行,添上面不管用,hyn 换成你的用户名
hyn ALL=(ALL) NOPASSWD: ALL
配置开机便设置 dns 服务器
sudo nano ~/.bashrc
在文件最后加入下面内容
sudo sh -c 'echo "nameserver 8.8.8.8nameserver 8.8.4.4" > /etc/resolv.conf'
打开终端,编辑文件没有自动创建
sudo nano /etc/netplan/01-netcfg.yaml
network:version: 2ethernets:eth0:dhcp4: noaddresses: [192.168.1.120/24]routes:- to: defaultvia: 192.168.1.1metric: 100nameservers:addresses: [8.8.8.8, 8.8.4.4]
ctrl+x 输入 y 退出
赋予权限
sudo chmod 600 /etc/netplan/01-netcfg.yaml
应用配置
sudo netplan apply
如果报 systemctl 未启动,执行
sudo systemctl status
查看是否启动状态后再次执行即可,如果是因为没有安装 systemctl,则需要重新安装 systemctl
wsl2 ubuntu22 安装 systemd(wsl2 不支持 systmctl)-CSDN博客在 WSL 2 上启用 systemd
安装 systemd 包
sudo apt-get update -y && sudo apt-get install systemd systemd-sysv -y
sudo nano /etc/wsl.conf
在 wsl.conf
文件中添加以下行,你现在已打开此文件来更改用于 systemd 的初始值:
[boot]
systemd=true
保存并关闭 wsl,在 cmd 下执行
wsl --shutdown
继续执行命令
sudo netplan apply
如果报下面错可以忽略
WARNING:root:Cannot call Open vSwitch: ovsdb-server.service is not running.
打开用 ip addr 查看 ip 应该是变了,也可以 ping 通百度