首先要吐槽一下电信和联通的网络之间通信真是让人吐血!
场景:
公司内部有一台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隧道转发X11协议图形界面 #### 软件环境介绍 本文档将指导您如何在特定的软件环境下配置X11协议转发。以下为所需的软件环境: - **客户端:** Windows 10 家庭版 - **服务器端:** CentOS 6.5 Minimal -...
SSH(Secure Shell)隧道是一种网络安全协议,用于在不安全的网络上加密通信,确保数据传输的安全性。通过SSH隧道,可以将本地端口的流量转发到远程服务器,或者将远程服务器的端口转发到本地,从而实现数据的隐秘...
根据提供的文件内容,本文将讨论SSH隧道下应用协议识别的网络安全研究的关键知识点,内容涵盖应用层信息识别的重要性、SSH协议的分析、流量监控技术、以及加密协议对网络监控的影响等。 1. 应用层信息识别的重要性 ...
完全免费开源,软件直接在google 上即可下载,当 Mobaxterm 的开源版本不满足需求的时候,可以使用该软件作为替代。并且该软件很小,也才只有7M左右。
SSH(Secure Shell)是一种加密的网络传输协议,用于计算机之间的通信,通常用来远程登录其他计算机。而SSH隧道(SSH Tunneling)则是利用SSH协议提供的加密通道进行数据传输的一种技术,它可以在不安全的网络环境中...
例如,可以使用SSH隧道来安全地远程访问SNMP(简单网络管理协议)服务,这对于远程监控和管理电信网络设备非常有用。 在电信项目中,SSH的使用通常涉及到以下步骤: 1. 配置SSH服务:在目标设备上启用SSH服务,并...
基于 `Electron` 搭建的`ssh`隧道浏览器,主要用于需要通过隧道进行 web 访问的场景
SSH建立网络隧道,第一、本地端口转发,第二、远程端口转发
这就是说 我们只能通过SSH登录到现网环境的一台服务器上 然后在以该服务器为跳板 继续SSH登录别的服务器 超繁琐的有木有 ">实际工作中 现网需要维护和管理的服务器通常不只一台 而是N多台(N>3)的有木有 很不幸 ...
ssh tunnel tool for forward by golang,一个用golang写的ssh隧道工具
MobaXterm 的 SSH 隧道功能允许您建立本地和远程之间的安全通信 在 MobaXterm 设置中的 “SSH” 选项
sshtun 一个Go软件包,提供SSH隧道包含端口转发支持密码和密钥验证方法
sshtunnel 是 Python 开发的一个服务,用来与远程服务器建立 SSH 通讯隧道
mole - SSH隧道.zip
Cobalt_Strike_C2隐匿SSH加密隧道中1
标题 "tunnelme:反向 SSH 和 SSH 隧道" 涉及到的是一个与网络连接和安全相关的工具或技术,特别是如何利用 SSH(Secure Shell)来创建隧道进行远程访问。SSH 是一种用于安全地远程登录到服务器、执行命令和传输数据...
MySQL SSH隧道连接是一种安全的方法,允许用户通过SSH协议在本地机器和远程MySQL服务器之间创建一个加密的通道。这种连接方式通常用于保护敏感数据,避免直接暴露数据库服务在公网。以下是配置MySQL SSH隧道连接的...
Laravel SSH隧道通过SSH隧道访问远程主机上的服务! 例如,多年来人们一直在问如何在PHP中通过SSH连接到MySQL服务器。我们遇到了类似的挑战,特别是通过SSH隧道访问MySQL数据库,所有的问题和解答都有助于找到解决...
"利用PuTTY的SSH Tunnels实现安全的代理" 意味着我们将探讨如何使用PuTTY这个流行的开源SSH客户端创建安全的隧道(SSH Tunnels),以此来实现网络通信的安全代理。 **描述分析:** 描述中提到的是通过PuTTY与支持...
SSH.NET 是一个开源的.NET库,专为.NET开发者设计,用于实现Secure Shell(SSH)协议。...同时,阅读和分析压缩包中的源代码、文档和示例将有助于快速掌握SSH.NET的用法,从而在自己的项目中有效地应用SSH安全通信。