当前位置: 首页 > article >正文

WSL2Linux 子系统(十一)

WSL 网络改为桥接模式(默认NAT)

上一篇文章 《WSL2Linux 子系统(十)》 详细讲述 WSL(Windows Subsystem for Linux)WSL 显示画面的几种方法。本篇讲述 WSL 网络转为桥接模式的两种方法。

桥接模式允许 WSL 实例获得一个与宿主机在同一子网中的 IP 地址,这样可以更方便地进行网络通信和服务发现。虽然桥接模式提供了更直接的网络访问,但也需要注意网络安全,因为 WSL 实例将暴露于网络中,需确保防火墙和安全策略的合理配置。

作者:炭烤毛蛋 ,点击博主了解更多。


提示:在桥接模式下,WSL 实例可以直接访问与宿主机相同的网络。

文章目录

  • WSL 网络改为桥接模式(默认NAT)
  • 1. Windows Hyper 虚拟机配置
  • 2. WSL 网络桥接配置
    • 2.1 动态方式连接桥接网络
    • 2.2 静态方式连接桥接网络
  • 结语


1. Windows Hyper 虚拟机配置

由于WSL2底层使用的是Hyper-V虚拟机,所以我们可以修改虚拟交换机的类型,来启用桥接网络。
Hyper-V管理器 -> 操作 -> 虚拟交换机管理器, 修改WSL的连接类型为“外部网络”(选择网络时需要勾选 为管理操作系统启用虚拟 LAN 表示)
LAN

WSL 桥接前需要将网卡改为内部桥接。

  • 列出所有网卡
get-netadapter

get-netadapter
外部网卡为 vEthernet (WSLBridge) ,等会会用到该网卡名。

  • 列出外部网卡
Get-VMSwitch -SwitchType External

Name SwitchType NetAdapterInterfaceDescription
---- ---------- ------------------------------
WSL_Hyper-Ⅵ External Intel(R) Wi-Fi 6 AX201 160MHz

Get-VMSwitch

  • 桥接网络,后面写的是网卡名称
Set-VMSwitch WSL -NetAdapterName WLAN
# 按照网络名称设置桥接网络
Set-WMSwitch WSL -NetAdapterName "Intel(R) WiFi 6 AX201 160MHz"
  • 断开桥接网络
Set-VMSwitch WSL -SwitchType Internal

DHCP 方式连接桥接网络
开启 DHCP 动态连接网络,网络连接成功后自动分配IP。

2. WSL 网络桥接配置

  • 配置 WSL 在 windows 的 .wslconfig
    win + R 输入 %USERPROFILE%/.wslconfig,选择记事本打开该文件。输入如下内容:
[wsl2]
networkingMode=bridged
vmSwitch=WSLBridge
ipv6=true
dhcp=true

重启 wsl 子系统生效配置。

2.1 动态方式连接桥接网络

  • 配置 WSL 中 wsl.conf
    进入wsl的Ubuntu子系统,打开/etc/wsl.conf,如果不存在该文件就创建它。
vi /etc/wsl.conf

需要写入内容

[boot]
systemd = true
[network]
generateHosts = true
generateResolvConf = true

重启 WSL 生效 networkd 生效配置。

systectl restart systemd-networkd

2.2 静态方式连接桥接网络

STATIC 静态连接网络,需要避免网络 IP 重复

  • WSL 在 windows 的 .wslconfig
    win + R 输入 %USERPROFILE%/.wslconfig,选择记事本打开该文件。输入如下内容:
[wsl2]
networkingMode=bridged
vmSwitch=WSLBridge
ipv6=true
dhcp=false

重启 wsl 子系统生效配置。

  • 配置 WSL 中 wsl.conf
    进入wsl的Ubuntu子系统,打开/etc/wsl.conf,如果不存在该文件就创建它。
vi /etc/wsl.conf
# 需要写入内容
[boot]
systemd = true
[network]
generateHosts = false
generateResolvConf = false
  • 配置 wsl-network.conf 和 resolv.conf
    修改网络配置 /etc/systemd/network/static-network.conf,如果没有该文件需要自行创建。
vi /etc/systemd/network/static-network.conf
# 填入以下配置内容
[Match]
Name=et*
#Name=en*
[Network]
DHCP=ipv4

修改 DNS 解析配置

vi /etc/resolv.conf
nameserver 192.168.31.2

重启 networkd 生效配置。

systectl restart systemd-networkd
  • 配置网络设置
    配置文件/etc/netplan/00-wsl2.yaml,如果不存在就创建它。
vi /etc/netplan/00-wsl2.yaml
# 写入以下格式的配置内容
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
addresses: [192.168.31.15/24]
routes:
- to: default
via: 192.168.31.2
nameservers:
addresses: [192.168.31.2]

应用新的网络设置重启 WSL2 子系统生效配置。

netplan apply

重启wsl子系统的IP地址将不再随机变化,且直接桥接到外部局域网。

结语

不枉博主详细讲解,欢迎订阅博主–炭烤毛蛋 。


http://www.kler.cn/news/326077.html

相关文章:

  • 简易CPU设计入门:取指令(三),ip_buf与rd_en的非阻塞赋值
  • chatgpt的ai导师风格设置
  • [ RK3566-Android11 ] 关于移植 RK628F 驱动以及后HDMI-IN图像延迟/无声等问题
  • Tesla T4 P2P测试
  • Vue 实现原生表格 tr td 动态合并 vue前端原生表格动态合并列 合并行
  • win10专业版永久关闭自动更新功能
  • Linux中配置docker环境
  • 基于Arduino的自弹尤克里里机器人
  • Apache DolphinScheduler-1.3.9源码分析(一)
  • Gromacs位置限制问题
  • 强化学习在自动驾驶技术中的应用与挑战
  • Spring 的作用和优势
  • [Linux#60][HTTPS] 加密 | 数字指纹 | 详解HTTPS工作方案 | CA认证
  • DOM中的节点分为哪几种几类型
  • 服务器几核几G几M是什么意思?如何选择?
  • 减少重复的请求之promise缓存池(构造器版) —— 缓存promise,多次promise等待并返回第一个promise的结果
  • 热门解压短视频素材下载网站推荐
  • unix中父进程如何获取子进程的终止状态
  • 第十七章:c语言内存函数
  • 爬虫代理对于网络爬虫的重要性
  • 【docker】如何保存镜像以及分享社区
  • centos7安装指定版本php及扩展
  • 滚雪球学MySQL[10.1讲]:常见问题与解决
  • python+requests接口测试
  • python 实现data transformations数据转换算法
  • 【Kubernetes知识点】 解读 Service 和 EndpointSlice 之间的关系
  • 柯桥小语种学习英语口语培训|被点名时,中文喊“到”,那英文喊什么?
  • python并发编程实战
  • TiDB 在线打标签实现副本调度应用实践
  • windows 录音编码为flv格式时,pcm采样格式