一款安全、高效、开源的内网穿透工具!适用于本地开发调试、远程登录等场景

2024-09-13 19:29:37 浏览数 (20)

大家好,我是民工哥!

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

简介

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

代理示意图

特点

  1. 高性能:基于Netty框架构建,Netty是一个高性能的异步事件驱动的网络应用程序框架,能够处理成千上万的并发连接。
  2. 开源:遵循MIT许可协议,开放源代码,用户可自由使用、修改和分发。
  3. 灵活部署:支持多种部署方式,包括使用jar包自行部署、Docker一键部署等,方便用户根据实际需求选择。
  4. 安全性:支持SSL加密,确保数据传输过程中的安全性。
  5. 易用性:提供友好的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文本文件,并配置如下内容:

代码语言:javascript复制
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框架构建,性能优异,且支持多种部署方式和灵活的配置选项。无论是本地开发调试、远程登录还是异地接口连调等场景,中微子代理都能提供有效的解决方案。

0 人点赞