跳到正文

故障排查

一个症状一节:先看现象,再跑几条检查,最后一句话说怎么修。八节覆盖的是真的会坏的那些地方。

面板走 HTTP,https:// 连不上,那不是故障。离线的机器是被拒绝,不是被排队,它回来之后也没有什么在等着发生。这一页上没有一步是去手改 /etc 的,事实源是 config/,让它成真的是 nhub apply。核心单元不能从面板上停掉,缺了 dnsmasq 的网关不是关掉了一个功能,而是坏了。有两个已知的毛病这一页修不了:被控端在一轮处理中途收到停止时会先把退避等完,以及同一个主机名后面的两台中枢会互相把对方踢下线。

面板连不上

bash
# 1. 单元起来了吗。应该是 active (running)。
systemctl status neutrino_hub_web

# 2. 它在你以为的那个端口上吗。没搬过的话是 8080。
ss -lntp | grep neutrino

# 3. 这个网络它应答吗。开放范围里应该列着这个网络。
sudo nhub apply --only router --dry-run

端口在「网络」页的面板端口里改,应答哪些网络在同一页的开放范围里定。面板是 HTTP,地址栏里写 https:// 永远连不上。

WARNING

同一个主机名后面挂两台中枢,会互相把对方踢下线。会话 cookie 只认主机名不认端口,所以登进第二台就等于从第一台上被登出。

两台就给两个主机名,或者一次只开一台的页面。

被锁在外面

登录页写着「多次失败后已锁定。」时:

bash
# 1. 重新放开登录,顺带清掉 fail2ban 上所有 SSH 封禁。
sudo nhub unlock

密码本身忘了:

bash
# 2. 设一个新的面板密码,所有会话都会被登出。
sudo nhub reset password

保险库主口令是另一把秘密,这里重置不到它,那件事在《备份与恢复》里。

设备离线

抽屉里的操作被拒绝,写着「这台机器没有响应,没有在它上面启动任何操作。」

bash
# 1. 在那台机器上:被控端起来了吗。应该是 active (running)。
systemctl status neutrino_agent

# 2. 它绑在谁上。应该是这台中枢的地址。
sudo nagent status

# 3. 别等它自己来,立刻要一次状态。
sudo nagent sync
界面上写着怎么修
那个被控端说的通道协议比这台 hub 旧,请升级它在抽屉里「重新安装被控端」
那个被控端的版本比这台 hub 新,请升级 hub先把中枢升上去
hub 没有出示这台机器所固定的证书中枢被重置或者重装过,用新链接重新接入
什么都没绑生成一条新链接,在机器上跑 sudo nagent connect '<链接>'

TIP

在一轮处理中途发出的停止,要等退避走完才生效。那是被控端自己的已知毛病,不是机器卡住了。

客户端连不上

先看窗口里那句拒绝,再对下面这张表。

拒绝怎么修
连接不上 hub从这里连不上中枢的通道端口 8443
hub 拒绝了这个链接,它可能已过期,请重新生成一个链接只有五分钟,重新生成一条
这不是加入链接,请从 hub 复制整行粘贴时被截断了
此链接是给设备 agent 的,不是给客户端的到「客户端」页生成,不是设备页
此链接不带 hub 地址和令牌同样是复制不全
应答的不是此链接固定的 hub中枢被重置或者重装过
hub 已关闭此客户端在客户端页把它启用
此客户端比 hub 新,请先升级 hub先升级中枢,再粘一条新链接
窗口需要 WebKitGTK 或者某个运行时按它给的包名装上,再启动客户端

共享挂不上

拒绝怎么修
请填家目录下的文件夹,例如 ~/nas/share路径在家目录之外
请填一个空闲盘符,例如 N:Windows 上要的是盘符,不是路径
那个文件夹不是空的换一个空的
这台机器上的挂载未获授权polkit 的弹窗被关掉了,再点一次挂载
这台机器上缺少挂载工具装上 cifs 那套工具
保存的登录信息已丢失,请用配置重新填写点「配置」把共享的用户名和密码重填一遍
那一行是灰的,写着当前无法访问提供共享的机器关着,或者开放范围里没有这个网络

客户端唯一一次提权就是那个挂载用的 polkit 助手,除此之外它从不是 root。

AI 工具不走网关

bash
# 1. 这个人的工具指向哪里。应该是中枢的端点。
nclient service ai show

# 2. 网关应答吗。应该回一个模型列表,而不是一句拒绝。
curl -s http://<hub>:8317/v1/models -H 'Authorization: Bearer PLACEHOLDER_CLIENT_KEY'
症状怎么修
hub 还没有给你密钥在 AI 页的接入里生成一把,或者把客户端重新接一次
面板写「网关没有应答,无法向它查询。」在中枢上看 systemctl status neutrino_hub_cliproxyapi
工具还在用它们自己的配置配置框里的保存只是暂存,要按「应用」
某台机器指着旧端口网关端口改过,每个端点都要跟着改

虚拟网里少一个节点

引擎检查怎么修
NetBird标记写着管理面不可达在代理页打开让这台机器自己的流量走代理
NetBird节点表是空的在另一台设备上用 NetBird 应用登录
NetBird路由通告了但访问不到那个网段在控制台里还缺一条访问控制策略
EasyTier写着还没有机器加入另一台机器的网络名字和密码必须完全一致
EasyTier加进来了但路由不通把网段加进导出的局域网再应用一次
两者这台机器在虚拟网上哪儿都不应答「网络」页的开放范围

换一把密码就是换了一张网。引擎不会有任何提示,节点表就是一直空着。

日志

要看什么在哪
初始化那一次的过程/var/log/neutrino/setup.log
中枢自己的日志/var/log/neutrino/
某个单元journalctl -u neutrino_hub_web -n 200
某台机器上的被控端journalctl -u neutrino_agent -n 200
AI 网关,在面板里AI 页的日志一栏
渲染出来会是什么样sudo nhub apply --dry-run

面板上的单元名依次是 neutrino_hub_xrayneutrino_hub_routerneutrino_hub_dnsmasqneutrino_hub_webneutrino_hub_cliproxyapi 这五个核心单元,加上可选的 neutrino_hub_netbirdneutrino_hub_easytier,机器上的被控端是 neutrino_agent。按接口起的那几个是模板单元,写成 neutrino_hub_dhcpcd@<网口>.service 这样。

至此,八种症状就都介绍完了。

Neutrino · 个人开发基础设施