[SSH服务]——SSH端口转发
实验拓扑图
实验描述
假设有三台主机A、B、C。B和A、C可以连通,AC两台主机不能连通。
这时候可以用本地端口转发,来实现A和C通过B来连通。
实验中,为了构造上述环境,我们使用三台虚拟机,其网络环境设置如拓扑图所示:
(1) 主机A :eth1(172.16.10.1/24)
(2) 主机B: eth0(172.16.10.3/24) eth1(172.16.20.1/24)
(3) 主机C: eth0(172.16.20.1/24)
实验与验证
1. 确保B和A、C的连通,A、C不能连通(符合实验环境)


2. 在A、B的ssh配置文件/etc/ssh/sshd_config中开启允许转发的选项,并重启ssh服务
# vim /etc/ssh/sshd_config
GatewayPorts yes
AllowTcpForwarding yes
# service sshd restart
3. 在主机C安装httpd并启动http服务,为了更好的验证我们在主机C的站点主目录下写一个“小文件”
# yum install httpd -y
# vim /var/www/html/index.html
hello,I'm 172.16.20.2
# service httpd start
4. 在主机A上执行命令:
# ssh -l root -L 172.16.10.1::172.16.20.2: 172.16.10.3
参数-L后面总共有四个用冒号分割的值,分别是 '本地地址:本地端口:目标主机:目标主机端口'。
这条命令的意思是:
指定SSH绑定本地主机A(172.16.10.1)的59000端口,转发到目标主机C(172.16.20.2)的80端口。并指定由主机B(192.16.10.3)来转发。
执行结果:

5. (注意不要退出上一步骤的命令)在A新打开一个终端(Ctrl+Alt+F2)来验证就好,执行命令:
# curl http://172.16.10.1:59000
执行结果:

这说明:
我们连接了本地主机A的59000端口,就等于连上了主机C 172.16.20.2的80端口。
补充
1. 本实验参考了文章:http://my.oschina.net/guol/blog/115235
2. 实验过程中要注意防火墙的设置,最好 # iptables -F 清除一下防火墙规则
[SSH服务]——SSH端口转发的更多相关文章
- SSH隧道:端口转发功能详解
SSH系列文章: SSH基础:SSH和SSH服务 SSH转发代理:ssh-agent用法详解 SSH隧道:端口转发功能详解 1.1 ssh安全隧道(一):本地端口转发 如下图,假如host3和host ...
- 流量操控之SSH隧道与端口转发
目 录 第1章 概述... 3 1.1. 实现命令... 3 1.2. SSH隧道类型... 3 第2章 SSH隧道... ...
- 基于SSH协议的端口转发
[前言] 最近一直在使用ssh协议的端口转发(隧道)功能,完成对内网空透等.这篇文章将主要讲解3种常用的ssh tunnelling使用方法和基本原理. 在介绍具体内容前,我先奉上端口转发的常用情景: ...
- CentOS7设置ssh服务以及端口修改
很多时候我们都是通过SSH 服务 来对 Linux 进行操作,而不是直接来操作Linux机器,包括对Linux服务器的操作,因此,设置SSH服务对于学习Linux来说属于必备技能(尤其是运维人员),关 ...
- ssh隧道实现端口转发
ssh隧道实现端口转发 本地转发 # 本地转发 ssh -g -f -N -L : root@ # -L 本地端口转发,转发172.16.1.1主机可以访问的资源,这里为转发172.16.1.2的80 ...
- 使用 SSH 隧道实现端口转发、SOCKS 代理
SSH隧道 本地端口转发 本地客户端通过 local_port 连接到 MobaXterm: MobaXterm 绕过防火墙,使用 user 用户连接到 ssh_server_ip:ssh_serve ...
- SSH 内网端口转发实战
导读 大家都知道SSH是一种安全的传输协议,用在连接服务器上比较多.不过其实除了这个功能,它的隧道转发功能更是吸引人. 如果两个内网之间的linux服务器需要互相登录,或需要互相访问内网某个端口,担忧 ...
- SSH隧道技术----端口转发,socket代理
原文的原始出处不详,本文也是在复制引用了某篇转载,并做了必要的整理与编辑. 本文的受众 如果你遇到了以下问题,那么你应该阅读这篇文章 我听说过这种技术,我对它很感兴趣 我想在家里访问我在公司的机器(写 ...
- SSH Tunnel扫盲(ssh port forwarding端口转发)
SSH的的Port Forward,中文可以称为端口转发,是SSH的一项非常重要的功能.它可以建立一条安全的SSH通道,并把任意的TCP连接放到这条通道中.下面仔细就仔细讨论SSH的这种非常有用的功能 ...
随机推荐
- Android事件
1.Java package com.fish.helloworld; import android.app.Activity; import android.graphics.Color; impo ...
- 二、搭建struts2的开发环境
二.搭建struts2的开发环境 下载地址:http://struts.apache.org 解压后的目录结构: apps:框架本身提供一些案例(学习) docs:框架本身提供的文档(指南和API). ...
- C语言开源项目
值得学习的C语言开源项目 - 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的 ...
- IIS服务器环境配置(一)
在开始-> 控制面板 ->打开或关闭功能 IIS 服务器程序 勾选 HTML勾选 完成添加后 重启 确认是否添加上在控制面板的 管理工具中查看
- MariaDB之基于Percona Xtrabackup备份大数据库[完整备份与增量备份]
MariaDB之基于Percona Xtrabackup备份大数据库[完整备份与增量备份] 1.Xtrabackup的安装 percona-xtrabackup-2.2.3-4982.el6.x86_ ...
- DPDK内存管理-----(一)初始化
1 前言 DPDK通过使用hugetlbfs,减少CPU TLB表的Miss次数,提高性能. 2 初始化 DPDK的内存初始化工作,主要是将hugetlbfs的配置的大内存页,根据其映射的物理地址是否 ...
- linux服务器之LVS、Nginx和HAProxy负载均衡器对比
linux服务器之LVS.Nginx和HAProxy负载均衡器对比. LVS特点: 1.抗负载能力强,使用IP负载均衡技术,只做分发,所以LVS本身并没有多少流量产生: 2.稳定性.可靠性好,自身 ...
- C语言-sizeof()与strlen()的区别【转】
先看看sizeof() 一.sizeof的概念 sizeof是C语言的一种单目操作符,如C语言的其他操作符++.--等.它并不是函数.sizeof操作符以字节形式给出了其操作数的存储大小.操作数可以是 ...
- Android———从GitHub上下载源码的方法【Written By KillerLegend】
首先声明,本文说的是从GitHub上下载源码而非上传源码! 1:下载tortoisegit,下载地址为: https://code.google.com/p/tortoisegit/wiki/Down ...
- Delphi开发的IP地址修改工具
用Delphi进行开发的,直接修改注册表,需重启电脑后才生效