应用场景

通常为了安全,服务器需要通过跳板机访问,服务器对外网暴露的端口也严格限制。这种情况下若要在本地
访问服务器上的服务或系统就会比较蛋疼。
有一个简单的解决方案,就是在本地和跳板机之间建立SSH隧道。SSH隧道提供了一个网络代理服务,
通过该代理服务可以直接访问跳板机所在的局域网,即服务器上的任意端口,服务都可以直接访问。

本文介绍的方法比一般的端口映射更方便,不需要为每个端口配置一条SSH隧道,包括Windows、Mac、Linux上的操作方法。

SSH隧道建立

Mac & Linux 版

非常简单,只需一条命令即可建立SSH隧道。

ssh user@host -ND 127.0.0.1:1080

其实就是在常规的SSH命令加上-D参数,开启动态端口转发,使SSH成为了SOCKS server,在后台提供网络服务。

-N参数是让ssh不要返回命令行终端,因为我们不需要发送命令,只是做转发。

1080是绑定的本地端口,也就是SOCKS server提供服务的端口,可以换成其他端口号。

127.0.0.1表示只能有你本机访问这个服务,去掉IP只留下端口号的话,就没有这个限制了。

PS:SSH隧道相当于在服务器的防火墙上打了个洞,可能有安全隐患,所以建议加上仅限本机访问的限制。

Windows版

这里使用Windows上常用的XShell做说明。

1.配置常规的SSH连接

配置用户名,密码,主机地址(通常是跳板机)等。

2.添加隧道

3.其他

SSH隧道使用

让浏览器访问内网服务

这里介绍Chrome浏览器+SwitchyOmega插件的方法。

SwitchyOmega是一个Chrome插件,下载安装地址:
Chrome应用商店
或者 官网下载

安装好后,找到插件图标(一个圆圈),单击图标->选项,打开配置页面。
点击侧边栏的“新建情景模式(New Profile)”,添加一个代理服务器(Proxy Profile),
配置如下图。注意端口要填写前面SSH隧道服务的端口号。

如果侧边栏中已经有一个默认的’proxy‘模式,也可以直接拿来修改。

配置好后单击SwitchyOmega的图标,切换到新建的情景模式,然后所有的浏览器请求都会以SSH隧道作为
代理了,这时你应该已经可以访问服务器上的任何web服务了。

但是!我们并不需要所有的浏览器流量都走代理哇。SwitchyOmega其实可以根据URL的规则,自动选择走不走代理。
默认已经存在的一个情景模式’auto switch‘,就是一个可以根据规则来自动选择代理服务的模式。
比如在’auto switch‘模式中配置一条规则,填写10.1.*,并选择proxy模式。这就代表将10.1.
开头的所有请求都用proxy模式转发,而其他不满足规则的请求,将命中最后一条’默认‘规则,
进行’直接访问‘,即不使用任何代理服务。

与Proxifier配合使用

可以让任意程序访问服务器上的服务及端口,实现如下操作:

  • 使用客户端(如Navicat)访问服务上的数据库(如没有对公网暴露的MySQL);
  • 让本地运行的代码访问服务器内网服务,比如HDFS,Hive,Hbase,ES等等。(对于大数据开发非常实用,
    可以愉快的打断点调试Spark应用)

配置方法

1、配置代理服务器

2、配置规则

3 使用说明

配置好规则后,本地应用就可以直接访问服务器的内网IP了。

比如连接数据库:

