WSL2子系统终于支持分配外部IP 需要手动配置虚拟交换器后使用

Windows Subsystem for Linux此前不支持分配外部IP即使用NAT进行虚拟,因此在实际使用过程中我们需要通过Windows主机访问,如果想要在局域网里直接访问特定端口虽然可以成功实现但非常麻烦,因此在WSL1时代就有开发者建议微软支持分配外部IP。

最近有开发者发现微软已经在WSL2预览版中实现桥接,但不知道为什么微软并没有对此功能发布公告,现在要使用桥接的开发者都可以通过手动配置文件的方式分配外部IP。

版本要求:WSL2 Preview 0.51.2 (通过Microsoft Store下载)

系统版本:Windows 10 Build 18362及更高版本,支持Windows 11

要使用桥接和分配外部IP需要启用Hyper-V虚拟机并创建外部虚拟交换机(switch),然后使用wsl --shutdown命令关闭WSL子系统,最后将修改.wslconfig配置文件添加以下命令:

 
  1. [wsl2]
  2. networkingMode=bridged
  3. vmSwitch=替换成你创建的虚拟交换机名称

重新启动WSL子系统即可实现桥接并获得外部IP地址(路由器记得开启DHCP)

hyper-v都支持设置虚拟交换机,那问题来了, 如果要设置多个网络,例如,vmSwitch=wan_switch,wifi_switch那这样可以吗?

### VM虚拟网络配置教程 #### 一、Vagrant 和 VirtualBox 的网络设置 在使用 Vagrant 和 VirtualBox 创建虚拟机时,可以通过 `Vagrantfile` 文件来定义网络配置。常见的网络模式有三种:NAT 模式、桥接模式和仅主机模式。 - **NAT 模式**: 默认情况下,VirtualBox 使用 NAT 模式,允许虚拟访问外部网络,但外部无法直接访问虚拟机。 - **桥接模式**: 将虚拟机连接到物理网卡上,使其在网络中表现为独立设备。可以在 `Vagrantfile` 中通过以下方式启用: ```ruby config.vm.network "public_network" ``` - **仅主机模式**: 只能在宿主机与虚拟机之间通信,适合隔离环境下的开发测试工作。同样,在 `Vagrantfile` 中可通过如下代码实现: ```ruby config.vm.network "private_network", type: "dhcp" ``` 这些基本的网络配置方法能够满足大多数用户的日常需求[^1]。 #### 二、Proxmox VE 的网络设置 对于 Proxmox VE 平台上的虚拟机,其网络配置主要依赖于 Web 控制台中的界面操作或者命令行工具完成。当创建一个新的 KVM 虚拟机时,默认会分配一个名为 `vmbr0` 的桥接接口给该虚拟使用。此默认桥接器通常已经绑定到了服务器的实际网卡之上,因此新建立起来的虚拟机能立即获得对外部互联网以及局域网内的连通能力[^2]。 如果需要自定义更复杂的网络拓扑结构,则可能涉及到修改 `/etc/network/interfaces.d/` 下的相关文件或是利用 PVE 提供的各种高级选项来进行调整。 #### 三、WSL2网络特性及其优化建议 不同于传统的完全型虚拟化解决方案如 VMware Workstation 或 Oracle VirtualBox ,微软推出的 WSL (Windows Subsystem for Linux) 版本号达到第二代之后采用了 Hyper-V 技术作为底层支撑机制。这意味着每一个安装好的发行版实例实际上都是运行在一个专用的小型虚拟子系统之中[^3]。 由于这种架构设计特点决定了 WSL2 实例拥有自己单独的一套 IP 地址体系,并且自动加入由 Hyper-V 构建出来的内部交换网络当中去。所以一般而言无需额外手动干预即可正常运作;不过为了提升性能表现或者是解决某些特殊场景下可能出现的问题,仍然有必要掌握一些技巧: - 修改 DNS 设置以改善域名解析速度; - 手动指定静态IP地址代替动态获取的方式提高稳定性; - 开启巨帧支持减少数据传输延迟等等。 以上就是针对不同类型的虚拟化平台所提供的关于如何进行虚拟网络设定方面的指导信息。 ```bash # 示例脚本用于展示如何更改DNS设置(适用于Ubuntu) sudo nano /etc/resolv.conf nameserver 8.8.8.8 ```
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值