问题
- 主机1能访问外网,
- 主机2 不能访问外网
- 外部主机想要访问主机2
解决
在主机1和主机2之间建隧道。
在主机1上做本地端口转发。可以用ssh来做本地端口转发(转发到远端)。
方法:
在(本地)主机1上执行
ssh -C -f -N -g -L 10.0.8.3:18888:10.0.8.4:8888 lighthouse@10.0.8.4
------------------- ------------------ ----------------------------
主机1(本地) 主机2(远程)主机2(远程)的用户和地址
-C:压缩数据传输。
-f :后台认证用户/密码,通常和-N连用,不用登录到远程主机。
-N :不执行脚本或命令,通常与-f连用。
-g :在-L/-R/-D参数中,允许远程主机连接到建立的转发的端口,如果不加这个参数,只允许本地主机建立连接。
-L 本地端口:目标IP:目标端口
ssh本地端口转发命令的「-L」旗标后可以填写四个参数,完整格式为:
ssh -L [收听接口:]收听端口:目标主机:目标端口 username@hostname
命令中方括号内的部分,即第一个参数可以不写;它的默认值一般是0.0.0.0
在外部主机上访问主机1即可
curl 43.138.23.x:18888/[your endpoint]
SSH的端口转发_weixin_30478619的博客-CSDN博客