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

WSL2 中配置桥接模式、虚拟交换机及固定 IP

WSL2 中配置桥接模式、虚拟交换机及固定 IP

        • 一、创建虚拟交换机
          • 1.1 使用 Hyper-V 管理器创建虚拟交换机
          • 1.2 使用 PowerShell 创建虚拟交换机
        • 二、更新 WSL 配置
        • 三、设置 WSL2 中的静态 IP、网关和 DNS
          • 3.1 编辑网络配置文件
          • 3.2 应用网络配置
          • 3.3 测试网络连接
        • 四、重启 WSL

在使用 WSL2 时,某些场景下我们需要为其设置固定的 IP 地址和 DNS。同时,如果你希望 WSL2 能够与主机共享相同的物理网络,并获取独立的 IP 地址,则可以通过桥接模式来实现。本文将介绍如何为 WSL2 设置桥接模式、固定 IP 以及 DNS 配置。

一、创建虚拟交换机

报错表明指定的虚拟交换机 VmSwitch='WSL' 没有被找到,导致 WSL 无法配置桥接模式的网络。要解决这个问题,首先需要在 Windows 中创建一个虚拟交换机。

你可以选择使用 Hyper-V 管理器或 PowerShell 来创建虚拟交换机。

1.1 使用 Hyper-V 管理器创建虚拟交换机
  1. 打开 “Hyper-V 管理器”(在开始菜单中搜索 Hyper-V Manager)。
  2. 在右侧选择 “虚拟交换机管理器”(Virtual Switch Manager)。
  3. 选择 “外部”(External),并点击 “创建虚拟交换机”。
  4. 命名该交换机为 WSL 或其他名称,并选择正确的网络适配器(通常是你的物理网卡)。
  5. 点击 “应用” 并 “确定”。
1.2 使用 PowerShell 创建虚拟交换机

如果你更喜欢使用命令行操作,可以通过 PowerShell 创建虚拟交换机:

New-VMSwitch -Name "WSL" -NetAdapterName "<您的物理网卡名称>" -AllowManagementOS $true

<您的物理网卡名称> 替换为你实际使用的网卡名称。可以通过以下命令查看系统中的网卡信息:

Get-NetAdapter

注意: -AllowManagementOS $true 参数表示主机可以继续使用这张网卡上网,不会完全影响主机的联网功能。

二、更新 WSL 配置

创建虚拟交换机后,需要将 WSL 配置为使用该交换机。可以通过编辑 wslconfig 文件实现。

  1. 打开 %UserProfile%\.wslconfig 文件(如果没有这个文件,手动创建一个)。
  2. 添加以下配置:
[wsl2]
networkingMode=bridged
vmSwitch=WSL  # 确保名称和创建的虚拟交换机一致
三、设置 WSL2 中的静态 IP、网关和 DNS

接下来,我们需要为 WSL2 中的 Ubuntu 配置静态 IP 地址。

3.1 编辑网络配置文件

使用 netplan 工具来管理网络配置,编辑 /etc/netplan/00-installer-config.yaml 文件:

sudo nano /etc/netplan/00-installer-config.yaml

添加以下内容来设置固定 IP、网关和 DNS:

network:version: 2ethernets:eth0:addresses:- 192.168.1.100/24      # 设置固定 IP 地址和子网掩码gateway4: 192.168.1.1      # 设置默认网关nameservers:addresses:- 8.8.8.8             # 设置 DNS,使用 Google 公共 DNS- 8.8.4.4dhcp4: false               # 禁用 DHCP
3.2 应用网络配置

编辑完成后,使用以下命令应用新配置:

sudo netplan apply
3.3 测试网络连接

完成配置后,可以使用 ping 命令测试网络连接:

ping 8.8.8.8        # 测试外网连接
ping www.google.com # 测试 DNS 是否正常工作
四、重启 WSL

配置完成后,为了使更改生效,可以重启 WSL:

wsl --shutdown

重新启动后,WSL2 将使用桥接模式并应用你设定的静态 IP 和 DNS。

http://www.lryc.cn/news/456098.html

相关文章:

  • Unite Shanghai 2024 团结引擎专场 | 团结引擎 OpenHarmony 工程剖析
  • 计算机毕业设计 基于Hadoop的智慧校园数据共享平台的设计与实现 Python毕业设计 Python毕业设计选题 Spark 大数据【附源码+安装调试】
  • 2022CCPC绵阳站VP题解报告(CGHMAE六题)
  • 代码随想录day23:贪心part1
  • 通过网页设置参数,submit还是json
  • C语言 | Leetcode C语言题解之第463题岛屿的周长
  • 逼近理论及应用精解【12】
  • LIN总线学习大全(基于CANoe和CAPL)
  • 国庆作业
  • Android OpenGLES2.0开发(四):矩阵变换和相机投影
  • 快递查询软件:实现单号识别与批量物流查询的高效工具
  • nodejs与npm版本对应表
  • Spring Boot 项目中如何使用异步任务
  • Scrum实战中遇到的问题与解决方法
  • 全面介绍 Windows 录屏工具:开启录制新篇章
  • Maven 和 NetBeans:集成与使用
  • 【系统架构设计师】目录提纲
  • 【微服务】—SpringBoot入门
  • Linux: debug: perf: report: --sort
  • like 模糊查询的底层算法
  • 【Linux实践】实验九:Shell流程控制语句
  • YOLOv8实战TT100K中国交通标志检测【数据集+YOLOv8模型+源码+PyQt5界面】
  • SQLite3
  • 我的创作纪念日一年
  • Docker基本操作命令(一)
  • PGMP-02项目集管理绩效域
  • CAN(Controller Area Network)总线的仲裁机制
  • 计算机毕业设计 | SpringBoot 房屋租赁网 租房买房卖房平台(附源码)
  • OJ在线评测系统 微服务高级 Gateway网关接口路由和聚合文档 引入knife4j库集中查看管理并且调试网关项目
  • 腾讯云上传pushdocker镜像到镜像仓库