wsl ubuntu层开放22端口,主机windows层开放2222端口转发

在 WSL2 中,IP 地址是动态分配的,每次重启或恢复时都可能变化。获取 WSL2 当前 IP 地址的方法如下:

1. 在 WSL2 内部获取 IP

在 WSL2 终端中执行:

bash 复制代码
# 方法一:查看 eth0 接口的 IP
ip addr show eth0 | grep inet | awk '{print $2}' | cut -d/ -f1

# 方法二:使用 hostname 命令(更简洁)
hostname -I | awk '{print $1}'

示例输出:172.28.112.1


2. 在 Windows 宿主机上获取 WSL2 IP

在 Windows 的 PowerShell 或 CMD 中执行:

powershell 复制代码
# 通过 wsl 命令直接获取
wsl hostname -I | ForEach-Object { $_ -split ' ' | Select-Object -First 1 }

该命令会返回 WSL2 虚拟网卡的 IP 地址(通常是 172.x.x.x192.168.x.x)。


3. 在端口转发中的使用

当你使用 netsh interface portproxy 进行端口转发时,需要将 connectaddress 设置为这个动态 IP。例如:

powershell 复制代码
# 假设获取的 WSL2 IP 为 172.28.112.1
netsh interface portproxy add v4tov4 listenport=2222 listenaddress=0.0.0.0 connectport=22 connectaddress=172.28.112.1

由于 IP 可能变化,建议在每次 WSL2 启动后重新执行转发命令,或编写脚本自动完成:

powershell 复制代码
$wsl_ip = wsl hostname -I | ForEach-Object { $_ -split ' ' | Select-Object -First 1 }
netsh interface portproxy add v4tov4 listenport=2222 listenaddress=0.0.0.0 connectport=22 connectaddress=$wsl_ip

相关推荐
T0uken2 分钟前
【Linux】耗时任务执行并邮件通知
linux·运维·服务器
c++逐梦人10 分钟前
Linux生产者消费者模型
linux
网络安全许木33 分钟前
自学渗透测试第16天(Linux文本处理进阶)
linux·运维·服务器·网络安全·渗透测试
Lugas Luo37 分钟前
车载录像存储性能模拟测试工具设计
linux·嵌入式硬件·测试工具
铅笔小新z1 小时前
【Linux】进程控制(下)
linux·运维·chrome
企鹅的蚂蚁1 小时前
Ubuntu 22.04 终端进阶:Terminator 安装与快捷键完全手册
linux·运维·ubuntu
不会写程序的未来程序员1 小时前
nvm 安装教程:Node.js 版本管理全攻略 (Win/Mac/Linux) + .nvmrc 实战
linux·macos·node.js·前端开发·环境配置·nvm
学安全的小白2 小时前
VMware安装windows server 2003 R2 教程(图文版)
服务器·windows
似水এ᭄往昔2 小时前
【Linux】--进程控制
linux·运维·服务器
千里马学框架2 小时前
Ubuntu 24 搭建aosp源码环境详细笔记
android·linux·ubuntu·framework·安卓·aosp·源码环境