SSH端口映射
      通常我们的内网的服务端口都会被出口防火墙封掉。一般情况下只给我们开放了SSH的22端口(默认情况下),此时网管又不给我们在防火墙上做端口转发,我们应该怎么呢?
      首先大家肯定想到利用,linux自身所带的防火墙做NAT转发。但我想告诉大家利用SSH协议可以做到。
首先让我们先来了解下他的命令语法及格式。
      ssh -C -f -N -g -L/-R 端口:IP:端口  用户名:IP
    -C:压缩数据传输。
-f :后台认证用户/密码,通常和-N连用,不用登录到远程主机。
-N :不执行脚本或命令,通常与-f连用。
-g :在-L/-R/-D参数中,允许远程主机连接到建立的转发的端口,如果不加这个参数,只允许本地主机建立连接。
-L 本地端口:目标IP:目标端口
将本地机(客户机)的某个端口转发到远端指定机器的指定端口. 工作原理是这样的, 本地机器上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转发出去, 同时远程主机和 host 的 hostport 端口建立连接. 可以在配置文件中指定端口的转发. 只有 root 才能转发特权端口.
-R本地端口:目标IP:目标端口
将远程主机(服务器)的某个端口转发到本地端指定机器的指定端口. 工作原理是这样的, 远程主机上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转向出去, 同时本地主机和 host 的 hostport 端口建立连接. 可以在配置文件中指定端口的转发. 只有用 root 登录远程主机才能转发特权端口.
应用事例:
主机A:10.15.62.82
主机B:10.15.62.209
实验环境:
首先我们在主机B通过YUM源安装HTTP服务
Yum install httpd –y
安装完成后启动主机B的http服务:
Service httpd start
    通过netstat –tnlp | grep 80 查看80端口是否开放
    此时我们关闭防火墙和selinux以免影响我们的实验。
    通过浏览器查看10.15.62.209的网页。
    然后我们在/var/www/html/创建一个index.html文件
    写入:
       10.15.62.209:80
    刷新浏览器页面看是否达到效果。
然后我们主机A上操作:
    ssh -C -f -N -g -L 80:10.15.62.209:80 root@10.15.62.209
然后我们在浏览器上输入http://10.15.62.82:80
      查看是否和前面看到的一样。如果一样说明你已经成功。