結(jié)論:請(qǐng)觀看本文前50行,即可搞定。后邊的請(qǐng)忽略。
前言為了科研,祖國(guó)的技術(shù)人員突破國(guó)內(nèi)外一道道阻攔,求取真經(jīng)。
對(duì)知識(shí)和真理的熱愛(ài),任什么艱難險(xiǎn)阻也無(wú)法阻擋前進(jìn)的腳步!
科技強(qiáng)國(guó)。
內(nèi)網(wǎng)穿透本文假設(shè)題主在國(guó)內(nèi)出差,公司內(nèi)部局域網(wǎng)有一臺(tái)電腦W,可以訪問(wèn)外網(wǎng)。題主有一臺(tái)云服務(wù)器S,有公網(wǎng)IP(2.2.2.2)。下面闡述一下,如何借由S訪問(wèn)W的資源。
網(wǎng)絡(luò)示意圖:
我們看到,難點(diǎn)是沒(méi)有公網(wǎng)的局域網(wǎng)電腦W,在網(wǎng)絡(luò)上沒(méi)有辦法被定位到。所以,需要用到服務(wù)器-客戶端的通訊方式,讓有公網(wǎng)IP的服務(wù)器S,將訪問(wèn)內(nèi)容轉(zhuǎn)發(fā)到特定的客戶端。而這個(gè)客戶端只需要能能夠與服務(wù)器通訊上就可以了。
軟件來(lái)了既然需要一個(gè)server-client的通訊,就需要這么一款軟件。示意圖如下。
是的,你們猜到了,要推薦軟件了。
gost-GOSimpleTunnelGO語(yǔ)言實(shí)現(xiàn)的安全隧道
https://github.com/ginuerzh/gost功能特性有這么長(zhǎng)一列:
多端口監(jiān)聽(tīng)可設(shè)置轉(zhuǎn)發(fā)代理,支持多級(jí)轉(zhuǎn)發(fā)(代理鏈)支持標(biāo)準(zhǔn)HTTP/HTTPS/HTTP2/SOCKS4(A)/SOCKS5代理協(xié)議Web代理支持探測(cè)防御SOCKS5代理支持TLS協(xié)商加密支持多種隧道類型TunnelUDPoverTCP本地/遠(yuǎn)程TCP/UDP端口轉(zhuǎn)發(fā)TCP/UDP透明代理支持Shadowsocks(TCP/UDP)協(xié)議支持SNI代理權(quán)限控制負(fù)載均衡路由控制DNS解析和代理TUN/TAP設(shè)備怎么選擇,內(nèi)網(wǎng)穿透使用哪個(gè)方式?文檔都給清楚了。我們只需一個(gè)端口轉(zhuǎn)發(fā)功能,GOST提供的遠(yuǎn)程端口轉(zhuǎn)發(fā)功能由好幾種。
用法端口轉(zhuǎn)發(fā)服務(wù)節(jié)點(diǎn)的配置與普通的代理節(jié)點(diǎn)有所不同:
scheme-端口轉(zhuǎn)發(fā)模式,本地端口轉(zhuǎn)發(fā):,;遠(yuǎn)程端口轉(zhuǎn)發(fā):,;轉(zhuǎn)發(fā)隧道:,等傳輸類型。
[bind_address]:port-本地/遠(yuǎn)程綁定地址。
[host]:hostport[,[host]:hostport]-(可選,2.6+)目標(biāo)訪問(wèn)地址,支持以逗號(hào)分割的多地址形式。
參數(shù)說(shuō)明
-(可選,2.8+)也可以通過(guò)此參數(shù)來(lái)指定目標(biāo)地址。
-指定節(jié)點(diǎn)選擇策略,-輪詢,-隨機(jī),-自上而下。默認(rèn)值為。
-(2.8.1+)指定節(jié)點(diǎn)連接的最大失敗次數(shù),當(dāng)與一個(gè)節(jié)點(diǎn)建立連接失敗次數(shù)超過(guò)此設(shè)定值時(shí),此節(jié)點(diǎn)會(huì)被標(biāo)記為死亡節(jié)點(diǎn)(Dead),死亡節(jié)點(diǎn)不會(huì)被選擇使用。默認(rèn)值為1。
-(2.8.1+)指定死亡節(jié)點(diǎn)的超時(shí)時(shí)間,當(dāng)一個(gè)節(jié)點(diǎn)被標(biāo)記為死亡節(jié)點(diǎn)后,在此設(shè)定的時(shí)間間隔內(nèi)不會(huì)被選擇使用,超過(guò)此設(shè)定時(shí)間間隔后,會(huì)再次參與節(jié)點(diǎn)選擇。默認(rèn)為30秒。
SSH端口轉(zhuǎn)發(fā)模式當(dāng)代理鏈末端(最后一個(gè)-F參數(shù))為類型時(shí),GOST會(huì)直接使用SSH的遠(yuǎn)程端口轉(zhuǎn)發(fā)功能:
服務(wù)端可以是標(biāo)準(zhǔn)的SSH程序,也可以是GOST的SSH轉(zhuǎn)發(fā)模式:
scheme必須是。
TCP遠(yuǎn)程端口轉(zhuǎn)發(fā)將目標(biāo)TCP端口B映射到本地TCP端口A,所有到端口B上的數(shù)據(jù)會(huì)被轉(zhuǎn)發(fā)到端口A。此功能類似于SSH的遠(yuǎn)程端口轉(zhuǎn)發(fā)功能。
將172.24.10.1:2222上的數(shù)據(jù)(通過(guò)代理鏈)轉(zhuǎn)發(fā)到192.168.1.1:22上。
結(jié)語(yǔ)如果我沒(méi)猜錯(cuò),你要的就是這個(gè)。
我都用了好些年了,穩(wěn)定高效,全程開(kāi)源,代碼修改很!方!便!
Happycoding:-)
【本文由@程序員小助手發(fā)布,持續(xù)分享編程故事,歡迎關(guān)注】搜浪信息科技發(fā)展(上海)有限公司 備案號(hào):滬ICP備17005676號(hào)