告别内网穿透突然失联——使用supervisor运行多个nps客户端

2024-07-16 15:06:14 2点赞 34收藏 0评论

从2017开始折腾内网穿透到现在,根据我的使用场景,突然失联比降速更令人绝望。所以使用的内网穿透工具都是中心服务器转发类型的,比如nps。大流量场景才用p2p模式的内网穿透工具,比如zerotier和tailscale这类。

去年电信开始回收家宽的免费公网ipv4,如果要公网ipv4就需要花钱租用,100/月。非常没有性价比,100一个月只能租用一个动态公网ipv4。于是又花400租了一年30mbps带宽的4核8g轻量云,加上6mbps的腾讯轻量云,手上有两台服务器。我在这两个服务器都安装了nps服务端,就算一台服务器出问题了,我还可以通过另外一台服务器进行穿透。

内网中有一个openwrt,其中的npc插件只允许连接一个服务器。本来想使用docker的方式运行多个npc连接多个服务器的。但是这个版本openwrt年代久远,没有集成docker插件自行安装又缺少部分内核模块,本身也配置了很多为内网穿透和远程组网的转发规则迁移太复杂。

那只能手动让npc客户端自己后台运行了!

一般情况下,linux终端运行的程序会在终端关闭后也会被关闭。这个时候就可以通过supervisor这个工具来实现,开机自动启动,后台运行等功能。

supervisor这个工具是使用python3写的,所以需要给openwrt安装python3和python3-pip。

先用下面的命令安装python3和python3-pip。

opkg update

opkg install curl

opkg install python3

然后用下面的命令安装supervisor

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

python3 get-pip.py

pip install supervisor

用下面的命令配置supervisor配置文件

mkdir -p /etc/supervisor/conf.d

cd /etc/supervisor/

/usr/bin/echo_supervisord_conf > ./supervisord.conf

找到下面的选项并修改,如果配置语句前面面有“;”需要删除已解除忽略。

#如果为true,则从前台启动

nodaemon=true

#配置外部文件加载路径

[include]

files = /etc/supervisor/conf.d/*.conf

新建一个服务,使得supervisor可以跟随openwrt系统启动。

vi /etc/init.d/supervisord

复制下面的内容

#!/bin/sh /etc/rc.common

# Start/stop/restart supervisor in OpenWrt.

START=91

STOP=15

USE_PROCD=1

BINLOADER_BIN="/usr/bin/supervisord"

start_service() {

procd_open_instance

procd_set_param respawn

procd_set_param command "$BINLOADER_BIN" -c /etc/supervisor/supervisord.conf

procd_set_param stdout 1

procd_set_param stderr 1

procd_close_instance

}

stop_service() {

procd_kill "$BINLOADER_BIN"

}

restart() {

stop

start

}

使用下面的命令配置自启动并启动supervisord。

chmod +x /etc/init.d/supervisord

/etc/init.d/supervisord enable

/etc/init.d/supervisord start

编辑 supervisor 配置文件让npc后台运行,下面是supervisor 配置文件的简单模版,可以配置多个

program在同一个配置文件中。

[program:npcsz-01]

##配置工作目录为/root/npc,这是我存储npc程序的地方

directory=/root/npc

##npc启动命令和参数

command=/root/npc/npc -server=1.1.1.1:8024 -vkey=1234456780

##自动启动

autostart=true

autorestart=true

##日志

stderr_logfile=/var/log/npcsz-01.log

stdout_logfile=/var/log/npcsz-01.log

使用下面的命令让supervisor更新配置

supervisorctl update

使用下面的命令查看supervisor工作状态

supervisorctl status

可以看到npc客户端已经启动

告别内网穿透突然失联——使用supervisor运行多个nps客户端

登录nps后台可以看到新客户端已经上线

告别内网穿透突然失联——使用supervisor运行多个nps客户端

下面是supervisor的常用操作命令

输入命令 supervisorctl 进入 supervisorctl 的 shell 交互界面

help # 查看帮助

status # 查看程序状态

stop program_name # 关闭 指定的程序

start program_name # 启动 指定的程序

restart program_name # 重启 指定的程序

tail -f program_name # 查看 该程序的日志

update # 重启配置文件修改过的程序(修改了配置,通过这个命令加载新的配置)

也可以直接通过 shell 命令操作:

supervisorctl status

supervisorctl update

展开 收起

UGREEN 绿联 DXP4800 四盘位 私有云NAS存储(Intel N100、8GB)

UGREEN 绿联 DXP4800 四盘位 私有云NAS存储(Intel N100、8GB)

1999元起

QNAP 威联通 TS-464C2 四盘位 NAS网络存储(赛扬N5095、8GB)黑色

QNAP 威联通 TS-464C2 四盘位 NAS网络存储(赛扬N5095、8GB)黑色

2399元起

ZSpace 极空间 私有云 Z4Pro 8G版 4盘位NAS存储(N97、8GB)

ZSpace 极空间 私有云 Z4Pro 8G版 4盘位NAS存储(N97、8GB)

899元起

ZSpace 极空间 私有云 Z4Pro 性能版 NAS存储(N305、16GB)黑色

ZSpace 极空间 私有云 Z4Pro 性能版 NAS存储(N305、16GB)黑色

2799元起

ZSpace 极空间 私有云Z2Pro 2盘位 NAS存储 水墨黑

ZSpace 极空间 私有云Z2Pro 2盘位 NAS存储 水墨黑

1099元起

UGREEN 绿联 DXP2800 双盘位 私有云NAS存储(Intel N100、8GB)

UGREEN 绿联 DXP2800 双盘位 私有云NAS存储(Intel N100、8GB)

1699元起

ZSpace 极空间 私有云 Z4Pro 16G版 4盘位NAS存储(N97、16GB)

ZSpace 极空间 私有云 Z4Pro 16G版 4盘位NAS存储(N97、16GB)

2280元起

极空间私有云Z423 标准版 6核16G内存 四盘位Nas家庭网络存储服务器 手机平板扩容

极空间私有云Z423 标准版 6核16G内存 四盘位Nas家庭网络存储服务器 手机平板扩容

3999元起

ZSpace 极空间 私有云 Z423 旗舰版 8盘位NAS存储(锐龙R7-5825U、32GB)

ZSpace 极空间 私有云 Z423 旗舰版 8盘位NAS存储(锐龙R7-5825U、32GB)

3999元起

QNAP 威联通 TS-464C 4盘位NAS(赛扬N5095、8GB)

QNAP 威联通 TS-464C 4盘位NAS(赛扬N5095、8GB)

1899元起

UGREEN 绿联 DX4600 四盘位NAS存储 (赛扬N5105、8GB)

UGREEN 绿联 DX4600 四盘位NAS存储 (赛扬N5105、8GB)

1696元起

QNAP 威联通 TS-466C 四盘位NAS(奔腾N6005、8GB)

QNAP 威联通 TS-466C 四盘位NAS(奔腾N6005、8GB)

3199元起

UGREEN 绿联 DXP4800 Plus 四盘位 私有云NAS存储

UGREEN 绿联 DXP4800 Plus 四盘位 私有云NAS存储

1999元起

UGREEN 绿联 DXP480T Plus 四盘位 私有云NAS存储(酷睿i5-1235U、8GB)

UGREEN 绿联 DXP480T Plus 四盘位 私有云NAS存储(酷睿i5-1235U、8GB)

3009.43元起

ZSpace 极空间 私有云 Q2C NAS存储 水墨黑

ZSpace 极空间 私有云 Q2C NAS存储 水墨黑

899元起

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

2188元起
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
34
扫一下,分享更方便,购买更轻松