努力学习,努力分享,努力.....在努力..努力离开..
分类: 系统运维
2014-01-18 14:54:50
SSH端口转发分为两种,一种是本地端口转发,又称为本地SSH隧道。一直是远程端口转发。SSH端口转发,还必须指定数据传送的目标主机,从而形成点对点的端口转发。
本地端口转发
假定有三台主机A、B、C。由于种种原因(无论是防火墙还是路由原因),AC两台主机之间无法连通。但是B却可以和A、C连通。这时候就可以用本地端口转发来实现A和C通过B来连通。
A 192.168.7.27
B 192.168.6.19
C 192.168.30.68
6网段和7网段、30网段都相通,但是7网段和30网段不通,现在需要从7网段访问30网段的一个web服务,可以通过本地端口转发来实现。首先确保A、B的ssh服务都开启了允许转发:GatewayPorts yes、AllowTcpForwarding yes
在A上面执行下面的命令:
ssh -l test -L 192.168.7.27:59000:192.168.30.68:80 192.168.6.19
参数-L后面总共有四个用冒号分割的值,分别是'本地地址:本地端口:目标主机:目标主机端口'。这条命令的意思,就是指定SSH绑定本地192.168.7.27的59000端口,然后指定 192.168.6.19将所有的数据,转发到目标主机192.168.30.68的80端口。
如此,我们只要在A上连接A本地地址的59000端口,就等于连上了192.168.30.68的80端口。
curl