收起左侧

飞牛nas,结合云服务器通过NPS-**内网穿透

1
回复
49
查看
[ 复制链接 ]

1

主题

2

回帖

0

牛值

江湖小虾

作者:LX-DataCenter

日期:2025-1-16

邮箱:chenhot0@qq.com

一、阿里云服务器部署 NPS 服务端(root 权限,全程复制)

步骤 1:彻底清理旧文件,避免冲突

删除之前错误下载的压缩包和解压残留

rm -rf nps_server.tar.gz linux_amd64_server nps conf web

清理可能的进程残留

ps -ef | grep -E 'nps|**' | grep -v grep | awk '{print $2}' | xargs kill -9 2>/dev/null

步骤 2:正确下载并解压 NPS 服务端(v0.26.10,适配飞牛 NAS 客户端)

用官方源下载,避免代理导致的文件损坏

wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_server.tar.gz -O nps_server.tar.gz

验证文件完整性(关键!避免解压失败)

md5sum nps_server.tar.gz

正确解压(若提示not in gzip format,重新执行上面的wget命令)

tar -zxvf nps_server.tar.gz

cd linux_amd64_server

解压成功标志:终端显示 conf、nps 等文件 / 文件夹

如果:cd linux_amd64_server 执行后报如下错误:

[root@iZ2vcehmhxz3ieh1a9u30iZ ~]# cd linux_amd64_server

-bash: cd: linux_amd64_server: No such file or directory

因为:核心文件(conf、nps、web)直接解压到了 /root 目录下,所以 cd linux_amd64_server 会提示目录不存在,无需纠结这个目录,直接在当前 /root 目录下继续操作即可,所有核心文件都已齐全。

先明确:解压已成功,无需重新下载 / 解压

从 ls -l 输出可以看到,/root 目录下已经有了 NPS 运行所需的全部核心文件:

conf/:配置文件目录(含 nps.conf 核心配置)

nps:可执行程序(服务端核心)

web/:后台网页文件(用于访问 NPS 管理界面)这说明解压已经完成,只是没有生成统一的 linux_amd64_server 目录,完全不影响后续安装和运行,直接跳过 cd linux_amd64_server 步骤,在 /root 目录下继续操作即可。

步骤 3:修改服务端配置文件(仅改 3 个关键参数,安全且适配)

编辑解压后的 conf 目录下的 nps.conf

vim /root/conf/nps.conf

按 i 进入编辑模式,修改以下参数,其他默认

Web管理端口(默认8080,建议改如8888,避免冲突)这是进入NPS服务服务器的Web端口

web_port = 8888

Web管理账号密码(自定义,如admin,必填)

web_username = admin

