【docker】开源内网穿透神器!中微子代理搭建/使用教程
1.前言
中微子代理是一个基于Netty的开源内网穿透神器。目前支持以下功能:
流量监控
首页图表、报表管理多维度流量监控。全方位掌握实时、历史代理数据。域名映射
HTTP代理绑定子域名,开发调试三方回调更方便。用户/License
支持多用户、多客户端使用。后台禁用实时生效。端口池
对外端口统一管理,支持用户、License独占端口。端口映射
新增、编辑、删除、禁用实时生效。Docker
服务端支持Docker一键部署。隧道SSL加密
隧道通信支持SSL,保护您的数据安全HTTPS
支持HTTPS多客户端支持
暂未支持
项目官网:https://dromara.gitee.io/neutrino-proxy/
项目Gitee:https://gitee.com/dromara/neutrino-proxy
夜梦博客:tech.yemengstar.com/?p=5932
界面展示:


2.准备
由于夜梦只是需要内网穿透,没有别的使用需求,所以夜梦选择的服务器是莱栈:https://stack.laecloud.com/aff/6,他家提供的大多是NAT服务器,但是带宽足够大,通常国内共享30M起步,妥妥够用。
当然,你也可以选择雨云的NAT服务器:https://www.rainyun.com/YeMeng_
在开始之前,你需要先安装好docker:
具体内容你可以参考:https://tech.yemengstar.com/?p=536
3.部署
官方给出的方法有docker一键部署和使用jar文件部署,你可以使用sqlite或者是MySQL作为你的数据库。夜梦这里仅演示docker-sqlite的部署。
当前最新版本为1.8.5,下面的脚本中,可以使用:
registry.cn-hangzhou.aliyuncs.com/asgc/neutrino-proxy:1.8.5
指定版本安装,推荐使用latest
直接安装最新版。
4.映射配置
4.1访问
服务端部署成功后,如果你使用的服务器具有独立IP地址,那么你可以直接访问
http://{服务端IP}:8888
打开后台管理页面。如果你和夜梦一样使用的是NAT服务器,那么你访问的地址应为http://yourAdress:port
使用默认的管理员帐号登录:admin/123456
由于我们使用的是莱栈NAT服务器,所以需要我们去莱栈官网进行端口映射。

4.2管理后台配置
访问以后,应该能够看到如下的界面
请保持用户名admin,不要修改!否则后续的操作中会报权限错误!

接下来我们配置代理
打开
代理配置>License管理
页面,可以看到系统已经自动为管理员初始化了一条License记录,复制该LicenseKey
备用,后续客户端配置需要。请注意,请不要泄露License记录!拥有License记录即可使用你的代理!如果泄露,请第一时间进行重置!

接下来我们创建映射
打开
代理配置>端口映射
页面,可以看到系统已经自动为初始化了几条端口映射。可根据需要自行添加、修改。

对夜梦而言,内网穿透用的最多的就是开MC服务器,所以夜梦这里演示
TCP
协议的9110 -> 127.0.0.1:25565
。由于没有现成的映射,这里夜梦新建一个。

创建完成

如果你只需要这一个映射,那么请把其他映射删除。或者是你新建一个license后,对这个license建立映射。否则到时候用默认的license启动客户端,所有映射均会启动在线。
由于我们使用的是NAT服务器,所以仍然需要我们将9110端口映射到公网端口上面。

5.启动客户端
首先确保本地已安装java8运行环境,下载地址:Java Downloads | Oracle 中国
打开发行版页面 (opens new window),下载最新的release包:
neutrino-proxy-client.jar

在本地
neutrino-proxy-client.jar
同级别目录下新建app.yml
文件,并配置如下内容:
以下是最新的服务端配置格式(app.yml),填写上面客户端配置的时候可以参考。
如果使用的是NAT服务器,需要将9000(noSLL)/9002(SSL)端口映射到公网,使用映射到公网的端口。具体操作办法和之前一样。
最终客户端配置应该和下面差不多
以实际举例,如果你开我的世界服务器,使用中微子代理进行内网穿透,并且中微子所在的NAT服务器:
IP地址为233:233:233:233
9000(非SSL)端口映射为23333端口
license-key为:yemeng666
你未进行其他操作
那么最终的配置应该为:
执行命令
java -jar neutrino-proxy-client.jar config=app.yml
启动客户端查看服务端License管理,刷新页面,对应的License在线状态为
在线
,则表明客户端已正常连接。
6.代理验证
本地启动被代理服务,如:redis、本地web项目、本地mysql等等
先确保本地能正常访问被代理服务,如果本地都不能访问,不用想代理更不可能!
通过访问
服务端IP+9110上面License配置的端口映射中的服务端端口
/服务端ip+映射端口
访问本地被代理服务
本地启动成功后,会有如下提示:
服务端会提示已经在线:


7.实际操作
可能夜梦在上面的教程中描述的比较混乱(好吧其实夜梦想一次性讲清楚NAT机和非NAT机的操作办法,看样子不行)。所以在这一部分中,夜梦将演示如何使用NAT主机部署中微子代理并进行内网穿透,从而开设我的世界服务器(本地25565端口)。由于难度不大,所以夜梦仅文字叙述关键操作,日后如果有时间的话夜梦会补上具体操作。
在NAT服务器上面安装docker
在NAT服务器上面部署中微子代理
将中微子代理WEB面板
8888
端口映射到公网,例如公网10000
端口记录license
删除多余的映射,仅建立
服务端端口->25565
,并将服务端端口映射至公网,例如公网10001
端口将NAT服务器
9000
端口映射到公网,例如公网10002
端口最后在本地填入配置信息
配置信息: