实现端口转发

环境:
host1-----------> firewalld---------->host2----------> host3(80)

目的1:host1穿过防火墙通过host2跳转访问host3,属于本地端口转发
要求:此方法,需要firewalld开启22端口
方法:ssh -L 8888:hosts3:80 host2 (在host1执行)
思路:将host1作为ssh客户端,host2作为ssh服务端,在host2开启8888端口转发到host3

目的2:host1穿过防火墙通过host2跳转访问host3,由于上法需要开启22端口不安全,所以远程端口转发
要求:host2可以访问host1
方法:ssh -R 8888:host3:80 host1 (在host2执行)
思路:将host1作为ssh服务端,host2作为ssh客户端,在host1上开启8888端口通过host2转发到host3

目的3:其他主机通过host1跳转到host2访问host3
要求:host1需要开启ssh的网关功能,允许其他机器访问
方法: ssh -gR 8888:host3:80 host1 (-g开启网关功能) (host2执行)
思路:将host1作为ssh服务端,host2作为ssh客户端,在host1上开启8888端口并开启网关功能通过host2转发到host3

目的4:由于上法需要host1主机随时处于开启状态,资源消耗大,采用动态端口转发
要求: host2需要开启8888端口,并开启网关功能
方法:ssh -D 8888 host2 -g(-D实现动态端口转发)(host2执行)
思路:将host2作为上网入口,即开启端口而且开启网关功能,所有从8888到host2的流量都转发到host3
但是访问时需要设置代理为127.0.0.1:8888

目的5:实现上外网
要求:host2需要在国外的服务器,访问外网
方法:ssh -D 8888 host2 -g (host2执行)
思路:将host2作为上网入口,并开启网关功能,所有到8888的流量都转发到host3
但是需要设定代理:host2:8888

猜你喜欢

转载自blog.51cto.com/13434656/2530001
今日推荐