NPS是一款轻量级、高性能、功能强大的内网穿透代理服务器,几乎支持所有协议。目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析等等……)支持内网http代理、内网socks5代理、p2p等。支持服务端、客户端同时控制,扩展功能强大,全平台兼容,一键注册为服务。并带有功能强大的web管理端。
根据「NPS文档」安装完毕了查看日志服务也启动,就是Web管理界面始终无法访问。这里把我踩得坑记录下来。首先网上的教程基本都是按照NPS的文档来操作,如果你是一个纯净的环境那是没有问题的。我这台VPS部署了LNMP环境,所以存在一个问题就是端口冲突,80和443端口。第二个问题就是确认部署了golang。端口冲突修改NPS服务的配置文件即可。祝各位都能一次成功部署。
0x01 NPS 相关
NPS文档 项目地址:NPS 下载地址:NPS Releases 根据自己服务器和客户端环境下载相应的版本。
0x02 NPS 部署
直接在VPS上下载NPS
cd ~ # 进入根目录 mkdir nps # 创建nps目录 cd nps # 进入nps目录 wget https://github.com/ehang-io/nps/releases/download/v0.26.4/linux_amd64_server.tar.gz # 下载nps tar -zxvf linux_amd64_server.tar.gz # 解压nps到当前目录 ./nps install # 安装nps ./nps start # 启动nps ./nps reload # 重载nps ./nps stop # 停止nps ./nps restart # 重启nps ./nps-update update # 更新nps服务器端
0x03 NPS 启动
以上步骤中 ./nps start 执行启动后,如果没有错误提示。即可通过 ip:8080 来访问你 NPS Web管理后台。默认账户:admin 默认密码:123 默认的密码在 /etc/nps/conf/nps.conf 中修改。
0x04 NPS 配置
执行完 ./nps install 配置文件在当前目录 conf/nps.conf 下,但是在 /etc/nps/conf/nps.conf 优先于当前目录下的 nps.conf 也就是说你需要修改 nps.conf 的配置要修改 /etc/nps/conf/nps.conf 文件。以下是 nps.conf 的配置参数及含义。
名称 | 含义 |
---|---|
web_port | web管理端口 |
web_password | web界面管理密码 |
web_username | web界面管理账号 |
web_base_url | web管理主路径,用于将web管理置于代理子路径后面 |
bridge_port | 服务端客户端通信端口 |
https_proxy_port | 域名代理https代理监听端口 |
http_proxy_port | 域名代理http代理监听端口 |
auth_key | web api密钥 |
bridge_type | 客户端与服务端连接方式kcp或tcp |
public_vkey | 客户端以配置文件模式启动时的密钥,设置为空表示关闭客户端配置文件连接模式 |
ip_limit | 是否限制ip访问,true或false或忽略 |
flow_store_interval | 服务端流量数据持久化间隔,单位分钟,忽略表示不持久化 |
log_level | 日志输出级别 |
auth_crypt_key | 获取服务端authKey时的aes加密密钥,16位 |
p2p_ip | 服务端Ip,使用p2p模式必填 |
p2p_port | p2p模式开启的udp端口 |
pprof_ip | debug pprof 服务端ip |
pprof_port | debug pprof 端口 |
其他进阶的配置自行阅读NPS文档。如果在部署过程中有错误也可以在项目的 Issues 查找基本都能决绝。