【docker】開源內(nèi)網(wǎng)穿透神器!中微子代理搭建/使用教程
1.前言
中微子代理是一個基于Netty的開源內(nèi)網(wǎng)穿透神器。目前支持以下功能:
流量監(jiān)控
首頁圖表、報(bào)表管理多維度流量監(jiān)控。全方位掌握實(shí)時(shí)、歷史代理數(shù)據(jù)。域名映射
HTTP代理綁定子域名,開發(fā)調(diào)試三方回調(diào)更方便。用戶/License
支持多用戶、多客戶端使用。后臺禁用實(shí)時(shí)生效。端口池
對外端口統(tǒng)一管理,支持用戶、License獨(dú)占端口。端口映射
新增、編輯、刪除、禁用實(shí)時(shí)生效。Docker
服務(wù)端支持Docker一鍵部署。隧道SSL加密
隧道通信支持SSL,保護(hù)您的數(shù)據(jù)安全HTTPS
支持HTTPS多客戶端支持
暫未支持
項(xiàng)目官網(wǎng):https://dromara.gitee.io/neutrino-proxy/
項(xiàng)目Gitee:https://gitee.com/dromara/neutrino-proxy
夜夢博客:tech.yemengstar.com/?p=5932
界面展示:


2.準(zhǔn)備
由于夜夢只是需要內(nèi)網(wǎng)穿透,沒有別的使用需求,所以夜夢選擇的服務(wù)器是萊棧:https://stack.laecloud.com/aff/6,他家提供的大多是NAT服務(wù)器,但是帶寬足夠大,通常國內(nèi)共享30M起步,妥妥夠用。
當(dāng)然,你也可以選擇雨云的NAT服務(wù)器:https://www.rainyun.com/YeMeng_
在開始之前,你需要先安裝好docker:
具體內(nèi)容你可以參考:https://tech.yemengstar.com/?p=536
3.部署
官方給出的方法有docker一鍵部署和使用jar文件部署,你可以使用sqlite或者是MySQL作為你的數(shù)據(jù)庫。夜夢這里僅演示docker-sqlite的部署。
當(dāng)前最新版本為1.8.5,下面的腳本中,可以使用:
registry.cn-hangzhou.aliyuncs.com/asgc/neutrino-proxy:1.8.5
?指定版本安裝,推薦使用latest
直接安裝最新版。
4.映射配置
4.1訪問
服務(wù)端部署成功后,如果你使用的服務(wù)器具有獨(dú)立IP地址,那么你可以直接訪問
http://{服務(wù)端IP}:8888
打開后臺管理頁面。如果你和夜夢一樣使用的是NAT服務(wù)器,那么你訪問的地址應(yīng)為http://yourAdress:port
使用默認(rèn)的管理員帳號登錄:admin/123456
由于我們使用的是萊棧NAT服務(wù)器,所以需要我們?nèi)トR棧官網(wǎng)進(jìn)行端口映射。

4.2管理后臺配置
訪問以后,應(yīng)該能夠看到如下的界面
請保持用戶名admin,不要修改!否則后續(xù)的操作中會報(bào)權(quán)限錯誤!

接下來我們配置代理
打開
代理配置>License管理
頁面,可以看到系統(tǒng)已經(jīng)自動為管理員初始化了一條License記錄,復(fù)制該LicenseKey
備用,后續(xù)客戶端配置需要。請注意,請不要泄露License記錄!擁有License記錄即可使用你的代理!如果泄露,請第一時(shí)間進(jìn)行重置!

接下來我們創(chuàng)建映射
打開
代理配置>端口映射
頁面,可以看到系統(tǒng)已經(jīng)自動為初始化了幾條端口映射??筛鶕?jù)需要自行添加、修改。

對夜夢而言,內(nèi)網(wǎng)穿透用的最多的就是開MC服務(wù)器,所以夜夢這里演示
TCP
協(xié)議的9110 -> 127.0.0.1:25565
。由于沒有現(xiàn)成的映射,這里夜夢新建一個。

創(chuàng)建完成

如果你只需要這一個映射,那么請把其他映射刪除?;蛘呤悄阈陆ㄒ粋€license后,對這個license建立映射。否則到時(shí)候用默認(rèn)的license啟動客戶端,所有映射均會啟動在線。
由于我們使用的是NAT服務(wù)器,所以仍然需要我們將9110端口映射到公網(wǎng)端口上面。

5.啟動客戶端
首先確保本地已安裝java8運(yùn)行環(huán)境,下載地址:Java Downloads | Oracle 中國
打開發(fā)行版頁面?(opens new window),下載最新的release包:
neutrino-proxy-client.jar

在本地
neutrino-proxy-client.jar
同級別目錄下新建app.yml
文件,并配置如下內(nèi)容:
以下是最新的服務(wù)端配置格式(app.yml),填寫上面客戶端配置的時(shí)候可以參考。
如果使用的是NAT服務(wù)器,需要將9000(noSLL)/9002(SSL)端口映射到公網(wǎng),使用映射到公網(wǎng)的端口。具體操作辦法和之前一樣。
最終客戶端配置應(yīng)該和下面差不多
以實(shí)際舉例,如果你開我的世界服務(wù)器,使用中微子代理進(jìn)行內(nèi)網(wǎng)穿透,并且中微子所在的NAT服務(wù)器:
IP地址為233:233:233:233
9000(非SSL)端口映射為23333端口
license-key為:yemeng666
你未進(jìn)行其他操作
那么最終的配置應(yīng)該為:
執(zhí)行命令
java -jar neutrino-proxy-client.jar config=app.yml
啟動客戶端查看服務(wù)端License管理,刷新頁面,對應(yīng)的License在線狀態(tài)為
在線
,則表明客戶端已正常連接。
6.代理驗(yàn)證
本地啟動被代理服務(wù),如:redis、本地web項(xiàng)目、本地mysql等等
先確保本地能正常訪問被代理服務(wù),如果本地都不能訪問,不用想代理更不可能!
通過訪問
服務(wù)端IP+9110上面License配置的端口映射中的服務(wù)端端口
/服務(wù)端ip+映射端口
訪問本地被代理服務(wù)
本地啟動成功后,會有如下提示:
服務(wù)端會提示已經(jīng)在線:


7.實(shí)際操作
可能夜夢在上面的教程中描述的比較混亂(好吧其實(shí)夜夢想一次性講清楚NAT機(jī)和非NAT機(jī)的操作辦法,看樣子不行)。所以在這一部分中,夜夢將演示如何使用NAT主機(jī)部署中微子代理并進(jìn)行內(nèi)網(wǎng)穿透,從而開設(shè)我的世界服務(wù)器(本地25565端口)。由于難度不大,所以夜夢僅文字?jǐn)⑹鲫P(guān)鍵操作,日后如果有時(shí)間的話夜夢會補(bǔ)上具體操作。
在NAT服務(wù)器上面安裝docker
在NAT服務(wù)器上面部署中微子代理
將中微子代理WEB面板
8888
端口映射到公網(wǎng),例如公網(wǎng)10000
端口記錄license
刪除多余的映射,僅建立
服務(wù)端端口->25565
,并將服務(wù)端端口映射至公網(wǎng),例如公網(wǎng)10001
端口將NAT服務(wù)器
9000
端口映射到公網(wǎng),例如公網(wǎng)10002
端口最后在本地填入配置信息
配置信息: