在内网环境下hyper-v使用wsl网络
前言
环境
系统版本: Windows 11 专业版 22H2
WSL版本
1 | PS C:\Users\v_connliu> wsl -v |
.wslconfig
和/etc/wsl.conf
均使用默认配置
目前方案和需求
本人在一个内网环境,使用登录公司特定软件才可以访问网络
使用一台windows11电脑上,使用wsl开启的linux 环境用于日常linux 开发使用
因开发或者其他需要使用一个vpn代理软件,但因公司安全策略不能在宿主机安装,只好使用hyper-v 安装一个虚拟机在里面使用
使用hyper-v时网络是最大的难题
使用Default Switch
在hyper-v内使用Default Switch 没有网络
遂放弃
使用WSL
查看wsl网关
1 | root@ubuntu:~# route -n |
进入虚拟机后修改ip,子网掩码,网关,dns服务器
ip: 使用 172.31.176.0 同网段
子网掩码:255.255.240.0
网关: 172.31.176.1
dns服务器: 172.31.176.1
这样虚拟机就可以正常上网了, 但是 wsl 重启会导致 网关变动,进而导致 使用固定网关的虚拟机内也无法使用网络
需要一种解决方案既可以在wsl 可以访问网络,在 虚拟机内也可以访问网络的方案
固定wsl 的Gateway
修改/etc/wsl.conf
的systemd 配置
1 | [boot] |
修改/etc/systemd/network/eth0.network
为如下内容
1 | [Match] |
重启生效
1 | wsl --shutdown |