【WSL2亲测可用】以ssh为例,实现宿主机与虚拟机同网络,且宿主机外网LAN主机可访问

问题描述

提示:window11 23H2以后版本,wsl2的Linux虚拟机,可被其他同宿主机网段访问,实现ssh及其他端口访问自由

问题解决:

> 1、升级wsl为wsl2,确认wsl版本为2.0.0以上,如下所示

PS C:\Users\xxxx> wsl --version

WSL 版本: 2.2.4.0  //2.0.0版本以上 
内核版本: 5.15.153.1-2
WSLg 版本: 1.0.61
....

> 2、配置wsl网络为镜像模式,即mirrored,如下所示

在Windows的用户目录创建一个文件,名字叫.wslconfig。名字就叫.wslconfig。然后再里面配置以下命令:

# Settings apply across all Linux distros running on WSL 2
[wsl2]
#如果值为 mirrored,则会启用镜像网络模式。 默认或无法识别的字符串会生成 NAT 网络。
networkingMode=mirrored

....

配置好之后一定要在windows powershell执行wsl --shutdown,然后再重新启动WSL2实例。启动完成后你看到的网络配置长下面这样:
提示:wsl虚拟机的网卡IP,与宿主机相同
在这里插入图片描述


> 3、实现宿主机localhost访问虚拟机ssh
按如下配置:
在这里插入图片描述
提示:使用root登录可能提示密码出错,这是因为Ubuntu默认wsl下root密码为空,需要单独设置;另外OS默认禁用了root登录,需要打开permissionrootlogin
在虚拟机使用如下命令:vim /etc/ssh/sshd_config,将PermitRootLogin 后改为yes,同时删除注释;
在这里插入图片描述


> 4、实现宿主机同网段其他主机访问虚拟机ssh
在windows宿主机环境下,使用ssh工具,访问同IP下的22端口,提示connect reset等错误,主要是以为Windows防火墙规则所限,需要单独添加入站规则:防火墙->高级设置->入站规则->新建规则
在这里插入图片描述
在这里插入图片描述
填写端口号22,下一步命名保存即可;

提示:此时使用ssh工具即可通过宿主机IP+端口号22,访问虚拟机ssh; 其他端口同理

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值