Web 管理密码(自定义,如 123456abc,避免简单密码

web_password = 123456abc

与客户端通信的桥接端口(默认8024,保持默认,后续客户端连接用) bridge_port = 8024

Esc,输入 :wq 保存退出

如果:

conf/nps.conf 中找不到 bridge_port = 8024,这是正常现象(不同 NPS 版本配置项命名有差异,该配置项可能以 bridge_port 或 tcp_bridge_port 存在,甚至默认隐藏无需手动配置),完全不影响客户端连接,下面给你清晰的解决方案,无需纠结配置项,确保服务端与飞牛 NAS 客户端正常通信。

一、核心说明:找不到 bridge_port 无需担心

默认端口就是 8024:NPS 服务端与客户端通信的默认桥接端口(TCP 协议)就是 8024,即使配置文件中没有显式写出 bridge_port = 8024,服务端也会默认监听 8024 端口,这是 NPS 的内置默认配置。

配置项命名差异:部分 NPS 版本中,该配置项命名为 tcp_bridge_port(而非 bridge_port),你可以在 conf/nps.conf 中查找 tcp_bridge_port,若也找不到,直接使用默认端口 8024 即可,无需手动添加(添加反而可能导致配置冲突)。

关键是放行 8024 端口:只要宝塔和阿里云防火墙放行 8024 端口,飞牛 NAS 客户端就能通过 8024 端口与服务端建立连接,配置项是否显式存在不影响功能。

步骤 4:安装并启动 NPS 服务端

赋予执行权限

chmod +x nps

安装为系统服务

./nps install

同时该命令执行后会自动把nps.conf文件复制到/etc/nps/conf/目录下

会有一大段的安装输出显示 出现install ok! 说明安装成功

成功标志:终端无 error 提示,即使没有明确的「install success」,只要不报错即表示安装成功(NPS 已注册到系统服务)。

grep "web_port" /etc/nps/conf/nps.conf

若输出 web_port = 8888,说明配置同步成功;若输出默认的 8080,则需重新执行步骤 3(编辑 /root/conf/nps.conf)→ 步骤 4(./nps install)。

步骤 5:查找 nps 可执行文件的绝对路径

命令:find / -name "nps" -type f -perm /u+x 2>/dev/null

find 命令后得到了两个 nps 可执行文件路径:/usr/bin/nps 和 /root/nps,这说明服务器中存在两份 NPS 可执行文件,我们优先选择 /usr/bin/nps(系统级路径,更稳定,适配 systemd 服务管理) 来修复启动问题,/usr/bin/ 是 Linux 系统默认的可执行程序存放目录,优先级高于 /root/ 目录,用该路径配置 nps.service 更稳定,不易出现路径权限问题。

#1、修改 nps.service 文件,使用 /usr/bin/nps 路径

##1、编辑 nps.service 文件

vim /usr/lib/systemd/system/nps.service

##2、粘贴正确配置(替换为 /usr/bin/nps 路径)

i 进入编辑模式,删除原有内容,粘贴以下完整配置:

[Unit]

Description=NPS Fast TCP/UDP Proxy Server

After=network.target

Wants=network.target

[Service]

Type=simple

核心:使用系统级路径 /usr/bin/nps

ExecStart=/usr/bin/nps

Restart=always

RestartSec=5

User=root

Group=root

工作目录无需额外指定(/usr/bin/ 为系统默认路径,配置文件已在 /etc/nps/)

WorkingDirectory=/etc/nps

[Install]

WantedBy=multi-user.target

Esc,输入 :wq 保存并退出 vim

#3、刷新 systemd 配置,重新启动 NPS 服务(必执行)如下4步骤

  1. 刷新 systemd 配置,识别修改后的服务文件

systemctl daemon-reload

  1. 停止残留的无效 NPS 进程(避免冲突)

ps -ef | grep nps | grep -v grep | awk '{print $2}' | xargs kill -9 2>/dev/null

3.启用 nps 开机自启

systemctl enable nps

  1. 启动 NPS 服务

systemctl start nps

  1. 验证 NPS 服务运行状态

systemctl status nps

✅ 成功标志:终端输出 Active: active (running)(绿色字体),无 exit-code 错误,说明 NPS 服务已正常启动。

systemctl start/stop/restart nps 管理服务。如下:输出

● nps.service - NPS Fast TCP/UDP Proxy Server

Loaded: loaded (/usr/lib/systemd/system/nps.service; enabled; vendor preset: disabled)

Active: active (running) (since Thu 2026-01-15 23:35:00 CST; 10s ago)

Main PID: 12345 (nps)

Tasks: 1 (limit: 1152)

Memory: 2.0M

CGroup: /system.slice/nps.service

       **─12345 /usr/local/bin/nps start

安装 netstat 工具(若未安装)

yum install -y net-tools

验证 8024 端口是否被监听

netstat -tulpn | grep 8024

成功标志:终端输出类似以下内容,说明 NPS 已默认监听 8024 端口,客户端可正常连接:

tcp6 0 0 :::8024 :::* LISTEN 12345/./nps

验证服务是否运行(替代不支持的 nps status)

ps -ef | grep nps | grep -v grep

成功标志:ps 命令输出中能看到 nps 进程(含进程号),说明服务已正常启动。

步骤 6:宝塔面板 + 阿里云防火墙放行端口(3 个端口,缺一不可)

登录宝塔面板(执行 bt default 查地址),进入「安全」→「防火墙」,放行 3 个 TCP 端口:

8888(Web 管理端口,与 nps.conf 中 web_port 一致)

8024(客户端与服务端通信端口,与 bridge_port 一致)

5000(后续映射 NAS 的端口,可自定义如 8888)

登录阿里云 ECS 控制台,进入「安全组」,添加上述 3 个端口的 TCP 规则,允许所有 IP 访问

关闭宝塔 WAF 防护,避免拦截连接

步骤 7:访问后台,登录后台

访问后台:

· 打开你本地电脑的浏览器(Chrome/Edge)。

· 输入地址:http://你的阿里云公网IP:8888

· 注意:如果打不开,99% 是上面的端口没放行,或者宝塔开了 WAF 拦截了。

登录****后台:

· 默认账号:admin

· 默认密码:123456abc

如果:修改了密码要重启NPS服务(让配置生效)

systemctl restart nps # 重启服务

systemctl status nps # 确认服务正常运行

端口与账号密码都来至步骤 3:配置文件中设置的

创建客户端(核心):

点击左侧菜单的 「客户端」 → 点击右上角的 「新增」。

备注:随便填,比如 飞牛NAS。

vkey:这是密码,建议设复杂点(比如 FeiNiu@123),或者默认也行。

其他默认,点击 「添加」。

记住这个 vkey! 等会 NAS 要用

如下图:操作步骤

步骤 8:飞牛NAS上安装**客户端(应用中心直接搜索)

然后打开**客户端,如下配置后,点保存配置,出现Successful connection with server 就正常了

此时切回阿里云 NPS 网页后台,刷新「客户端」列表,对应的客户端会显示「在线」(绿色状态)

步骤 9:连接成功后配置端口映射(实现访问 NAS)

回到阿里云 NPS 网页后台,找到在线的飞牛 NAS 客户端。

点击客户端右侧「新增隧道」,填写配置:

协议:TCP

服务器端口:5000(已放行的映射端口)

本地 IP:飞牛 NAS 的内网 IP(在 NAS「网络设置」中查看,如 192.168.1.100)

本地端口:飞牛 NAS 的管理端口(通常为 5000,桌面端可在 NAS「设置」→「访问设置」中查看)

点击「保存」,隧道状态变为「正常」。

手机 / 电脑浏览器输入 http://你的阿里云公网IP:5000,即可直达飞牛 NAS 桌面 / 管理界面。

步骤 10:如果网速很慢

1、编辑 NPS 服务端配置文件(保持之前的命令)

vim /etc/nps/conf/nps.conf

i 进入编辑模式

把下面配置参数粘贴到该文件的空白处:

增大最大连接数,提升并发处理能力,减少多设备访问时的速率波动

max_conn=1000

启用端口复用,避免端口占用冲突,提升传输速率稳定性

reuse_port=true

Esc,输入 :wq 保存并退出 vim,然后重启 NPS 服务使配置生效:

然后重启 NPS 服务使配置生效:

systemctl restart nps

验证服务是否正常运行

systemctl status nps

可选配置:

缩短心跳间隔,减少断连导致的速率骤降,增强链路稳定性

heartbeat_interval=10

启用数据压缩,优化跨公网传输速率稳定性(对小文件友好)

compress=true

添加后再次重启 NPS 服务即可:systemctl restart nps

提示:“若服务端配置文件中已存在上述可选参数,无需重复添加,仅修改数值即可;若不存在,直接新增,避免配置项重复导致服务启动异常。”

2、编辑NAS上**客户端

双击在 NAS 的**客户端打开配置,在文件中的空白处添加:

reconnect_interval=3 # 缩短重连间隔,减少断连影响

max_conn=500 # 匹配服务端连接数

在点保存配置

上述配置可提升跨公网穿透的速率稳定性,同时最大化利用家里的宽带上行带宽,减少卡顿 / 波动。

常用配套 systemctl命令(NPS 部署必备)

systemctl status nps:查看 nps 服务的当前运行状态(是否启动、有无报错)

systemctl restart nps:重启 nps 服务(修改配置文件后必备,先停止再启动)

systemctl enable nps:配置 nps 服务开机自动启动

systemctl disable nps:取消 nps 服务的开机自启配置(仅取消配置,不停止当前服务)

systemctl stop nps:停止当前正在运行的 nps 服务(仅停止,不取消开机自启)

systemctl start nps:立即启动当前运行会话的 nps 服务

收藏
送赞 1
分享

1

主题

2

回帖

0

牛值

江湖小虾

2 小时前 楼主 显示全部楼层

#自动部署脚本

#!/bin/bash
#作者:LX-DataCenter
#日期:2025-1-16
#邮箱:chenhot0@qq.com

脚本说明:NPS服务端部署一键脚本(整合步骤1-5)

适用系统:CentOS 7/8(Ubuntu需替换yum为apt)

执行权限:root

定义颜色输出(方便查看执行状态)

RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # 恢复默认颜色

步骤1:彻底清理旧文件,避免冲突

echo -e "​{YELLOW}===== 步骤1:清理旧NPS文件和残留进程 ====={NC}"
rm -rf nps_server.tar.gz linux_amd64_server nps conf web
ps -ef | grep -E 'nps|**' | grep -v grep | awk '{print $2}' | xargs kill -9 2>/dev/null
echo -e "​{GREEN}✅ 旧文件和残留进程清理完成{NC}"
sleep 1

步骤2:正确下载并解压 NPS 服务端(v0.26.10)

echo -e "\n​{YELLOW}===== 步骤2:下载并解压NPS服务端 ====={NC}"

下载NPS服务端(官方源,指定文件名)

wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_server.tar.gz -O nps_server.tar.gz 2>/dev/null
if [ ! -f "nps_server.tar.gz" ]; then
echo -e "​{RED}❌ NPS压缩包下载失败,请检查网络连接后重新运行脚本{NC}"
exit 1
fi

验证文件完整性(输出md5值,供用户核对,不中断执行)

echo -e "​{YELLOW}📌 压缩包MD5值(可对比官方校验):{NC}"
md5sum nps_server.tar.gz

解压文件

tar -zxvf nps_server.tar.gz >/dev/null 2>&1

自动适配解压目录(有无linux_amd64_server目录均兼容)

if [ -d "linux_amd64_server" ]; then
cd linux_amd64_server >/dev/null 2>&1
echo -e "​{GREEN}✅ 进入独立目录linux_amd64_server,解压完成{NC}"
else
echo -e "​{GREEN}✅ 核心文件解压到当前目录(/root),解压完成{NC}"
fi
sleep 1

步骤3:修改服务端配置文件(修正路径,确保配置有效)

echo -e "\n​{YELLOW}===== 步骤3:修改NPS核心配置 ====={NC}"

定义配置文件路径(当前解压目录下的conf/nps.conf)

NPS_CONF="./conf/nps.conf"
if [ ! -f "$NPS_CONF" ]; then
echo -e "​{RED}❌ 配置文件NPS_CONF不存在,解压失败,请重新运行脚本${NC}"
exit 1
fi

替换配置参数(web_port、web_username、web_password)

1. 修改web管理端口为8888

sed -i 's/^web_port=.*/web_port=8888/' $NPS_CONF
if ! grep -q "web_port=8888" $NPS_CONF; then
echo "web_port=8888" >> $NPS_CONF
fi

2. 修改web管理账号为admin

sed -i 's/^web_username=.*/web_username=admin/' $NPS_CONF
if ! grep -q "web_username=admin" $NPS_CONF; then
echo "web_username=admin" >> $NPS_CONF
fi

3. 修改web管理密码为123456abc

sed -i 's/^web_password=.*/web_password=123456abc/' $NPS_CONF
if ! grep -q "web_password=123456abc" $NPS_CONF; then
echo "web_password=123456abc" >> $NPS_CONF
fi

echo -e "${GREEN}✅ 配置修改完成:"
echo -e " - Web管理端口:8888"
echo -e " - 管理账号:admin"
echo -e " - 管理密码:123456abc${NC}"
sleep 1

步骤4:安装并启动 NPS 服务端

echo -e "\n​{YELLOW}===== 步骤4:安装NPS为系统服务 ====={NC}"

赋予nps可执行权限

chmod +x nps

安装NPS服务

./nps install >/dev/null 2>&1
if [ $? -eq 0 ]; then
echo -e "​{GREEN}✅ NPS服务安装成功(install ok!){NC}"
else
echo -e "​{YELLOW}⚠️ NPS服务安装完成(无明确提示,无报错即为成功){NC}"
fi
sleep 1

步骤5:配置nps.service文件,修复路径并启动服务

echo -e "\n​{YELLOW}===== 步骤5:配置systemd服务并启动NPS ====={NC}"

1. 写入nps.service配置文件

cat > /usr/lib/systemd/system/nps.service << EOF
[Unit]
Description=NPS Fast TCP/UDP Proxy Server
After=network.target
Wants=network.target

[Service]
Type=simple
ExecStart=/usr/bin/nps
Restart=always
RestartSec=5
User=root
Group=root
WorkingDirectory=/etc/nps

[Install]
WantedBy=multi-user.target
EOF

2. 刷新systemd配置

systemctl daemon-reload >/dev/null 2>&1

3. 停止残留的无效NPS进程

ps -ef | grep nps | grep -v grep | awk '{print $2}' | xargs kill -9 2>/dev/null

4. 启用开机自启并启动NPS服务

systemctl enable nps >/dev/null 2>&1
systemctl start nps

5. 验证NPS服务状态

if systemctl is-active --quiet nps; then
echo -e "​{GREEN}✅ NPS服务启动成功,当前状态:active (running){NC}"
else
echo -e "​{RED}❌ NPS服务启动失败,请执行 systemctl status nps 查看详细错误{NC}"
exit 1
fi

6. 验证8024端口监听

yum install -y net-tools >/dev/null 2>&1
if netstat -tulpn | grep -q 8024; then
echo -e "​{GREEN}✅ 8024端口监听正常,客户端可正常连接{NC}"
else
echo -e "​{YELLOW}⚠️ 8024端口未监听,可后续执行 systemctl restart nps 重试{NC}"
fi

脚本执行完成提示

echo -e "\n​{GREEN}===== NPS服务端部署(步骤1-5)一键脚本执行完成 ====={NC}"
echo -e "${YELLOW}后续操作提示:"
echo -e "1. 放行端口:8888(Web管理)、8024(通信)、5000(映射)"
echo -e "2. 访问后台:http://你的阿里云IP:8888"
echo -e "3. 登录账号:admin,密码:123456abc${NC}"

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则