😄 19年之后由于某些原因斷更了三年,23年重新揚帆起航,推出更多優質博文,希望大家多多支持~
🌷 古之立大事者,不惟有超世之才,亦必有堅忍不拔之志
🎐 個人CSND主頁——Micro麥可樂的博客
🐥《Docker實操教程》專欄以最新的Centos版本為基礎進行Docker實操教程,入門到實戰
🌺《RabbitMQ》本專欄主要介紹使用JAVA開發RabbitMQ的系列教程,從基礎知識到項目實戰
🌸《設計模式》專欄以實際的生活場景為案例進行講解,讓大家對設計模式有一個更清晰的理解
💕《Jenkins實戰》專欄主要介紹Jenkins+Docker+Git+Maven的實戰教程,讓你快速掌握項目CI/CD,是2024年最新的實戰教程
如果文章能夠給大家帶來一定的幫助!歡迎關注、評論互動~
開源內網穿透神器:中微子代理(neutrino-proxy)實現內網穿刺
- 前言
- 什么是中微子代理(Neutrino-Proxy)
- 安裝中微子代理(Neutrino-Proxy)服務端
- 安裝中微子代理(Neutrino-Proxy)客戶端
- 開始配置代理
- 總結
前言
在我們日常工作中很多時候需要讓外網能訪問到我們的本地項目,比如:開發過程中支付回調
、開發過程讓客戶可以公司內網測試服務器
、Webhooks Post
等等
在博主 2024最新 Jenkins + Docker 實戰教程(五)- 配置Gitee Webhooks實現自動構建部署 這篇文章中就有使用了內網穿刺來實現Jenkins自動構建部署。
內網穿刺是一種技術,用于在內網設備和外網設備之間建立直接通信。無論是開發者需要遠程調試內部服務,還是用戶希望訪問內網資源,內網穿刺都能提供一種便捷而高效的解決方案。
什么是中微子代理(Neutrino-Proxy)
中微子代理(neutrino-proxy)是一個基于netty的、開源的java內網穿透項目。
開源地址:https://gitee.com/dromara/neutrino-proxy
它采用了Solon
、MybatisPlus
、Netty
等技術棧,并遵循MIT許可協議,用戶可以自由復制、修改、傳播并用于任何個人或商業行為。
以下是 Neutrino-Proxy
代理示意圖
安裝中微子代理(Neutrino-Proxy)服務端
在開始之前,需確保你有一臺具有公網 IP 的服務器
如果沒有公網 IP 的服務器,博主推薦大家到騰訊云試用專區,免費試用1個月服務器來學習本次教程
騰訊云
相關注冊認證,大家自行操作即可,這里就不贅述了
Neutrino-Proxy
提供了jar
、docker
、原生部署
的部署方式,任何一種部署方式,不要求客戶端與服務端一致。如:服務端采用docker
部署,客戶端可以用docker
部署、也可以用jar
、原生部署
博主的騰訊云主機屬于Centos系統,我們采用Docker來進行安裝
官方默認使用的是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=falsedriver-class: com.mysql.jdbc.Driver# 數據庫帳號username: xxx# 數據庫密碼password: xxx
開始安裝
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
、對客戶端開放的端口(9000
、9002
)、端口映射用到的端口
如博主騰訊云的配置,見下圖
最后再次訪問http://云服務器公網IP:8888
安裝部署成功!
安裝中微子代理(Neutrino-Proxy)客戶端
首先通過登陸服務端WEB(默認賬號密碼是admin/123456
),「代理配置
」->「License管理
」系統默認自動幫我們生成了License
,復制License Key
在我們內網機器上安裝客戶端,服務端ip、license-key自行補充
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
)是一款功能強大的內網穿刺工具,能夠幫助用戶輕松實現內網與外網的通信。通過本文的介紹,你應該已經了解了中微子代理的工作原理、安裝和配置方法。希望大家能夠順利地使用中微子代理,實現內網穿刺,提升開發和調試效率。