http://blog.csdn.net/oufuji/article/details/50358756

一条ssh命令实现端口转发,实现跨机器直接访问

#功能场景:192.168.100.12和192.168.100.11在内网可以连接,但是只有12这台机器有另外一个网口配置了外网可访问的地址,外网不能直接访问11这台机器。

#那么,平时的做法是外网连接12机器,然后通过12这个跳板访问11;ssh连接的方式。
#问题来了:我客户端要直接访问11的数据库或者网页,肿么办?

#SSH隧道端口端口转发帮助你,只要一条命令搞定。

#具体需求,192.168.100.11:7180是CM的管理页面,外部无法访问,通过12这台机器的外网网口转发。

#本机192.168.100.12监听来自对本机全部网口6180端口发起连接的请求,然后把数据全部转发到192.168.100.11的7180端口去

ssh -C -f -N -g -L 6180:192.168.100.11:7180 hadoop@192.168.100.11
#6180:192.168.100.11:7180 意义--本机监听端口:远端主机:远端端口
#hadoop@192.168.100.11 建立隧道需要对端SSH用户名和密码

########### 网页连接前
12:
netstat -an |grep 6180
#####
[root@snn ~]# ssh -C -f -N -g -L 6180:192.168.100.11:7180 hadoop@192.168.100.11
hadoop@192.168.100.11's password:
[root@snn ~]# netstat -an |grep 6180
tcp        0      0 0.0.0.0:6180                0.0.0.0:*                   LISTEN
tcp        0      0 :::6180                     :::*                        LISTEN
[root@snn ~]#
#以上会发现,12这台机器起了6180端口,侦听外面发起的连接请求
#那么在其他机器发起对6180连接后,可以看到会话建立了。
###########
11:
netstat -an |grep 7180
#####
[root@master ~]# netstat -an |grep 7180
tcp        0      0 0.0.0.0:7180                0.0.0.0:*                   LISTEN
[root@master ~]#

插图:

#(实验环境没有跨网段,实际情况,第三方机器访问的不是192.168.100.11那个IP,而是其他网口IP,侦听端口对即可)

#实际上,浏览器中地址栏显示是12的6180端口,但是内容实质是11那边开启的7180服务。

插图:

########### 网页连接后
12:
netstat -an |grep 6180
#####
[root@snn opt]# netstat -an |grep 6180
tcp        0      0 0.0.0.0:6180                0.0.0.0:*                   LISTEN
tcp        0      5 192.168.100.12:6180         192.168.100.1:49330         ESTABLISHED
tcp        0      0 192.168.100.12:6180         192.168.100.1:49332         ESTABLISHED
tcp        0      0 192.168.100.12:6180         192.168.100.1:49331         ESTABLISHED
tcp        0      0 192.168.100.12:6180         192.168.100.1:49345         ESTABLISHED
tcp        0      0 192.168.100.12:6180         192.168.100.1:49334         ESTABLISHED
tcp        0      0 :::6180                     :::*                        LISTEN
[root@snn opt]#

wireshark抓包:12上抓eth0的包
tcpdump -i eth0 host 192.168.100.11 -w /opt/6180.cap

################## 用完,直接停掉进程即可。

[root@snn opt]# netstat -an |grep 6180
tcp        0      0 0.0.0.0:6180                0.0.0.0:*                   LISTEN
tcp        0      0 :::6180                     :::*                        LISTEN
[root@snn opt]# netstat -tlnp |grep 6180
tcp        0      0 0.0.0.0:6180                0.0.0.0:*                   LISTEN     4642/ssh
tcp        0      0 :::6180                     :::*                        LISTEN      4642/ssh
[root@snn opt]# ps -f 4642
UID        PID  PPID  C STIME TTY      STAT   TIME CMD
root      4642     1  0 16:05 ?        Ss     0:00 ssh -C -f -N -g -L 6180:192.168.100.11:7180 Hadoop@192.168.100.11
[root@snn opt]# kill -9 4642
[root@snn opt]# netstat -tlnp |grep 6180
[root@snn opt]# netstat -tlnp |grep 6180
[root@snn opt]#

################################

问题:有些机器SSH设置不允许端口转发,需要设置
vi /etc/ssh/sshd_config
gatewayports yes

参考:
http://blog.csdn.net/ghosttzs/article/details/7572159
如果ssh端口转发时候-g没有效果解决方案

http://www.ibm.com/developerworks/cn/linux/l-cn-sshforward/
实战 SSH 端口转发

其他的远端转发,用于私网和公网建立隧道,反向访问私网的一个手段,暂时没有用得上。至于*翻*墙*的socket转发,呵呵。

一条ssh命令实现端口转发,实现跨机器直接访问相关推荐

  1. vue反向代理解决跨域及部署nginx端口转发解决跨域

    1. 前言 本文是为了解决vue反向代理解决跨域及部署服务器nginx端口转发解决跨域,因为踩了不少的坑,百度了很多,也试了太多的方法,最终得以解决,所以记录一下,希望遇到同样问题的友友们可以高效的解 ...

  2. SSH隧道技术----端口转发,socket代理

    原文的原始出处不详,本文也是在复制引用了某篇转载,并做了必要的整理与编辑. 本文的受众 如果你遇到了以下问题,那么你应该阅读这篇文章 我听说过这种技术,我对它很感兴趣 我想在家里访问我在公司的机器(写 ...

  3. SSH Tunnel扫盲(ssh port forwarding端口转发)

    2019独角兽企业重金招聘Python工程师标准>>> SSH的的Port Forward,中文可以称为端口转发,是SSH的一项非常重要的功能.它可以建立一条安全的SSH通道,并把任 ...

  4. Linux Shell命令实现端口转发(端口映射)

    Linux下使用Shell 命令 实现ssh端口转发 实际例子来两个: ssh -CfNg -L 9987:10.154.62.197:3306 root@localhost -p 9999 ssh ...

  5. 细说SSH隧道——本地端口转发

    目录 前言 本地端口转发 举例1:服务器与SSH远程主机是分开的 命令 网络拓扑 环境配置 开始连接(-L连接) 登录用户 流量分析 办公网(VM1网卡): 外网(NAT-VM8网卡) 家庭电脑抓包( ...

  6. ssh远程端口转发到本地_Linux SSH隧道或端口转发本地和远程端口的示例?

    ssh远程端口转发到本地 Ssh protocol secures remote connections which are shell or terminal-based to the remote ...

  7. Windows中使用netsh命令进行端口转发

    在Linux中,使用iptables可以非常轻松地配置端口重定向.在Windows Server系统上,路由和远程访问服务(RRAS)通过使用虚拟专用网络 ( VP N) 或拨号连接支持远程用户或站点 ...

  8. kubernetes入门到精通(二):k8s部署Tomcat集群,基于NTFS协议的文件集群共享,Service提供负载均衡,端口转发工具Rinetd配置外部访问

    首先,配置 Docker 镜像加速服务 登录阿里云账号,进入控制台 -> 容器镜像服务 (不需要有阿里云的服务器,只要注册账号即可) 在两台 node 节点上配置好阿里云的镜像加速. 重启一下 ...

  9. 保姆级-光猫改桥接-路由拨号-openwrt端口转发-阿里云DNS域名解析访问家中设备

    准备: 1.公网ip(江苏省电信,电话1分钟解决) 2.域名(最好备案了) 3.路由器(我的是红米AC2100刷openwrt,重点路由器要有动态dns服务的功能,端口转发功能什么路由器都有) 往期教 ...

  10. [oralce] 利用CRT的端口转发功能直接用plsql访问数据库

    From: http://blog.sina.com.cn/s/blog_498a6eeb0100w197.html 如图所示: 在实际中经常碰到上面的情况, 要访问生产上的数据库必须通过跳转机, 而 ...

最新文章

  1. 牛逼!硬核图解 Tomcat 整体架构
  2. 2019年度最全IT吃瓜指南
  3. 全世界都认为汉语是婴儿语(转载)
  4. 达索系统“体验时代中的制造业”大型活动探索工业数字化转型
  5. Shadow Brokers扬言兜售新漏洞攻击工具
  6. 分叉并加入Java 7 – JSR 166并发实用程序
  7. CCF NOI1018 打电话
  8. c:翻转一个长句中的每个单词
  9. uva11992-Fast Matrix Operations(区间增值、改值)
  10. 售前更需要关注客户业务
  11. 计算机组成原理讲义 微盘,计算机组成原理课件.pdf
  12. Line输入和mic输入的区别
  13. 解密DB2独步江湖之五大法宝
  14. solidworks一份草图多次拉伸与多次凸台
  15. T00ls内部旁注扫描器.rar
  16. 读取 STM32F10x 内部基准电压。
  17. 真实机下 ubuntu 18.04 安装anaconda+cuDNN+pytorch以及其版本选择(亲测非常实用)
  18. android load BKS error: wrong version of key store
  19. gpedit.msc打开策略组为空
  20. 本周最新文献速递20211212

热门文章

  1. Boring Old Menu Bar for Mac(Big Sur菜单栏优化工具)
  2. 如何在苹果 M1 上安装使用 FL Studio
  3. [HNOI2016]网络
  4. GitHub 被指审查内容,著名“换脸”开源项目 deepfake 遭限制访问
  5. OpenCV——PS 图层混合算法(一)
  6. 作为一个职业达人,你需要水滴石出的专注
  7. 不为人知的Nothing和Is
  8. Win9x 与 WinME 磁盘共享密码破解实战
  9. C++经典书籍推荐 .
  10. 在 Mac 上的 Keynote 讲演中如何自动替换文本?