Docker搭建轻量高性能的内网穿透代理服务
系统介绍
内网穿透NPS(Network Penetration Server)是一款由TalentYoung开发的轻量级、高性能的内网穿透代理服务器。NPS 支持TCP、UDP、HTTP等多种协议,并提供了强大的功能和灵活的配置选项,能够帮助用户轻松实现公网对内网服务的访问。
基本特点
- 轻量级与高性能:NPS 采用 Go 语言编写,性能优异且轻量。
- 多协议支持:支持 TCP、UDP、HTTP 协议,甚至提供 socks5 代理,适合不同内网穿透场景。
- 跨平台使用:支持 Windows、Linux、MacOS、Android 等多个平台。
- 易于部署:支持源码、安装包、Docker 等多种部署方式。
- 功能强大的 Web 管理端:NPS 提供直观易用的 Web 界面进行客户端与隧道管理。
使用场景
- 访问内网网站:外网用户通过 NPS 访问内网中的网站。
- 本地支付接口调试:开发者调试内网支付接口。
- SSH 访问:安全地通过 SSH 访问内网服务器。
- 远程桌面:外网用户远程访问内网计算机桌面。
- 内网 DNS 解析:支持内网 DNS 解析,方便内网用户访问外部资源。
项目优势
- 简单易用:提供简洁的配置文件和命令行工具,配置简单。
- 安全可靠:支持 SSL/TLS 加密传输,保障数据安全。
- 开源免费:遵循 MIT 许可证,开源免费。
官方文档: NPS官方文档
GitHub地址: NPS GitHub
Docker镜像: NPS Docker镜像
下载客户端: NPS 客户端下载
安装教程
服务端部署(Docker方式)
安装Docker
首先更新系统并安装 Docker 及 Docker Compose:
sudo apt update sudo apt install -y docker.io docker-compose
安装 NPS 服务端
使用 Docker 拉取并运行 NPS 服务端镜像:
sudo docker run -d --name nps --net=host -v /root/docker/nps/config:/nps/conf oldiy/nps-server
停止运行容器
修改配置前,需要先停止容器:
sudo docker stop nps
修改配置文件
打开配置文件
nps.conf
进行修改:sudo vim /root/docker/nps/config/nps.conf
配置示例:
bridge_port=8024 # 客户端连接端口 web_username=admin # 后台管理用户名 web_password=123 # 后台管理密码 web_port=8080 # 后台管理端口
启动容器
配置修改完毕后,重启 NPS 容器:
sudo docker start nps
访问管理页面
服务启动后,浏览器访问
http://服务器IP:8080
,使用配置文件中的admin/123
进行登录。
客户端部署
下载客户端
根据操作系统下载对应的 NPS 客户端:NPS 客户端下载
编写启动脚本
编写启动脚本
start.bat
,内容如下:npc.exe -server=xxx.xxx.xxx.xxx:8024 -vkey=0vkyonemij0f4r64
vkey
为客户端秘钥,可以通过 NPS 管理后台获取。启动客户端
双击
start.bat
启动客户端连接。
总结
通过 Docker 部署 NPS 内网穿透服务,可以轻松实现内网服务的公网访问,并支持多种协议的灵活配置。NPS 的轻量级、高性能、多平台支持使其成为内网穿透服务的理想选择,同时提供了强大的安全性和简单易用的管理界面。