`
huansinho
  • 浏览: 13084 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

利用SSH隧道加速电信和联通网络之间的通信速率

阅读更多

首先要吐槽一下电信和联通的网络之间通信真是让人吐血!

 

 

场景:

公司内部有一台Windows的Web服务器,由于域名备案的关系暂时只能屈居公司的小机房。但可悲的办公楼只能拉联通的光纤(其他运营商只能拉ADSL)。通过网管配置好端口映射以后就可以从外网访问。

 

服务放开出去以后就发现打开速度慢到难以接受。事前其实也是知道不同网络运营商之间的通信是不好,可没想到会如此糟糕。

图一是直接从外部访问公司内部的服务器速度很慢,但内网是很快,说明程序和服务器是没有问题的。

 

 


 

图一

 

 

后来我在电信IDC机房找到一台Linux服务器配了Nginx做代理服务器,初始情况有所改善。但是也有访问很慢的时候,比图一定时候好。

 


图二

 

后来试了弃用联通的光纤,将电信机房的代理服务器指向公司原来电信的ADSL(由于上行的512所以一直用联通的光纤做服务器出口配置),结果代理服务器连公司Web服务器的端口都Telnet不通。

 

后来突发奇想:我用联通的网络通过SSH连接到电信的Linux服务器速度还不错,是否能够在代理服务器那边连接一条SSH连接到公司的接口机,然后转发公司内网的那台Web服务器的80端口。

 

方案如下:

 


图三

 

 

 

 

具体操作:

 

1. 登录电信的代理服务器(Linux操作系统)

2. 在代理服务器使用SSH登录公司内部的接口机

 

ssh -tt -L 7003:192.168.1.100:7001 www@120.85.140.101

(说明:将内网Web服务器192.168.1.100的7001端口转发到本机的7003端口) 

3. 由于SSH做的端口转发不可以被服务器外部所访问,所以这里我们加多一层代理将7003端口转发为80端口,我用的是linux下的rinetd程序转发7003端口到80的。

/etc/rinetd.conf 配置如下

 

0.0.0.0 80 127.0.0.1 7003
 

启动rinetd以后就可以访问代理服务器的80端口,嘻嘻~~~实际访问的是公司内网的Web服务器,而且速度极快,和内网差不多。

 

 

通过上面3个步骤应该可以说SSH隧道这个方法是可行的。接下来我们要这个做成后台服务,因为SSH连接是可能会断开的,一旦断开意味着服务也随之中断。

 

好在公司有一个C语言写的主控程序:我们通过主控程序来启动SSH端口转发这条命令(记得加上-tt参数否则会自动退出SSH连接),SSH端口转发如果退出主控程序会再次执行SSH端口转发这条命令,保证服务不会因为SSH退出而中断。

 

 

 

 

 

2012-01-30下午部署这套方案到现在还是很稳定。希望它管用吧。

 

  • 大小: 31.7 KB
  • 大小: 43.6 KB
  • 大小: 63.2 KB
分享到:
评论

相关推荐

    ssh隧道

    SSH(Secure Shell)隧道是一种网络安全协议,用于在不安全的网络上加密通信,确保数据传输的安全性。通过SSH隧道,可以将本地端口的流量转发到远程服务器,或者将远程服务器的端口转发到本地,从而实现数据的隐秘...

    SSH隧道下应用协议识别的网络安全研究.pdf

    根据提供的文件内容,本文将讨论SSH隧道下应用协议识别的网络安全研究的关键知识点,内容涵盖应用层信息识别的重要性、SSH协议的分析、流量监控技术、以及加密协议对网络监控的影响等。 1. 应用层信息识别的重要性 ...

    SSH Tunnel Manager 一款ssh隧道工具

    完全免费开源,软件直接在google 上即可下载,当 Mobaxterm 的开源版本不满足需求的时候,可以使用该软件作为替代。并且该软件很小,也才只有7M左右。

    SSH隧道管理内部服务器putty,ssh secure shell

    SSH(Secure Shell)是一种加密的网络传输协议,用于计算机之间的通信,通常用来远程登录其他计算机。而SSH隧道(SSH Tunneling)则是利用SSH协议提供的加密通道进行数据传输的一种技术,它可以在不安全的网络环境中...

    利用SSH隧道转发X11协议图形界面

    ### 利用SSH隧道转发X11协议图形界面 #### 软件环境介绍 本文档将指导您如何在特定的软件环境下配置X11协议转发。以下为所需的软件环境: - **客户端:** Windows 10 家庭版 - **服务器端:** CentOS 6.5 Minimal -...

    ssh 的电信项目(ssh 的电信项目)

    例如,可以使用SSH隧道来安全地远程访问SNMP(简单网络管理协议)服务,这对于远程监控和管理电信网络设备非常有用。 在电信项目中,SSH的使用通常涉及到以下步骤: 1. 配置SSH服务:在目标设备上启用SSH服务,并...

    SSH建立隧道.txt

    SSH建立网络隧道,第一、本地端口转发,第二、远程端口转发

    使用SSH隧道实现多层主机大穿越

    这就是说 我们只能通过SSH登录到现网环境的一台服务器上 然后在以该服务器为跳板 继续SSH登录别的服务器 超繁琐的有木有 ">实际工作中 现网需要维护和管理的服务器通常不只一台 而是N多台(N>3)的有木有 很不幸 ...

    Go-一个用golang写的ssh隧道工具

    ssh tunnel tool for forward by golang,一个用golang写的ssh隧道工具

    基于Electron搭建的ssh隧道浏览器主要用于需要通过隧道进行web访问的场景

    基于 `Electron` 搭建的`ssh`隧道浏览器,主要用于需要通过隧道进行 web 访问的场景

    Go-sshtun一个用于创建SSH隧道的Go包

    sshtun 一个Go软件包,提供SSH隧道包含端口转发支持密码和密钥验证方法

    Python-sshtunnel用来与远程服务器建立SSH通讯隧道

    sshtunnel 是 Python 开发的一个服务,用来与远程服务器建立 SSH 通讯隧道

    mole - SSH隧道.zip

    mole - SSH隧道.zip

    Cobalt_Strike_C2隐匿SSH加密隧道中1

    Cobalt_Strike_C2隐匿SSH加密隧道中1

    tunnelme:反向 SSH 和 SSH 隧道

    标题 "tunnelme:反向 SSH 和 SSH 隧道" 涉及到的是一个与网络连接和安全相关的工具或技术,特别是如何利用 SSH(Secure Shell)来创建隧道进行远程访问。SSH 是一种用于安全地远程登录到服务器、执行命令和传输数据...

    Mysql SSH隧道连接使用的基本步骤

    MySQL SSH隧道连接是一种安全的方法,允许用户通过SSH协议在本地机器和远程MySQL服务器之间创建一个加密的通道。这种连接方式通常用于保护敏感数据,避免直接暴露数据库服务在公网。以下是配置MySQL SSH隧道连接的...

    利用PuTTY的SSH Tunnels实现安全的代理

    "利用PuTTY的SSH Tunnels实现安全的代理" 意味着我们将探讨如何使用PuTTY这个流行的开源SSH客户端创建安全的隧道(SSH Tunnels),以此来实现网络通信的安全代理。 **描述分析:** 描述中提到的是通过PuTTY与支持...

    SSH.NET-develop.zip_SSH.net_VI1Q_ssh

    SSH.NET 是一个开源的.NET库,专为.NET开发者设计,用于实现Secure Shell(SSH)协议。...同时,阅读和分析压缩包中的源代码、文档和示例将有助于快速掌握SSH.NET的用法,从而在自己的项目中有效地应用SSH安全通信。

    ssh隧道端口转发脚本模板

    将目标机端口通过跳板机映射到本地指定端口 中括号内替换为实际值

    SSH隧道秘籍:安全访问远程数据库的终极指南

    SSH 为远程登录会话和其他网络服务提供了一个安全的加密通道,以保护数据在不安全的网络上传输时的安全性和完整性。 ### SSH的主要特点: 1. **加密性**:SSH使用强大的加密算法来保护数据传输过程中的隐私和安全...

Global site tag (gtag.js) - Google Analytics