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.x 或 192.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

相关推荐
Vex2une1 小时前
Windows 性能监视器发展史:从 PerfMon 计数器到 XPerf 深度诊断
windows·wpa·etw·性能监视器·perfmon·性能计数器·xperf
在角落发呆1 小时前
工具配置备份步骤:从手动备份到自动化方案
运维·windows·自动化
_upupup2 小时前
Linux的调试工具——gdb/cgdb
linux·服务器
JeJe同学2 小时前
Docker镜像导入、容器启动
linux·运维·docker
Vd7H20A72 小时前
Windows 下用 llama.cpp 运行 Qwen3.8-27B 并开启 512K 上下文 完全指南
windows·llama
Jason_zhao_MR2 小时前
Linux与实时控制如何兼得
linux·嵌入式硬件·机器人·工业控制
闲云野鹤在人间3 小时前
MySQL|从理论、安装、备份到主从复制、MHA高可用详解
linux·运维·数据库·mysql·云计算
一个风轻云淡4 小时前
GCC 和 GDB命令简单解读
java·linux·前端
H.莓飛4 小时前
【数据结构】二叉树_OJ题
linux·开发语言·数据结构·算法
资料库014 小时前
Linux 8个常见运维故障排查
java·linux·运维