Loading

2023.10 WSL2 CentOS Ubuntu 使用桥接网卡(Hyper-V)固定静态IP/加入局域网

WSL2 CentOS 使用桥接网卡固定IP/加入局域网

2023.10.01 更新:不使用IPv6;不使用vmIdleTimeout;

参考资料

https://zhuanlan.zhihu.com/p/593263088
https://www.cnblogs.com/lic0914/p/17003251.html

  1. 进入 Hyper-V 管理器新建桥接网卡
    image

  2. 进入 %USERPROFILE% 目录新建 .wslconfig 文件

[wsl2]
networkingMode=bridged
vmSwitch=Bridge
ipv6=false
dhcp=false
kernelCommandLine=ipv6.disable=1
[experimental]
autoMemoryReclaim=gradual
  1. 进入 WSL2 /etc 新建 wsl.conf 文件
[boot]
systemd=true
[user]
default=root
[network]
hostname=WSL2
generateResolvConf=false
  1. 解决 D-Bus 报错

仅适用于 CentOS / Oracle Linux

先使得命令本身可用

mv /usr/bin/systemctl{,.bak}
curl https://raw.githubusercontent.com/gdraheim/docker-systemctl-replacement/master/files/docker/systemctl.py > /usr/bin/systemctl
chmod +x /usr/bin/systemctl

然后启动 D-Bus 本身

systemctl enable --now dbus
rm -f /usr/bin/systemctl
mv /usr/bin/systemctl{.bak,}
  1. 更换网络管理服务
systemctl disable network NetworkManager
yum -y install systemd-networkd systemd-resolved
apt -y install systemd-networkd systemd-resolved
cd /lib/systemd/network/
  1. 新建网络配置管理文件 Bridge.network

如果是 Ubuntu ,可能需要将配置文件改为 01-Bridge.network

[Match]
Name=eth0

[Network]
Description=bridge
DHCP=ipv4
IPv6AcceptRA=true

[Address]
Address=192.168.8.55/24
[Route]
Gateway=192.168.8.1

[DHCP]
UseDNS=true
UseIPv4=true
  1. 启动网络服务
systemctl enable systemd-networkd systemd-resolved
systemctl start systemd-networkd
systemctl restart systemd-resolved.service
  1. 修改 DNS 解析地址
rm -f /etc/resolv.conf
echo "nameserver 223.5.5.5" > /etc/resolv.conf

对于 Ubuntu

rm -f /etc/resolv.conf
sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
vim /etc/resolv.conf
  1. 重启后检查 IP 地址

image

posted @ 2023-07-29 13:24  p#ssw0rd  阅读(1045)  评论(0编辑  收藏  举报