使用SSH建立tunnel隧道,穿透到内网服务器!
在很多项目的搭建上,处于安全角度,经常将某些关键服务器配置成内网环境
即只能在内部运行,无法向外连接
例如下图
在图中,要访问内网里边的服务器上的站点,则必须先登录到具有双网卡的机器上
然后再跳转到内网服务器上
如果是http/ftp协议,则只要在双网卡双IP的服务器上配置好apache/squid代理就可以了
但是,如果要访问内网服务器的MSSQL、远程桌面等服务,那就成为问题了
具有双网卡的服务器是一个字符linux环境,无法直接连接远程桌面等图形服务,也不支持mssql协议
这时候就需要ssh的tunnel隧道出马了。
首先使用putty或者ssh等标准的ssh工具,建立一个profile,设置好ip、端口等。
进入高级选项,可以在选项卡里边找到ssh tunnel的设置。选择Outgoing,选择add。
添加一个新规则。其中licten 12345表示隧道建立后,使用本机的12345端口。
而远程地址,则输入要穿透的内网服务器的地址和端口。
新建好了点击确认。
从profile中选中刚才建立的带有隧道的连接。
输入密码完成,连接ok。随着标准ssh的建立,后台的tunnel也建立好了!
到本机上,执行netstat -an,能看到刚才建立的隧道,端口是12345。
由于我们的隧道的远端是个3389端口,所以我们这里就可以用远程桌面了。
登录成功!
通过ssh tunnel隧道的建立,成功的利用一个双网卡(双ip,双网段)的机器,实现了到内网的穿透。
呵呵~~~~~这个东西前不久偶也用了,用vnc+ssh tunneling连到学校的内网
在linux下用命令行也可以建立tunnel
Allow local connection选中后,
用127.0.0.1:12345的方式,与用linux(黑乎乎)的ip:12345的方式,两个效果一样,是么?
具有相当的实用性。伟大的SSH!
没看明白索尔什么意思。
比如:双网卡服务器的公网ip是211.68.32.200
那么,在客户机上使用远程连接时
127.0.0.1:12345
211.68.32.200:12345
两种方式都可以连到内网那个装2003的机器么?
不对,楼上仔细在读读。。。
哦了:)
211.219...机器上要做个动作吧?我试了一下,不行也
内网的那个主机都能连外网了,当然早就跳过防火墙啦,网络结构和你上面的防火墙早就不知道变什么样子啦,完全就是3机直线相连了。简单到一个QQ远程协助控制过来就行啦,还搞那么麻烦。再说,单网卡都可以,3G拨号上外网就可以啦。
QQ远程协助能让我随意转发端口吗?
QQ给太多人洗了脑。
我想用ssh代理翻墙,账户用plink顺利登录,但是不管火狐怎么设,还装了个autoproxy的插件,访问依旧是代理服务器拒绝连接。
我怀疑是内网的原因,因为在学校,从内网拨号上网,不知道要怎么设?谢谢。