内网穿透系列十一:NPS 是一款轻量级、高性能、功能强大的内网穿透工具,自带Web管理端,支持Docker快速部署

一、简介

  • NPS 是一款轻量级、高性能、功能强大的内网穿透工具
  • 协议支持全面,兼容几乎所有常用协议,例如tcp、udp、http(s)、socks5、p2p、http代理等等
  • 自带Web管理界面,可以展示流量、系统信息、即时带宽、客户端版本等信息,客户端和服务端连接上后,后续可在线管理配置端口映射关系
  • 扩展能力强大,支持缓存、压缩、加密、流量限制、带宽限制、端口复用等
  • 修复优化版本开源地址参考:https://github.com/yisier/nps
  • 该工具的基本架构可参考下图:

二、安装(Docker方式)

1. 服务端安装

  • 服务端主机需要安装好Docker、docker-compose软件环境

  • 拉取代码,主要目的就是拉取conf基础配置

    git clone https://github.com/yisier/nps
  • 进入nps代码目录,新建docker-compose.yml配置文件,配置内容如下:

    services:
      nps:
        image: yisier1/nps
        container_name: nps
        network_mode: host
        restart: always
        volumes:
            - ./conf:/conf
  • (可选)主要修改的配置conf/nps.conf,默认会需要占用80、443、8024、8080等端口
    默认端口和web管理端配置
    图片[1]-内网穿透系列十一:NPS 是一款轻量级、高性能、功能强大的内网穿透工具,自带Web管理端,支持Docker快速部署-副业网
    漏洞位置安全加固(必须)

  • 配置完成,即可一键启动服务端

    docker-compose up -d

    查看启动情况,正常启动参考下图

2. 登录服务端管理后台,创建客户端配置

  • 服务端启动后,可访问地址:http://ip:8081/,账号密码就是conf/nps.conf配置中的web_username、web_password参数

  • 新增一个客户端,会生成唯一验证秘钥,客户端通过该秘钥就能连接上服务端了

3. 客户端启动

  • 客户端主机也需要安装好Docker、docker-compose软件环境
  • 新建docker-compose.yml配置文件,配置内容如下:
    services:
      npc:
        image: yisier1/npc
        container_name: npc
        restart: always
        network_mode: host
        #新接入的客户端只需配置修改下面不同的vkey配置即可,默认开启了tls流量加密
        command: -server=100.100.xxx.xxx:8025 -vkey=a1efa114df -tls_enable=true
  • 配置完成,执行客户端一键启动命令
    docker-compose up -d

    客户端成功启动参考下面截图
    图片[2]-内网穿透系列十一:NPS 是一款轻量级、高性能、功能强大的内网穿透工具,自带Web管理端,支持Docker快速部署-副业网
    客户端成功连接服务端,后台显示在线状态

三、使用示例

  • 可以在线新建域名解析(不建议直接用,最好加一层nginx反代)、TCP隧道、UDP隧道、各种代理(需要使用客户端主机去访问目标服务的时候可以设置)等

  • 这里以TCP隧道为例,目的:新建一个TCP隧道,穿透内网中的mysql服务
    后台新增TCP隧道配置
    图片[3]-内网穿透系列十一:NPS 是一款轻量级、高性能、功能强大的内网穿透工具,自带Web管理端,支持Docker快速部署-副业网
    外网连接mysql测试

  • 这里以HTTP代理为例,目的:新增一个HTTP代理服务,使用这个代理就能让客户端帮忙转发请求
    新增一个HTTP代理,指定要使用的客户端即可

    图片[4]-内网穿透系列十一:NPS 是一款轻量级、高性能、功能强大的内网穿透工具,自带Web管理端,支持Docker快速部署-副业网
    测试使用这个HTTP代理,实际访问目标服务就是客户端ip,在一些爬虫类等对ip有严格限制的服务中可以应用起来

    curl -x http://服务端ip:28955 ipinfo.io

四、总结

  • NPS 是一个功能非常完善的内网穿透工具,可以满足大多数内网穿透场景和需求
  • 提供了在线管理后台,使得接入、配置、监控、管理非常方便
  • 客户端接入方便,提供各种操作系统的客户端接入一键接入,推荐docker接入方式
  • 长期运行较为稳定,流量加密、长连接、心跳检测、自动重连等特性,保障了安全和性能
© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容