内网转发最好的工具——SSH隧道

2020-05-20 22:44:47 admin 110

1,SSH隧道的主要作用:

1,加密SSH客户端端至SSH服务器端之间的通讯数据
2,突破防火墙的限制完成一些之前无法建立的TCP连接

3,探测内网连通性的时候,如果HTTP协议,ICMP协议等都被防火墙所取代,但是恰好SSH内置网还是可以用的,就可以使用SSH协议把内网流量带出网

2,SSH隧道本地端口转发

1,适用于内网WEB服务器有公私网双IP;或者是A-> C被限制但是B => C可达的内网场景
2,它的命令格式为:ssh -Nf -L {本地端口}:{目标机器}:{目标端口} {中间机器}#或ssh -Nf -L {本地地址}:{本地端口}:{目标机器}:{目标端口} {中间机器}
3,例如以下拓扑,我们即可在VPS上执行如上命令例如SSH -L 2345:100.128.1.6:21 root@192.168.100.3
4,现在环境模拟一下,三台LINUX主机分别为PC1 PC2 PC3

iptables -I INPUT -s 192.168.49.136 -j DROP PC1增加防火墙规则禁止实现PC3

PC1:192.168.49.138 模拟VPS

PC2:192.168.49.134 模拟WEB服务器

PC3:192.168.49.136 模拟内网主机

即ssh -L 2345:192.168.49.136:22 root@192.168.49.134
这样vps ssh自己的2345端口,可以访问内网主机PC3的22端口

3,SSH隧道远程端口转发

1,适用于WEB服务器,只有内网IP,可以出外网,并且内网主机之间可以互相访问
2,例如我们可以在WEB服务器上-(跳板机)上使用以下命令SSH -Nf -R {远程VPS端口}:{目标机器}:{目标端口} {远程VPS机器}
3,例如以下拓扑,我们可以在WEB服务器上执行SSH -R 1234:1.1.1.10:22 192.168.1.104,现在环境模拟下,三台Linux主机A,B,C
A:192.168.49.138 模拟VPSB:192.168.49.136 模拟内网服务器C:192.168.49.133 模拟内网主机

A不能访问B和C,B可以自由访问,配置以下命令

A:iptables -I INPUT -s 192.168.49.133 -j DROP
B:ssh -Nf -R 2345:192.168.49.133:22 192.168.49.138
A:ssh -p 2345 127.0.0.1成功连接内网主机C的SSH

4,动态转发(类似翻墙)

动态转发多个简单,主要就是为你创建一个SOCKS5例如:存在主机A,B,C,其A-> B = ok B-> C = ok A-> C = no ok
A:192.168.1.1恢复自己的计算机
B:192.168.1.2动态转发服务器
C:192.168.1.3
谷歌我们只需要再A主机使用命令SSH -D 1234 192.168.1.2(类似小飞机的作用)然后再把浏览器设置代理端口1234即可将流量转发到192.168.1.2了,而这时自然也就可以出网上Google了

5,结论:

本地端口转发适用于跳板机双网卡,内外网皆可通,外网也可直接ping跳板机。远程端口转发适用于跳板机可出外网,一般通过网关出口,外网不可直接到达内网。其适用场景不仅仅与以上两种情况,偶尔也可以把内网当外网,外网当内网来进行SSH隧道的建立。

参考文档:
https://xz.aliyun.com/t/6966#toc-11
https://segmentfault.com/a/1190000019397169
https://www.cnblogs.com/keerya/p/7612715.html#_label2
https://blog.csdn.net/weixin_42741132/article/details/82947192


电话咨询
在线留言
QQ客服