SSH隧道应用突破网络限制

2017/08/03 Linux 共 1288 字,约 4 分钟

使用场景

公司的Hadoop、Spark平台都搭建在内网集群,需要通过先登录连接外网的跳板机,然后从跳板机访问内网服务器集群。但是问题来了,在本地无法通过浏览器访问hadoop、yarn的Web UI监控页面!

解决方案

用一台有公网地址的跳板机做代理,在浏览器里安装代理插件,并制定规则,凡是访问bi.bj2.xxx.com的http请求都走跳板机。

以mac为例

  1. 用ssh -D登陆跳板机124.250.xx.xx

     localhost:~ gongenbo$ ssh -D 7065 124.250.xx.xx
     gongenbo@124.250.xx.xx's password:
     Last login: Thu Aug  3 13:49:08 2017 from 	111.207.160.68
     [gongenbo@login1.ops.bj2.xxx.com ~]$
    
    
  2. 为浏览器安装proxy插件,以chrome安装配置SwitchyOmega为例:
    • a) 安装插件: 用chrome打开chrome://extensions/, 点击最下方’获取更多扩展程序’, 在 搜索店内应用 里输入’switchyOmega’, 找到’Proxy SwitchyOmega’, 点击’添加至CHROME’
    • b) 设置代理: 点击 选项, 情景模式, 新建情景模式, 填写’情景模式名称’, 比如’hadoop’, SOCKS 代理:127.0.0.1, 端口: 7065, 选择’SOCKS v5’, 点击’保存’
    • c) 设置规则: 点击 切换规则, 新建规则, 填写’规则名称’, 比如’bi.bj2.xxx.com’, ‘URL模式’里填写’bi.bj2.xxx.com’, ‘模式匹配’选择’通配符’, ‘情景模式’选择刚才输入的情景模式名称, 比如’hadoop’, 点击’保存’
    • b) 设置切换规则: 点击浏览器 菜单栏 右上角的 小地球图标, 选择’自动切换规则’ Alt text Alt text
  3. 打开设置好的浏览器就可以访问web界面了:
    • YARN: http://presto1.bi.bj2.xxx.com:8088
    • HDFS: http://presto1.bi.bj2.xxx.com:50070
    • HBase: http://presto1.bi.bj2.xxx.com:16010 Alt text

原理

在SwitchyOmega中配置hadoop的代理服务器为127.0.0.1,端口7065,添加了过滤规则后,当访问*bi.bj2.xxx.com域名时,就会自动转发到本地的7065端口。

在mac本地使用ssh -D 7065 124.250.xx.xx登陆跳板机,实际上就是在本地与跳板机之间打通了一条隧道,所有发往7065端口的请求都发给了跳板机,这时候跳板机可以访问内网的Hadoop WebUI,所以外网也就可以访问了,惊不惊喜,意不意外!

参考

SSH隧道应用, 突破网络限制 http://www.cnblogs.com/yiwenshengmei/p/ssh_tunnel.html

阮一峰老师的SSH原理与运用(二):远程操作与端口转发 http://www.ruanyifeng.com/blog/2011/12/ssh_port_forwarding.html

支付宝打赏 微信打赏

您的打赏是对我最大的鼓励!

Search

    Post Directory