nps是一款輕量級、高性能、功能強大的內網穿透代理服務器。目前支持tcp、udp流量轉發,可支持任何tcp、udp上層協議,支持內網http代理、內網socks5代理、p2p等,并帶有功能強大的web管理端。
使用內網穿透技術可以使你在公共網絡環境也能輕松連接你的內網設備,除了之前介紹過的frp之外,此款NPS也是比較推薦的,通過Web管理的方式快速地創建和管理穿透設備。
1.環境準備
為了統一管理我的項目,依然使用Docker來部署項目,感興趣的小伙伴也可以采用二進制部署的方式,網上的類似的文章很多,故不再重復介紹。
在自己的linux(Ubuntu/centos 7+)服務器上執行以下命令安裝docker, 安裝完成后執行第二條命令,啟動并設置開機啟動docker。
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyunsystemctl enable --now docker
2.安裝NPS
首先拉取最新的鏡像:
docker pull ffdfgdfg/nps
創建一個目錄用于存放配置文件:
mkdir -p /opt/docker/nps
將準備好的配置文件放進去,待后續引用:
cd /opt/docker/nps && wget https://qny.aoarasi.com/software/conf.zip# 如果提示找不到wget命令: -bash: wget: command not found,請使用下面命令安裝,再重復上面的命令。# CentOS系: yum -y install wget# Ubuntu系: sudo apt-get -y install wget
解壓配置文件:
yum -y install unzip # 如果是Ubuntu請使用以下命令# sudo apt-get -y install unzipunzip conf.zip
運行項目:
docker run -d --name nps --restart=always -.NET=host -v /opt/docker/nps/conf:/conf ffdfgdfg/nps
通過查看日志可以發現,該系統目前一共占用了3個端口:
docker logs nps
分別為80、443和8080,其中8080中管理端口。
3.訪問管理后臺
在瀏覽器中輸入的你的ip:8080,其ip為電腦的ip地址,如果是云服務器請使用公網ip代替。默認登錄用戶名和密碼為:admin/123
登錄后的界面如下,這里可以看到我們客戶端需要連接此服務器的8024端口:
4.服務端簡單配置
新增加一個客戶端。
完了后點擊隧道,新增一個tcp代理隧道。
按照下面的提示簡單配置一下,我這里把192.168.31.92的3001端口代理到服務器的53001端口上,點擊新增。
5.配置客戶端
無配置文件:docker run -d --name npc --net=host ffdfgdfg/npc -server=ip:port -vkey=
<以及一些其他參數>
這里的web界面中顯示的密鑰這是根據自己的配置來的,按照提示修改。
我這里僅在同一臺機器上測試驗證,實際情況適配修改。
docker run -d --name npc --net=host --restart=always ffdfgdfg/npc -server=192.168.31.92:8024 -vkey=test
6.測試訪問
刷新后臺,可以看到在線客戶端已經變為1,說明客戶端已經與服務器連接成功。
訪問穿透后的地址試試,訪問服務器ip:53001,發現頁面可以正常打開了。
最后
我這里僅演示了最基礎的tcp代理,還有很多好玩的功能大家可以慢慢研究、嘗試。 docker項目地址:
服務端:https://hub.docker.com/r/ffdfgdfg/nps
客戶端:https://hub.docker.com/r/ffdfgdfg/npc