NPS内网穿透】搭建使用-常用命令
[*]
[*]NPS 安装与配置指南一、常用命令
[*]sudo ./nps install:安装脚本(需先添加权限:chmod +x nps)
[*]sudo nps start:启动 NPS 服务
[*]sudo nps stop:停止服务
[*]sudo nps restart:重启服务
[*]sudo nps status:查看服务状态
[*]sudo nps uninstall:卸载服务
二、安装 NPS 服务端(一)下载 NPS访问 NPS GitHub Releases,选择 Linux 版本(如 linux_amd64_server.tar.gz),执行以下命令下载:
wget https://github.com/ehang - io/nps/...amd64_server.tar.gz
请确保将上述链接替换为实际的 NPS 服务端下载链接,由于原始链接中存在 “...”,这可能并非完整链接。
(二)解压并安装下载完成后,执行以下命令解压并进入解压后的目录:
tar -zxvf linux_amd64_server.tar.gz
cd nps
(三)配置服务端修改 conf/nps.conf 文件,以下是关键配置项说明及示例:
服务端监听的 HTTP/HTTPS 端口http_proxy_port = 80
https_proxy_port = 443
客户端连接的 TCP 端口bridge_port = 8024
Web 管理界面端口web_port = 8080
管理用户名和密码web_username = admin
web_password = your_password
请根据实际需求修改端口号、用户名及密码等配置。
(四)开放防火墙端口若服务器启用了防火墙,需开放相应端口,执行以下命令开放 80、443、8024、8080 端口:
firewall - cmd --zone = public --add - port = 80/tcp --permanent
firewall - cmd --zone = public --add - port = 443/tcp --permanent
firewall - cmd --zone = public --add - port = 8024/tcp --permanent
firewall - cmd --zone = public --add - port = 8080/tcp --permanent
firewall - cmd --reload
(五)启动服务端将 NPS 安装为系统服务并启动,同时设置开机自启:
sudo ./nps install # 安装为系统服务
sudo systemctl start nps
sudo systemctl enable nps
(六)验证服务端状态执行以下命令查看 NPS 服务状态:
systemctl status nps
若服务运行正常,可通过浏览器访问 http:// 公网 IP:8080,使用设置的 admin 和 your_password 登录 Web 管理界面。
三、本地局域网(Windows)配置(NPC 客户端)(一)安装 NPC 客户端从 NPS Releases 下载 Windows 客户端(如 windows_amd64_client.tar.gz),解压到本地目录(如 C:\npc)。
(二)生成客户端命令在 NPS Web 管理界面(http:// 公网 IP:8080)中:
[*]进入 “客户端 -> 新增”,填写客户端名称(如 win - client)。
[*]生成连接命令,类似:./npc - server = 公网 IP:8024 - vkey = 客户端密钥 - type = tcp
(三)配置客户端在解压后的目录 C:\npc 中,创建或修改 conf/npc.conf 文件,内容如下:
server_addr = 公网 IP:8024
vkey = 客户端密钥 # 从 Web 管理界面获取
conn_type = tcp
(四)启动客户端以管理员权限打开命令提示符,执行以下命令:
cd C:\npc
npc.exe install - config = conf\npc.conf # 安装为 Windows 服务
net start npc
(五)验证客户端连接
[*]在 NPS Web 管理界面查看客户端状态是否为 “在线”。
[*]查看客户端日志 C:\npc\log\npc.log 排查连接问题。
四、配置内网穿透规则(一)在 NPS Web 界面添加穿透规则 - 添加 TCP 隧道进入 NPS Web 管理界面的 “隧道 -> 新增”,填写以下信息:
[*]客户端:选择刚创建的 win - client。
[*]端口:公网服务器监听的端口(如 8081)。
[*]目标地址:127.0.0.1(本地 Windows 的本地回环地址)。
[*]目标端口:本地 Java 服务端口(如 8080)。
[*]模式:选择 TCP。
填写完成后保存规则,此时公网服务器会将公网 IP:8081 的请求转发到本地 Windows 的 127.0.0.1:8080。
五、验证内网穿透(一)本地启动服务在 Windows 本地运行 Java 服务(如 Spring Boot),假设服务启动命令如下:
java - jar myapp.jar --server.port = 8080
(二)公网访问测试通过浏览器或 curl 工具访问公网地址:
curl http:// 公网 IP:8081
若返回本地服务的响应,则说明内网穿透成功。
六、操作系统差异注意事项(一)CentOS(服务端)
[*]权限问题:确保 NPS 服务端有权限绑定低端口(如 80/443),若权限不足,可使用 setcap 赋予权限:
sudo setcap cap_net_bind_service = +ep./nps
[*]日志路径:服务端日志位于 /var/log/nps.log,可通过查看该日志排查服务端运行问题。
(二)Windows(客户端)
[*]防火墙配置:需允许 npc.exe 通过 Windows 防火墙,否则可能导致客户端连接失败。可在 Windows 防火墙设置中手动添加允许规则。
[*]开机自启:通过 npc.exe install 安装为服务后,默认开机自启。若需关闭开机自启,可在服务管理中进行设置。
[*]客户端更新:直接替换 npc.exe 文件并重启服务即可完成客户端更新。
七、常见问题(一)客户端连接失败
[*]检查端口开放:检查服务端 bridge_port(默认 8024)是否在防火墙中开放,确保客户端能够与服务端建立连接。
[*]确认配置信息:确认客户端配置中的 server_addr 和 vkey 是否正确,可重新在 NPS Web 管理界面获取客户端连接信息并核对。
(二)公网访问超时
[*]检查防火墙设置:检查服务端防火墙是否放行公网访问所使用的端口(如 8081),确保请求能够到达服务端。
[*]确认本地服务状态:确认本地服务(如 Java 应用)已启动并正确监听相应端口,可通过查看本地服务日志进行排查。
(三)客户端频繁掉线
[*]检查网络稳定性:网络波动可能导致客户端频繁掉线,可检查本地网络连接及服务器网络状况。
[*]调整客户端配置:尝试调整客户端配置文件 npc.conf,添加或修改 auto_reconnection = true,使客户端在掉线后自动尝试重新连接。
页:
[1]