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


相关推荐
冬奇Lab2 小时前
一天一个开源项目(第17篇):ViMax - 多智能体视频生成框架,导演、编剧、制片人全包
开源·音视频开发
一个处女座的程序猿3 小时前
AI之Agent之VibeCoding:《Vibe Coding Kills Open Source》翻译与解读
人工智能·开源·vibecoding·氛围编程
一只大侠的侠4 小时前
React Native开源鸿蒙跨平台训练营 Day16自定义 useForm 高性能验证
flutter·开源·harmonyos
IvorySQL5 小时前
PostgreSQL 分区表的 ALTER TABLE 语句执行机制解析
数据库·postgresql·开源
一只大侠的侠6 小时前
Flutter开源鸿蒙跨平台训练营 Day11从零开发商品详情页面
flutter·开源·harmonyos
一只大侠的侠6 小时前
React Native开源鸿蒙跨平台训练营 Day18自定义useForm表单管理实战实现
flutter·开源·harmonyos
一只大侠的侠6 小时前
React Native开源鸿蒙跨平台训练营 Day20自定义 useValidator 实现高性能表单验证
flutter·开源·harmonyos
晚霞的不甘7 小时前
Flutter for OpenHarmony 可视化教学:A* 寻路算法的交互式演示
人工智能·算法·flutter·架构·开源·音视频
晚霞的不甘8 小时前
Flutter for OpenHarmony 实现计算几何:Graham Scan 凸包算法的可视化演示
人工智能·算法·flutter·架构·开源·音视频
猫头虎8 小时前
OpenClaw-VSCode:在 VS Code 里玩转 OpenClaw,远程管理+SSH 双剑合璧
ide·vscode·开源·ssh·github·aigc·ai编程