SSH端口转发之本地转发
一、案例环境:
3台RHEL6.5 64虚拟机(分别为:HostA、HostB、HostC)
IP地址:
HostA:192.168.100.101
HostB:192.168.100.102
HostC:192.168.100.103
角色:
外网主机:HostA
内网堡垒机:HostB
内网服务器:HostC
二、需求:
前提条件:HostB:开启ssh远程访问,HostC:开启Telnet Server
- HostC只允许HostB进行远程登录(以Telnet方式)
- HostC拒绝HostA访问
- HostB允许HostA访问(以ssh方式)
- 在HostA上设置本地转发
- 在HostA上实现对HostC的远程访问
三、实验
1、首先在HostC上设置防火墙策略,禁止HostA直接Telnet连接HostC,
2、在HostA上设置跳板机地址和端口
本地端口:HostC地址:23端口 -NF 跳板机IP
3、查看套接字信息
ss命令 用来显示处于活动状态的套接字信息。
-t:只显示tcp套接字信息
-n:不解析服务名称
可以看到已经和HostB建立了连接。
4、首先在HostA上测试直接连接HostC是否成功
连接失败,则表示HostC设置的防火墙策略起到作用。
5、然后在HostA通过设置的本地转发方式连接HostC
连接成功。
6、exit退出后,发现进程并未结束,隧道仍保持开启状态。
7、删除隧道
在HostA中删除所有的ssh进程后,进行Telnet连接HostC,直接和本地转发方式都连接失败,表名隧道关闭。