大家好,我是民工哥!
今天,给大家推荐一款开源、安全、高效的内网穿透神器!

简介
中微子代理(neutrino-proxy)是一个基于Netty框架的、开源的Java内网穿透项目。该项目由dromara开源组织开发,并遵循MIT许可协议,这意味着用户可以自由复制、修改、传播并用于任何个人或商业行为。

代理示意图

特点
- 高性能:基于Netty框架构建,Netty是一个高性能的异步事件驱动的网络应用程序框架,能够处理成千上万的并发连接。
- 开源:遵循MIT许可协议,开放源代码,用户可自由使用、修改和分发。
- 灵活部署:支持多种部署方式,包括使用jar包自行部署、Docker一键部署等,方便用户根据实际需求选择。
- 安全性:支持SSL加密,确保数据传输过程中的安全性。
- 易用性:提供友好的Web界面进行配置和管理,降低使用门槛。
应用场景
中微子代理广泛应用于需要内网穿透的场景,如:
- 本地开发调试:在开发过程中,需要远程调试内部服务时,可以使用中微子代理将本地服务映射到外网,方便远程访问。
- 远程登录:通过中微子代理,可以从外网远程登录到内网中的服务器或设备。
- 异地接口连调:在开发过程中,不同地点的开发团队需要互相调用接口时,可以使用中微子代理实现跨地域的接口调用。
- 本地服务外网展示:将本地服务(如Web应用、数据库等)映射到外网,用于演示或测试。
安装与配置
中微子代理的安装与配置相对简单(以docker容器化部署为例),以下是基本步骤。
部署服务端
代码语言:javascript复制docker run -it -p 9000-9200:9000-9200/tcp -p 8888:8888
-d --restart=always --name neutrino-proxy
-v /root/neutrino-proxy-server/config:/root/neutrino-proxy/config
-v /root/neutrino-proxy-server/data:/root/neutrino-proxy/data
-v /root/neutrino-proxy-server/logs:/root/neutrino-proxy/logs
aoshiguchen/neutrino-proxy-server:latest
注:默认使用的是 h2数据,如果需要换成自己部署的其它数据库,需要配置,这里以配置Mysql数据库为例:
在服务器上创建目录/root/neutrino-proxy/config,在该目录下创建app.yml文本文件,并配置如下内容:
neutrino:
data:
db:
type: mysql
# 自己的数据库实例,创建一个空的名为'neutrino-proxy'的数据库即可,首次启动服务端会自动初始化
url: jdbc:mysql://xxxx:3306/neutrino-proxy?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&useAffectedRows=true&useSSL=false
driver-class: com.mysql.jdbc.Driver
# 数据库帐号
username: xxx
# 数据库密码
password: xxx
然后再执行上面的docker一键部署命令即可。
服务端部署成功后,访问 http://{服务端IP}:8888打开后台管理页面。使用默认的管理员帐号登录:admin/123456。

打开代理配置>License管理页面,可以看到系统已经自动为管理员初始化了一条License记录,复制该LicenseKey备用,后续客户端配置需要。
部署客户端
代码语言:javascript复制docker run -it -d --restart=always --name npclient -e SERVER_IP=xxxx -e LICENSE_KEY=xxxx
aoshiguchen/neutrino-proxy-client:latest
客户端启动后,查看服务端License管理,刷新页面,对应的License在线状态为在线,则表明客户端已正常连接。

使用界面
后台界面
这里有License、端口映射统计,流量使用、监控情况汇总。

代理配置
License 管理、端口映射、限速配置。


安全组
一个端口映射可绑定一个安全组,通过安全组的默认放行类型 安全组下的安全规则 控制该端口映射的安全访问规则。


系统管理
用户管理、端口池管理与分组、调度管理等。


报表管理
用户流量报表,License流量报表管理与分析。

日志管理
系统的各类日志入口,如:调度日志、登录日志、客户端连接日志等。

注意事项
- 在使用代理时,需要确保服务端和客户端之间的网络连接畅通无阻。
- 如果使用SSL加密,需要确保SSL证书的有效性,并正确配置证书路径和密码。
- 在生产环境中使用时,建议对访问权限进行严格控制,确保只有授权用户才能访问内网服务。
总结
中微子代理(neutrino-proxy)是一款功能强大的内网穿透工具,能够帮助用户轻松实现内网与外网的通信。它基于Netty框架构建,性能优异,且支持多种部署方式和灵活的配置选项。无论是本地开发调试、远程登录还是异地接口连调等场景,中微子代理都能提供有效的解决方案。


