
NAT网关配置后无法SSH连接私网,核心不是“连不上”,而是“连接请求没走对路”——常见于网关转发规则未生效、虚拟机自身网络栈不完整、或跨设备通信被默认隔离。下面分四类关键环节逐项排查:
一、确认NAT网关转发规则是否真正生效
VMware的NAT端口转发必须满足三个硬性条件,缺一不可:
- 规则必须在“虚拟网络编辑器→VMnet8→NAT设置→端口转发”中添加,且目标IP填的是虚拟机当前真实IP(不是DHCP租约里的旧IP)
- 主机侧VMware NAT Service服务必须运行(Windows服务管理器里检查,状态为“正在运行”)
- 添加规则时必须以管理员身份打开虚拟网络编辑器,否则规则仅绑定127.0.0.1,局域网IP访问会直接断开
二、验证虚拟机自身网络基础是否健全
即使转发规则正确,虚拟机若无默认路由、无DNS、或网卡未获有效IP,SSH服务也形同虚设:
通过 SSH 隧道从 Android 设备在互联网上对 Windows PC 实现完整远程控制的设置与使用指南,适用于远程桌面访问、安全 RDP 等。
- 执行
ip route show,确认输出含类似default via 192.168.137.2 dev ens33;若缺失,手动添加:sudo ip route add default via 192.168.137.2 dev ens33 - 执行
ip a,确认网卡已获取192.168.x.x段IP(非169.254.x.x);若为169.254.x.x,说明VMware DHCP Service未运行,需启动该服务并重启网卡 - 检查
/etc/resolv.conf是否有可用nameserver,否则yum/apt可能失败,间接影响sshd依赖更新
三、检查SSH服务监听与认证配置是否允许远程接入
很多情况是sshd“开着但不接客”:
- 运行
ss -tlnp | grep :22,确保监听地址是0.0.0.0:22或*:22;若只显示127.0.0.1:22,需修改/etc/ssh/sshd_config中的ListenAddress行为注释或删掉 - 确认
PasswordAuthentication yes已启用(尤其新装RockyLinux默认禁用密码登录) - 重启服务:
sudo systemctl restart sshd,再查状态:systemctl status sshd
四、排除宿主机与策略层拦截
转发链路上的“隐形墙”常被忽略:
- Windows防火墙可能阻止入站2222(或你设的转发端口),需在“高级安全Windows防火墙”中放行该端口的TCP入站规则
- 若用FinalShell/Xshell等工具连接宿主机IP+转发端口失败,先用
telnet 宿主机IP 转发端口测试端口是否开放;不通则问题在宿主机侧 - 云环境或企业网络下,物理路由器/NAT设备本身可能做了二次SNAT或ACL限制,需确认宿主机IP对外可达且端口未被上游拦截










