开源内网穿透神器:中微子代理(neutrino-proxy)实现内网穿刺

😄 19年之后由于某些原因断更了三年,23年重新扬帆起航,推出更多优质博文,希望大家多多支持~

🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志

🎐 个人CSND主页------Micro麦可乐的博客

🐥《Docker实操教程》专栏以最新的Centos版本为基础进行Docker实操教程,入门到实战

🌺《RabbitMQ》本专栏主要介绍使用JAVA开发RabbitMQ的系列教程,从基础知识到项目实战

🌸《设计模式》专栏以实际的生活场景为案例进行讲解,让大家对设计模式有一个更清晰的理解

💕《Jenkins实战》专栏主要介绍Jenkins+Docker+Git+Maven的实战教程,让你快速掌握项目CI/CD,是2024年最新的实战教程

如果文章能够给大家带来一定的帮助!欢迎关注、评论互动~

开源内网穿透神器:中微子代理(neutrino-proxy)实现内网穿刺

前言

在我们日常工作中很多时候需要让外网能访问到我们的本地项目,比如:开发过程中支付回调开发过程让客户可以公司内网测试服务器Webhooks Post 等等

在博主 2024最新 Jenkins + Docker 实战教程(五)- 配置Gitee Webhooks实现自动构建部署 这篇文章中就有使用了内网穿刺来实现Jenkins自动构建部署。

内网穿刺是一种技术,用于在内网设备和外网设备之间建立直接通信。无论是开发者需要远程调试内部服务,还是用户希望访问内网资源,内网穿刺都能提供一种便捷而高效的解决方案。

什么是中微子代理(Neutrino-Proxy)

中微子代理(neutrino-proxy)是一个基于netty的、开源的java内网穿透项目。
开源地址:https://gitee.com/dromara/neutrino-proxy

它采用了SolonMybatisPlusNetty等技术栈,并遵循MIT许可协议,用户可以自由复制、修改、传播并用于任何个人或商业行为。

以下是 Neutrino-Proxy 代理示意图

安装中微子代理(Neutrino-Proxy)服务端

在开始之前,需确保你有一台具有公网 IP 的服务器

如果没有公网 IP 的服务器,博主推荐大家到腾讯云试用专区,免费试用1个月服务器来学习本次教程

腾讯云相关注册认证,大家自行操作即可,这里就不赘述了


Neutrino-Proxy 提供了jardocker原生部署的部署方式,任何一种部署方式,不要求客户端与服务端一致。如:服务端采用docker部署,客户端可以用docker部署、也可以用jar原生部署

博主的腾讯云主机属于Centos系统,我们采用Docker来进行安装

官方默认使用的是H2数据库,我们先调整使用mysql数据库

在服务器上创建目录:/root/neutrino-proxy/config

在该目录下创建app.yml文本文件,并配置如下内容:

bash 复制代码
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

开始安装

bash 复制代码
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

使用docker ps指令查看容器是否启动了

最后我们测试一下是否可以访问 , http://云服务器公网IP:8888 这个时候大家一定发现居然访问不了,不要着急因为需要开放云服务器安全组端口

云服务器开放 : WEB端口8888、对客户端开放的端口(90009002)、端口映射用到的端口

如博主腾讯云的配置,见下图

最后再次访问http://云服务器公网IP:8888

安装部署成功!

安装中微子代理(Neutrino-Proxy)客户端

首先通过登陆服务端WEB(默认账号密码是admin/123456),「代理配置」->「License管理」系统默认自动帮我们生成了License,复制License Key

在我们内网机器上安装客户端,服务端ip、license-key自行补充

bash 复制代码
docker run -it -d --restart=always \
--name npclient \
-e SERVER_IP=服务器公网IP \
-e LICENSE_KEY=刚获取到的License Key \
aoshiguchen/neutrino-proxy-client:latest

通过docker ps 指令确认容器启动后,回到管理端页面 显示在线状态:在线,即代表我们从服务端到客户端均已经安装完成!

开始配置代理

管理端页面「代理配置」->「端口映射」 添加端口映射,我们来配置一下代理我们本地的Jenkins访问

以上配置访问http://云服务器公网IP:9104 即可访问到我们内网192.168.1.20:8080的应用

当然的功能还有很多,比如安全组、流量监控等功能,大家可以自行去体验即可

总结

中微子代理(neutrino-proxy)是一款功能强大的内网穿刺工具,能够帮助用户轻松实现内网与外网的通信。通过本文的介绍,你应该已经了解了中微子代理的工作原理、安装和配置方法。希望大家能够顺利地使用中微子代理,实现内网穿刺,提升开发和调试效率。


相关推荐
IT 行者14 小时前
从 Gitee 开源项目发布到 Maven Central 中央仓库完整指南
gitee·开源·maven·中央仓库
大厂技术总监下海20 小时前
在快速变化的AI世界,LangChain 如何为开发者的技术选择提供“确定性”?
开源·llm
努力犯错20 小时前
Qwen-Image-2512 vs. Z-Image Turbo:5 组提示词基准测试 - 哪个模型更好?
人工智能·开源
wenzhangli71 天前
ooder-right 权限插件 0.5 版本开源发布
开源
猫头虎1 天前
TextIn大模型加速器+火山引擎: 文档结构化数据处理工具扣子智能体工作流创建指南
人工智能·开源·aigc·ai编程·火山引擎·合合信息·textin
说私域1 天前
基于开源AI智能名片链动2+1模式商城系统的创始人个人品牌资产构建研究
人工智能·小程序·开源
是毛毛吧1 天前
AI开发工具----碾压 Bolt.new?Lovable:全栈开发的下一个“卷王”级神器深度评测
人工智能·开源·github
最贪吃的虎1 天前
深入理解Git Commit的工作原理:从对象引用到空间优化
java·前端·git·后端·spring·开源
南知意-1 天前
Docker一键搭建JmalCloud 个人网盘--自带博客!
运维·docker·容器·开源·私有云·云盘
CoderJia程序员甲1 天前
GitHub 热榜项目 - 日榜(2026-1-3)
git·ai·开源·llm·github