利用SSH隧道加速電信和聯通網路之間的通訊速率

2021-08-26 16:23:07 字數 1287 閱讀 7096

首先要吐槽一下電信和聯通的網路之間通訊真是讓人**!

場景:

公司內部有一台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 [email protected]
(說明:將內網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下午部署這套方案到現在還是很穩定。希望它管用吧。

利用雲主機做 ssh 反向隧道

背景 有三颱主機 a s b,系統均為linux。主機 a 和主機 b 在各自不同的內網,主機 s 為一台具有公網 ip 的雲主機。主機 a 與主機 b 都可以通過 ssh 連線主機 s。如下圖 需求 主機 a 需要通過主機 s 連線主機 b。方法 1 設定主機 s。gatewayports yes...

利用SSH隧道方式連線遠端MySQL伺服器

1 簡介 大多數人知道ssh是用來替代r命令集,用於加密的遠端登入,檔案傳輸,甚至加密的ftp ssh2內建 因此ssh成為使用極廣的服務之一,不僅如此,ssh還有另一項非常有用的功能,就是它的埠 隧道功能,利用此功能,讓一些不安全的服務象tcp pop3 smtp ftp,ldap等等通過ssh的...

利用ssh隧道5分鐘搞定內網穿透

日常開發中,我們經常有內網穿透需求,比如需要把內網開發機器上的 給外網使用者演示用。解決這個問題的辦法很多,有的簡單,有的複雜。路由器埠對映 ssh 這種方案是比較快捷的,且不依賴第三方服務。實驗條件 1.公網機器 centos7 192.168.0.110 由於是做實驗,沒有直接用公網機器來做 2...