摘要:在日常研发工作中,经常会遇到环境隔离、网络不互通的情况,必须通过中间跳板机才能完成连接。尤其是当公司网络政策禁用向日葵、ToDesk等远程控制软件时,如何突破这一限制实现内网穿透?今天我将分享一种基于SSH端口转发的简单解决方案。
在日常研发工作中,经常会遇到环境隔离、网络不互通的情况,必须通过中间跳板机才能完成连接。尤其是当公司网络政策禁用向日葵、ToDesk等远程控制软件时,如何突破这一限制实现内网穿透?今天我将分享一种基于SSH端口转发的简单解决方案。
本方案核心利用的是SSH的端口转发功能,无需安装任何第三方软件,系统内置的SSH工具即可完成全部操作。
仅需一行命令即可完成第一层转发:
ssh -R 8888:localhost:22 root@40.1.1.100 #将跳板机的8888端口转发到本地的22端口这条命令的作用是建立一个从跳板机到内网服务器的通道,将跳板机上的8888端口映射到内网服务器的22端口。
ssh -R 8889:localhost:8888 root@1.1.1.3 #将外网电脑的8889端口转发到本地的8888端口这一步将外网电脑的8889端口映射到跳板机的8888端口,从而完成了整个转发链条。
配置完成后,查看跳板机和外网电脑的端口监听信息,确认8888和8889端口已正常监听,表示配置已成功生效。
在外网电脑上执行以下命令:
ssh root@127.0.0.1 -p 8889神奇的事情出现了!通过查看连接后的主机名称和网卡IP,显示server1和20.1.1.12,这证明我们已成功访问到了内网服务器server1。这意味着,仅通过两次SSH端口转发,我们完美实现了内网穿透。
Q1: 我习惯使用Windows远程桌面,这种方法适用吗?
当然适用。本文以SSH的22端口为例,如果你使用Windows系统,只需将映射端口改为远程桌面的3389端口即可。命令形式基本相同,使用体验一致。
Q2: 文中的IP地址都是私网地址,如何应用于公网访问场景?
本文使用的私网IP仅作示例演示。实际应用于公网场景时,操作流程完全一致,只需将IP地址替换为对应的公网地址即可实现。
这种简单而高效的内网穿透方法,不仅避开了公司对远程控制软件的限制,还利用了系统自带工具,无需额外安装任何软件,是远程访问的理想解决方案。
来源:散文随风想