一条通往服务器所有端口的隧道相关推荐

  1. 服务端开发——云服务器的端口转发设置(SSH隧道)

    引言 本篇博客介绍端口转发的知识,并详细阐述操作和设置步骤.这是因为在实际工作中,会有很多企业从安全的角度考虑,为线上或重要的服务器设置一个跳板机(堡垒机),避免远程开发人员直接操作,是企业应用开发中 ...

  2. 内网渗透-端口转发隧道技术

    文章目录 代理和隧道技术区别 隧道通信原理 常用的隧道技术 判断内网协议连通性 ICMP协议 TCP协议 telnet NC HTTP协议 curl Wget DNS协议 nslookup dig I ...

  3. 华为AnyOffice eSDK建立TCP端口转发隧道

    华为为移动端接入提供了一整套的解决方案,就是AnyOffice,这套系统集成了VPN接入,应用商店,客户端设备管理等功能,是一个比较完善的平台.但是它提供的客户端SDK用起来很不方便,与其他厂商的VP ...

  4. ftp服务器21端口无法连接

    ftp服务器21端口无法连接 个人测试需要嘛,就在前几天搭了个 ftp服务器,今天要传文件和一些包上去,但是突然发现上传不了,并且用21端口无法连接到服务器,这下大感不妙,要是给别人使用这服务器的话, ...

  5. 打印机服务器虚拟端口,打印机服务器虚拟端口设置

    打印机服务器虚拟端口设置 内容精选 换一换 通过指定水印模板ID删除用户自定义的水印模板. 实例常用端口如表1所示.您可以通过配置安全组规则放通实例对应的端口,详情请参见配置安全组规则.无法访问公有云 ...

  6. iis ftp服务器修改端口号,iis ftp服务器指定端口

    iis ftp服务器指定端口 内容精选 换一换 以IDE Daemon服务器的时间为准,将Host侧服务器的时间与IDE Daemon服务器的时间同步.以HwHiAiUser用户登录Host侧服务器. ...

  7. 安全知识云服务器ip端口网络 socket 编程 端口 大全

    2端口:管理实用程序 3端口:压缩进程 5端口:远程作业登录 7端口:回显 9端口:丢弃 11端口:在线用户 13端口:时间 17端口:每日引用 18端口:消息发送协议 19端口:字符发生器 20端口 ...

  8. ECS弹性云服务器常用端口、安全组

    弹性云服务器常用端口 弹性云服务器常用端口如 表1 所示.您可以通过配置安全组规则放通弹性云服务器对应的端口,详情请参见 添加安全组规则 . 表1  弹性云服务器常用端口 协议 端口 说明 FTP 2 ...

  9. 解决服务器80端口监听异常导致无法打开和访问网站的问题

    转载:原文章地址:解决服务器80端口监听异常导致无法打开和访问网站的问题 - 爱码网 如果遇到IIS服务器的网站无法访问,并在IE/EDGE浏览器中显示无法显示此页的问题,一般情况下是有多种可能因素, ...

最新文章

  1. 五年之内博士会开始内卷吗?
  2. SAP MM ME21N 创建PO时报错 - Net price in CNY becomes too large – 之原因分析
  3. 当微营销撞上微商意味着什么?
  4. 在XUnit中用Moq怎样模拟EntityFramework Core下的DbSet
  5. POJ 1745 Divisibility【DP】
  6. EJB3.0异常总结---Exception in thread “main“ javax.naming.NameNotFoundException: StatelessEjbBean not bou
  7. php 有几种打印方法,php 5种打印方式及变量类型,
  8. C# 获取Newtonsoft.Json的JObject多层节点内容
  9. 各种强大的资源搜索引擎及搜索各大网盘资源的方法
  10. 微星笔记本win键失灵了怎么解决
  11. java发送邮件的两种实现方式(包括如何伪造发件人及其原理)
  12. linux 桌面小部件,在Ubuntu中安装桌面小部件 | MOS86
  13. PostMan中文设置
  14. 各大互联网大厂JAVA实习招聘岗位要求
  15. 水浒传108将都是怎么死的
  16. iOS 添加在scrollview的子控件,用masonry布局的问题
  17. 47个经典java程序编程题
  18. USRP调研及学习(GNU Radio)
  19. 十次方学习——nodejs(1)
  20. 一体化伺服电机如何清除历史报警?

热门文章

  1. 钱诚10.26黄金原油行情策略分析及白银TD日内短线操作建议
  2. Gitee+PicGo上传图片失败404 - {“status“:“404“,“error“:“Not Found“}
  3. 配置Nginx前端Apache后端服务器LNMPA-与LNMP,HHVM性能比拼
  4. Java 将图片组合成PDF文件
  5. CRM软件需要考虑的问题
  6. 微信小程序开发之使用Canas制作圆角图片
  7. vue-video-player文档_【视频组件】vue-video-player的使用
  8. ZBRUSH 2019有什么新功能
  9. 【非数值数据的编码】西文字符和汉字的编码表示 汉字国标码、机内码详细理解
  10. 黑马程序员 动态代理