跳转到主要内容

服务端配置

查阅服务端配置参数与默认值

NPS 从运行目录下的 conf/nps.conf 读取配置。直接运行二进制时,运行目录通常是 NPS 可执行文件所在目录;安装为系统服务后通常是 /etc/nps。使用 -conf_path=/path/to/nps 可以指定新的运行目录,此时配置文件路径为 /path/to/nps/conf/nps.conf。

首次启动时若 conf/nps.conf 不存在会自动生成默认配置。web_username 固定为 admin,web_password、auth_key 和 auth_crypt_key 会生成随机值并打印到终端,请在启动日志或配置文件中查看。

下表“默认值”以代码首次自动生成的 nps.conf 为准。标为“未配置”的参数不会写入自动生成的文件,需要时再手动添加。修改 nps.conf 后应重启 NPS;监听端口、桥接协议等启动参数不会通过 Web 保存而重新创建。

通用配置

名称默认值说明
bridge_typetcpNPC 与 NPS 的桥接协议,取值为 tcp 或 kcp;使用 kcp 时 bridge_port 是 UDP 端口
bridge_ip0.0.0.0桥接监听 IP
bridge_port8024客户端连接端口
tls_enabletrue是否开启 TLS 桥接;仅在 bridge_type=tcp 时生效
tls_bridge_port8025TLS 桥接端口,默认 8025。与 bridge_port 并存:客户端可分别用 bridge_port(明文)或 tls_bridge_port(TLS)接入
tls_cert_file(空)桥接 PEM 证书链路径,与 tls_key_file 成对配置;相对路径从 NPS 运行目录解析
tls_key_file(空)桥接 PEM 私钥路径;两项都为空时自动生成并复用 conf/tls/bridge.pem、conf/tls/bridge.key
tls_self_signed_name_modestandard新自签名证书的名称模式:standard 为 CN=localhost、O 留空;random 随机生成 CN/O。已有及外部证书不受影响
disconnect_timeout60多路复用连接连续未收到心跳的检查次数,每次间隔 5 秒;60 约为 5 分钟
public_vkey123公共验证密钥,允许 NPC 通过 npc.conf 临时提交客户端和隧道;留空关闭
flow_store_interval1流量数据持久化间隔,单位分钟;留空、无效值或 0 表示不持久化
log_level6日志级别 0~7
log_pathnps.log日志文件路径
ip_limit未配置是否要求访问来源 IP 先通过 npc register 临时登记;true 开启,留空或 false 关闭

自动生成的 public_vkey=123 是公开配置客户端的共享凭据。无需通过 NPC 配置文件创建隧道时应将其留空;需要使用时应改为独立的随机值,不能继续使用示例值 123。

桥接证书的信任配置、持久化和名称模式切换详见桥接证书与身份验证 。桥接证书启动时加载,更新后需要重启 NPS;路径不完整或证书无效时启动失败,不会回退生成另一张证书。

HTTP(S) 隧道

名称默认值说明
http_proxy_ip0.0.0.0HTTP(S) 隧道监听 IP,默认 0.0.0.0
http_proxy_port80HTTP(S) 隧道的 HTTP 端口(默认 80),留空关闭
https_proxy_port443HTTP(S) 隧道的 HTTPS 端口(默认 443),留空关闭。详见使用 HTTPS
show_http_proxy_porttrueHTTP(S) 隧道访问地址是否拼接非 80/443 端口,true / false
http_add_origin_headertrue是否在 HTTP(S) 请求头中追加 X-Forwarded-For / X-Real-IP,用于内网获取真实 IP
http_cachefalse保留的 HTTP 响应缓存开关;当前实现不会填充缓存,不应作为可用缓存功能启用
http_cache_length100缓存容器的条目数上限,0 表示不限制;仅在 http_cache=true 时读取

当前版本的缓存实现边界和替代方案见 HTTP 响应缓存(未实现) 。

Web 管理

名称默认值说明
web_hosta.o.comWeb 管理使用的二级域名,端口复用时用于区分服务
web_usernameadminWeb 登录用户名
web_password首次启动随机生成Web 登录密码
web_port8081Web 管理端口,留空关闭 Web 管理
web_ip0.0.0.0Web 管理监听 IP
web_base_url(空)Web 管理子路径,例如 /nps,用于反向代理到子路径
web_open_sslfalseWeb 管理是否启用 HTTPS
web_cert_fileconf/server.pemWeb 管理 HTTPS 证书路径
web_key_fileconf/server.keyWeb 管理 HTTPS 私钥路径
open_captchafalse登录是否开启验证码校验
allow_user_logintrue是否允许多用户登录,开启后用户名为 user,密码为客户端验证密钥
allow_user_registerfalse是否允许从登录页注册账号
allow_user_change_usernametrue多用户登录后是否允许修改用户名

API 鉴权

名称默认值说明
auth_key首次启动随机生成Web API 鉴权密钥,详见 Web API
auth_crypt_key首次启动随机生成auth/getauthkey 接口的 AES 加密密钥,必须为 16 字节

P2P 连接

名称默认值说明
p2p_ip未配置访问端和提供端可达的 NPS 地址,使用 P2P 连接时必填
p2p_port未配置P2P 使用的 UDP 起始端口;NPS 同时监听该端口及后续两个端口

限制开关

这些参数控制 Web 管理是否显示或允许设置对应能力。首次生成的配置中,除 allow_local_proxy 外均按下表启用;改为 false 不会自动清除已经保存的客户端或隧道参数。

名称默认值说明
allow_flow_limittrue是否启用客户端流量限制
allow_rate_limittrue是否启用客户端带宽限制
allow_tunnel_num_limittrue是否启用客户端最大隧道数限制
allow_connection_num_limittrue是否启用客户端最大连接数限制
allow_multi_iptrue是否允许每个隧道监听不同的服务端 IP
allow_local_proxyfalse是否允许由 NPS 服务端连接目标
allow_ports未配置限制可开放的隧道端口范围,例如 9001-9009,10001,11000-12000,留空不限制
system_info_displaytrue是否在 Web 上展示服务端系统信息图表

TCP 新连接限频默认值

这些参数只作用于 mode=tcp 的普通 TCP 隧道,是尚未在 Web 全局设置中保存对应配置时的后备值。单条隧道还可以继承、覆盖或关闭限频,详见 TCP 白名单与连接限频 。

名称默认值说明
tcp_conn_limit_enabledtrue是否默认启用来源 IP 新连接限频
tcp_conn_limit_max600滑动窗口内允许的新连接数
tcp_conn_limit_window600滑动窗口长度,单位秒
tcp_conn_limit_ban600触发后封禁时长,单位秒

debug / pprof

名称默认值说明
pprof_ip未配置debug pprof 监听 IP;必须和 pprof_port 同时配置
pprof_port未配置debug pprof 监听端口;必须是有效端口,并和 pprof_ip 同时配置