WSL2子系统如何设置桥接和静态ip(保姆级教程)

利用Hyper-V创建一个虚拟交换机

点击 win + s,搜索Hyper-V管理器,点击进去。

点击“虚拟交换机管理器”。

类型选择“外部”,点击创建虚拟交换机。

输入名称,和你所用的网卡,配置完成后,点击应用、确定。

(1)第一次创建,遇到创建不了的问题

解决方法

首先找到控制面板 -> 查看网络状态和任务 -> 更改适配器设置 -> 找到WLAN(如果不是连接的WIFI,以太网也一样)-> 找到共享选项全部关闭(把勾取消掉)

(2)之前有过现在删除重新创建

解决方法

win + r 输入control,进入控制面板 -> 查看网络状态和任务 -> 更改适配器设置 -> 找到WLAN(如果不是连接的WIFI,以太网也一样)-> 将Hyper-V可拓展的虚拟机交换机给取消。

.wslconfig配置文件

.wslconfig 是一个用于配置 Windows Subsystem for Linux (WSL) 的配置文件。.wslconfig 文件提供了对 WSL 2 的全局配置选项。这个文件在%Userprofile%(C:\用户\用户名)目录下,如果没有就创建一个。

配置信息如下:

; 这是 WSL 2 的配置文件

[wsl2]
processors=4                            ; 设置 WSL 2 可以使用的最大 CPU 核心数为 4,自行修改
memory=4GB                              ; 设置 WSL 2 可以使用的最大内存量为 4 GB,自行修改
swap=4GB                                ; 设置 WSL 2 的交换空间大小为 4 GB,自行修改
localhostForwarding=true                ; 允许本地主机转发
networkingMode=bridged                  ; 设置网络模式为桥接模式
vmSwitch=WSL                            ; 指定使用的虚拟交换机为 "WSL",这里填虚拟交换机的名称
ipv6=true                               ; 启用 IPv6 支持
dhcp=false                              ; 禁用 DHCP,手动设置网络配置

[experimental]
autoMemoryReclaim=gradual               ; 慢慢回收内存
autoProxy=true                          ; 启用自动代理设置

/etc/netplan目录下生成*.yaml文件

完成以上两步(虽然已经是桥接模式但是WSL2子系统的ip不是固定的,而且可能会与宿主主机的ip相同,那么你在子系统开启的服务,例如:8989端口开启了http服务,那么你在主机是访问不到这个服务的),所以我们还要进一步配置。

在 Linux 系统中,/etc/netplan 目录下的 .yaml 文件是用于配置网络设置的。

首先进入,Linux子系统中,输入以下命令:

root@LAPTOP-GUB0QBS8:/# cd /etc/netplan
root@LAPTOP-GUB0QBS8:/etc/netplan# ls
zwy.yaml                                                 //这里之前已经创建过了
root@LAPTOP-GUB0QBS8:/etc/netplan# touch xxx.yaml
root@LAPTOP-GUB0QBS8:/etc/netplan# ls
xxx.yaml  zwy.yaml
root@LAPTOP-GUB0QBS8:/etc/netplan# nano xxx.yaml         //进行编辑

编辑内容为:

network:
  version: 2
  ethernets:
    eth0:
      dhcp4: no
      addresses:
        - 192.168.1.223/24   # 设置一个不与主机相同的IP地址
      gateway4: 192.168.1.1  # 设置网关地址
      nameservers:           #dns服务,这下面可以跟我一样
          addresses:
              - 8.8.8.8
              - 8.8.4.4
              - 223.5.5.5  # 添加中国移动公共DNS服务器地址
              - 223.6.6.6  # 添加中国移动公共DNS服务器地址

最后

查看,Linux子系统的ip(这样就配置完成了),且如果用Vmware创建的虚拟机是桥接模式,它们之间是可以相互ping通的。

这里还用关于WSL一些操作的笔记,可以下来看看,用的Xmind这款软件做的笔记。https://www.123pan.com/s/WK4vTd-dapn.html

### 配置 WSL Ubuntu 网络桥接 为了在 Windows Subsystem for Linux (WSL)设置 Ubuntu 的网络桥接模式,需要注意该操作主要适用于 Windows 11 22H2 及更高版本。对于较早版本的操作系统,建议先进行升并从 Microsoft Store 下载最新版本的 Windows Subsystem for Linux 来确保兼容性功能性[^3]。 #### 安装必要的组件服务 确认已启用 Hyper-V 适用于 Linux 的 Windows 子系统这两项服务: ```powershell dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart ``` 重启计算机使更改生效。 #### 设置网络适配器 创建一个新的内部交换机用于桥接网络连接,在 PowerShell 或命令提示符中执行如下指令(需管理员权限): ```powershell New-VMSwitch -Name "InternalSwitch" -SwitchType Internal ``` 获取新创建的网卡接口索引号以便后续配置 IP 地址: ```powershell Get-NetAdapter ``` 分配静态IP地址给这个新的内联网卡,假设其接口索引为 `N` ,则可使用以下脚本调整(请替换实际获得的索引值以及适合本地环境的 IP 参数): ```powershell $index = N # 替换成具体的索引数值 netsh interface ipv4 set address name=$index static 192.168.x.y 255.255.255.0 192.168.x.z ``` 其中 `192.168.x.y` 是要赋予的新 IP 地址;`192.168.x.z` 则代表默认网关地址。 #### 修改 WSL 发行版配置文件 编辑 `/etc/wsl.conf` 文件来指定所使用的 VMMem 虚拟交换机名称,从而实现自动化的网络配置过程。可以通过文本编辑工具打开此文件并向其中添加下列内容: ```ini [network] generateHosts = true generateResolvConf = false [wsl2] kernelCommandLine="wsl.network.hostip=172.22.128.1" ``` 注意这里的 `hostip` 应当匹配之前设定好的宿主机 IP 地址范围内的有效地址。 #### 更新 DNS 解析设置 由于启用了自定义网络方案,可能还需要手动更新 `/etc/resolv.conf` 文件中的 DNS 服务器列表以保证域名解析正常工作。这一步骤视具体情况而定,如果遇到无法上网的情况可以尝试修改。 完成上述步骤后重新启动 WSL 实例让所有改动生效即可享受更灵活高效的开发体验。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值