综合 Docker搭建轻量高性能的内网穿透代理服务

2024-11-17 07:40:19 +0800 CST views 532

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方式)

  1. 安装Docker

    首先更新系统并安装 Docker 及 Docker Compose:

    sudo apt update
    sudo apt install -y docker.io docker-compose
    
  2. 安装 NPS 服务端

    使用 Docker 拉取并运行 NPS 服务端镜像:

    sudo docker run -d --name nps --net=host -v /root/docker/nps/config:/nps/conf oldiy/nps-server
    
  3. 停止运行容器

    修改配置前,需要先停止容器:

    sudo docker stop nps
    
  4. 修改配置文件

    打开配置文件 nps.conf 进行修改:

    sudo vim /root/docker/nps/config/nps.conf
    

    配置示例:

    bridge_port=8024    # 客户端连接端口
    web_username=admin   # 后台管理用户名
    web_password=123     # 后台管理密码
    web_port=8080        # 后台管理端口
    
  5. 启动容器

    配置修改完毕后,重启 NPS 容器:

    sudo docker start nps
    
  6. 访问管理页面

    服务启动后,浏览器访问 http://服务器IP:8080,使用配置文件中的 admin/123 进行登录。


客户端部署

  1. 下载客户端

    根据操作系统下载对应的 NPS 客户端:NPS 客户端下载

  2. 编写启动脚本

    编写启动脚本 start.bat,内容如下:

    npc.exe -server=xxx.xxx.xxx.xxx:8024 -vkey=0vkyonemij0f4r64
    

    vkey 为客户端秘钥,可以通过 NPS 管理后台获取。

  3. 启动客户端

    双击 start.bat 启动客户端连接。


总结

通过 Docker 部署 NPS 内网穿透服务,可以轻松实现内网服务的公网访问,并支持多种协议的灵活配置。NPS 的轻量级、高性能、多平台支持使其成为内网穿透服务的理想选择,同时提供了强大的安全性和简单易用的管理界面。

images

复制全文 生成海报 网络 代理 开源软件 Docker 安全

推荐文章

PHP 微信红包算法
2024-11-17 22:45:34 +0800 CST
js生成器函数
2024-11-18 15:21:08 +0800 CST
使用 sync.Pool 优化 Go 程序性能
2024-11-19 05:56:51 +0800 CST
纯CSS实现3D云动画效果
2024-11-18 18:48:05 +0800 CST
pycm:一个强大的混淆矩阵库
2024-11-18 16:17:54 +0800 CST
windon安装beego框架记录
2024-11-19 09:55:33 +0800 CST
18个实用的 JavaScript 函数
2024-11-17 18:10:35 +0800 CST
Vue3中的v-slot指令有什么改变?
2024-11-18 07:32:50 +0800 CST
JavaScript设计模式:装饰器模式
2024-11-19 06:05:51 +0800 CST
12个非常有用的JavaScript技巧
2024-11-19 05:36:14 +0800 CST
支付页面html收银台
2025-03-06 14:59:20 +0800 CST
Vue 3 路由守卫详解与实战
2024-11-17 04:39:17 +0800 CST
20个超实用的CSS动画库
2024-11-18 07:23:12 +0800 CST
Go 并发利器 WaitGroup
2024-11-19 02:51:18 +0800 CST
38个实用的JavaScript技巧
2024-11-19 07:42:44 +0800 CST
JavaScript数组 splice
2024-11-18 20:46:19 +0800 CST
程序员茄子在线接单