Windows 11 设置 wsl-ubuntu 使用桥接网络

Windows 11 设置 wsl-ubuntu 使用桥接网络

  • [0. 背景](#0. 背景)
  • [1. Windows 11 下启用 Hyper-V](#1. Windows 11 下启用 Hyper-V)
  • [2. 使用 Hyper-V 虚拟交换机管理器创建虚拟网络](#2. 使用 Hyper-V 虚拟交换机管理器创建虚拟网络)
  • [3. 创建 .wslconfig 文件](#3. 创建 .wslconfig 文件)
  • [4. 配置 wsl.conf 文件](#4. 配置 wsl.conf 文件)
  • [5. 配置 wsl-network.conf 文件](#5. 配置 wsl-network.conf 文件)
  • [6. 创建 00-wsl2.yaml](#6. 创建 00-wsl2.yaml)
  • [7. 安装 net-tools 和 openssh-server](#7. 安装 net-tools 和 openssh-server)

0. 背景

在 Windows 11 下的 wsl-ubuntu 系统下学习 AI,内网的其他机器访问 wsl-ubuntu 中启动的服务非常麻烦,所以设置wsl-ubuntu 使用桥接网络,方便内网中其他机器进行访问。

1. Windows 11 下启用 Hyper-V

如下图所示,启用 Hyper-V。

2. 使用 Hyper-V 虚拟交换机管理器创建虚拟网络

如下图所示。

3. 创建 .wslconfig 文件

使用快捷键Win+R唤出运行窗口,在打开栏内填入%USERPROFILE%并在打开的文件夹内创建配置文件".wslconfig",并在该配置文件内输入以下内容。

复制代码
[wsl2]
networkingMode=bridged
vmSwitch=WSLBridge
#ipv6=true
#dhcp=false

4. 配置 wsl.conf 文件

进入wsl的Ubuntu子系统,打开/etc/wsl.conf,若文件不存在则创建,

复制代码
vi /etc/wsl.conf

在wsl.conf配置文件内填入以下内容,

复制代码
[boot]
systemd = true
#[network]
#generateHosts = false
#generateResolvConf = false

5. 配置 wsl-network.conf 文件

检查/etc/systemd/network/,若文件夹下没有文件则创建一个配置文件my-network.conf,若文件夹下有文件则忽略此步骤。

复制代码
vi /etc/systemd/network/my-network.conf

在my-network.conf文件内填入以下内容,

复制代码
[Match]
Name=en*
 
[Network]
DHCP=ipv4

重启networkd,

复制代码
systemctl restart systemd-networkd

6. 创建 00-wsl2.yaml

打开配置文件/etc/netplan/00-wsl2.yaml,如果不存在就创建。

复制代码
vi /etc/netplan/00-wsl2.yaml

在00-wsl2.yaml文件内填入以下格式的内容,

复制代码
network:
  version: 2
  ethernets:
    eth0:
      dhcp4: no
      addresses: [192.168.0.15/24]
      gateway4: 192.168.0.2
      nameservers:
        addresses: [8.8.8.8, 114.114.114.114]

apt install mininet

然后使用sudo netplan apply应用新的网络设置,重启WSL2子系统即可。

重启后,wsl子系统的IP地址将不再随机变化,且直接桥接到外部局域网,可更方便地用于进行网络调试以及嵌入式开发。(用这个方案可永久生效,只需配置一次)

7. 安装 net-tools 和 openssh-server

复制代码
apt install net-tools openssh-server

确认 ip,

复制代码
ifconfig

---
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.31.15  netmask 255.255.255.0  broadcast 192.168.31.255
        inet6 fe80::5cbb:f6ff:fe9e:eefa  prefixlen 64  scopeid 0x20<link>
        ether 5e:bb:f6:9e:ee:fa  txqueuelen 1000  (Ethernet)
        RX packets 1694  bytes 260513 (260.5 KB)
        RX errors 0  dropped 541  overruns 0  frame 0
        TX packets 248  bytes 40750 (40.7 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 528  bytes 47784 (47.7 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 528  bytes 47784 (47.7 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
---

完结!

相关推荐
SKYDROID云卓小助手1 小时前
三轴云台之相机技术篇
运维·服务器·网络·数码相机·音视频
yuzhangfeng4 小时前
【云计算物理网络】从传统网络到SDN:云计算的网络演进之路
网络·云计算
TDengine (老段)4 小时前
TDengine 中的关联查询
大数据·javascript·网络·物联网·时序数据库·tdengine·iotdb
niandb4 小时前
The Rust Programming Language 学习 (九)
windows·rust
zhu12893035564 小时前
网络安全的现状与防护措施
网络·安全·web安全
zhu12893035566 小时前
网络安全与防护策略
网络·安全·web安全
沫夕残雪6 小时前
HTTP,请求响应报头,以及抓包工具的讨论
网络·vscode·网络协议·http
π2706 小时前
爬虫:网络请求(通信)步骤,http和https协议
网络·爬虫
virelin_Y.lin8 小时前
系统与网络安全------Windows系统安全(1)
windows·安全·web安全·系统安全
zhu12893035568 小时前
网络安全基础与防护策略
网络·安全·web安全