前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一款安全、高效、开源的内网穿透工具!适用于本地开发调试、远程登录等场景

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

作者头像
民工哥
发布2024-09-13 19:29:37
1670
发布2024-09-13 19:29:37
举报
文章被收录于专栏:民工哥技术之路

大家好,我是民工哥!

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

简介

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-09-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 民工哥技术之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
    • 代理示意图
    • 特点
    • 应用场景
    • 安装与配置
      • 部署服务端
        • 部署客户端
        • 使用界面
          • 后台界面
            • 代理配置
              • 安全组
                • 系统管理
                  • 报表管理
                    • 日志管理
                    • 注意事项
                    • 总结
                    相关产品与服务
                    容器服务
                    腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档