SSH端口转发
来源:互联网 发布:淘宝助理天猫版界面 编辑:程序博客网 时间:2024/06/06 09:56
目录:
1. 正向转发
2. 动态转发(SOCKS代理)
3. 反向转发
相关信息:
- 两个网段(不能互通):172.16.1.0/24,192.168.68.0/24;
- 172.16.1.0/24网段有一台ip为172.16.1.1的Linux服务器,安装了WEB服务,并将SSH的22端口在网关上做了端口映射,可以让192.168.68.0/24网段访问;
- 192.168.68.0/24网段有一台ip为192.168.68.203的Linux服务器,需要访问172.16.1.1的WEB服务;
- Linux服务器都已经关闭防火墙;
1. 正向转发
1.1. 安装相关软件包
[root@srv68_203 ~]# yum install -y openssh-clients[root@srv68_203 ~]# rpm -qa openssh-clientsopenssh-clients-5.3p1-94.el6.x86_64
1.2. 创建正向转发
将172.16.1.1服务器上的80端口映射到本地127.0.0.1的8080端口(访问127.0.0.1的8080等于访问172.16.1.1的80)
[root@srv68_203 ~]# ssh -N -L 127.0.0.1:8080:localhost:80 root@172.16.1.1root@172.16.1.1's password:(输入密码后会卡住不动,因为命令加了-N参数)
1.3. 新开一个192.168.68.203的终端窗口,并使用curl命令测试访问127.0.0.1的8080
[root@srv68_203 ~]# netstat -antplu|grep 8080tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN 2306/ssh [root@srv68_203 ~]# curl http://127.0.0.1:8080hello worldweb server:172.16.1.1
测试访问成功!
如果想转发172.16.1.0/24网段里的其他服务器指定端口,就把localhost:80改为如:172.16.1.2:21
[root@srv68_203 ~]# ssh -N -L 127.0.0.1:8080:172.16.1.2:21 root@172.16.1.1
如果想让其他人也能够访问转发后的端口,就把127.0.0.1改为如:0.0.0.0:8080
[root@srv68_203 ~]# ssh -N -L 0.0.0.0:8080:172.16.1.2:21 root@172.16.1.1
2. 动态转发(SOCKS代理)
2.1. 创建动态转发(-g参数表示允许其他主机也能使用动态转发,默认只允许本机)
[root@srv68_203 ~]# ssh -g -N -D 8080 root@172.16.1.1root@172.16.1.1's password:(输入密码后会卡住不动,因为命令加了-N参数)
2.2. 新开一个192.168.68.203的终端窗口,并使用curl命令测试访问172.16.1.1:80和172.16.1.2:80
[root@srv68_203 ~]# netstat -antplu|grep 8080tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN 2537/ssh
2.3. 测试访问动态转发
在192.168.68.0/24网段里找一台Windows服务器,并在浏览器里设置代理服务器:
Internet 选项—局域网(LAN)设置—代理设置—套接字
如果想设置全局socks代理访问tcp/udp类的资源,可以用以下软件:
Windows:Proxifier,ProxyCap
Linux:proxychains,redsocks,tsocks
资料:http://blog.creke.net/770.html
3. 反向转发
某一天管理员把172.16.1.0/24网段的网关端口映射功能关闭了,导致172.16.1.1的SSH转发不能用了。
但是又想让192.168.68.0/24网段继续访问172.16.1.1的WEB服务,怎么操作呢?
首先需要将192.168.68.203的22端口添加映射,使172.16.1.1能通过SSH做反向转发:
在172.16.1.0/24网段里登录172.16.1.1
3.1. 创建反向转发
将172.16.1.1服务器上的80端口映射到192.168.68.203的127.0.0.1:8080端口(访问192.168.68.203的8080等于访问172.16.1.1的80)
[root@srv1_1 ~]# ssh -N -R 127.0.0.1:8080:localhost:80 root@192.168.68.203root@192.168.68.203's password:(输入密码后会卡住不动,因为命令加了-N参数)
3.2. 在192.168.68.0/24网段里登录192.168.68.203,并使用curl命令测试访问127.0.0.1的8080
[root@srv68_203 ~]# netstat -antplu|grep 8080tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN 2372/ssh [root@srv68_203 ~]# curl http://127.0.0.1:8080hello worldweb server:172.16.1.1
测试访问成功!
如果想转发172.16.1.0/24网段里的其他服务器指定端口,就把localhost:80改为如:172.16.1.2:21
[root@srv1_1 ~]# ssh -N -R 127.0.0.1:8080:172.16.1.2:21 root@192.168.68.203
如果想让其他人也能够访问转发后的端口,就把127.0.0.1改为如:0.0.0.0:8080
[root@srv1_1 ~]# ssh -N -R 0.0.0.0:8080:172.16.1.2:21 root@192.168.68.203
这里需要注意,还需要开启192.168.68.203 SSH服务器里的GatewayPorts功能,否则其他人是没法直接访问的(即使绑定的是0.0.0.0:8080)
[root@srv68_203 ~]# sed -i.bak 's/^#GatewayPorts.*$/GatewayPorts yes/g' /etc/ssh/sshd_config[root@srv68_203 ~]# /etc/init.d/sshd restartStopping sshd: [ OK ]Starting sshd: [ OK ]重新在172.16.1.1上运行反向连接命令
[root@srv1_1 ~]# ssh -N -R 127.0.0.1:8080:localhost:80 root@192.168.68.203
资料:http://www.ibm.com/developerworks/cn/linux/l-cn-sshforward/index.html
- ssh端口转发
- SSH 端口转发
- SSH 端口转发
- FW: SSH端口转发
- 实战ssh端口转发
- SSH端口转发
- ssh 端口转发
- 实战 SSH 端口转发
- 实战SSH端口转发
- SSH 端口转发
- 实战 SSH 端口转发
- SSH端口转发
- SSH端口转发
- ssh plink 端口转发
- 实战 SSH 端口转发
- 实战 SSH 端口转发
- 实战 SSH 端口转发
- 实战 SSH 端口转发
- windows内核情景分析
- ubuntu下安装eclipse for C++,OPENCV
- eclipse 自动生成hbm文件
- 开发与研发:区别很大
- C++ set的insert,结构体的操作符重载需要面面俱到
- SSH端口转发
- PHP5中实现多态的两种方法实例分享投
- 在线地图数据准确性对比
- PDU模式分析
- 根据IP地址获取物理地址
- Spring注解型事务配置
- Ubuntu apt-get更新源替换及加速方法 apt-fast
- WLD特征
- 2014编程之美初赛第二场1003 集合