命令行参考

celium 自己不持有节点密钥;组网命令通过本地 socket 驱动守护进程 celiumdcelium update 是例外:它通过 APT 升级安装包,必要时请求 sudo 权限。

常用命令#

celium up#

让本机加入网络并保持运行。这是最常用的命令。

bash
celium up                                         # 默认连接 login.celium.cn,浏览器里授权
celium up --advertise-exit-node --advertise-routes=192.168.1.0/24
celium up --advertise-routes=10.0.0.0/8 --accept-routes       # 作为子网路由 / 接受别人的路由
celium up --exit-node=gateway                                 # 经某台机器上网
参数说明
--control-url自建协调服务器地址;不提供时默认使用 login.celium.cn
--control-key自建协调服务器控制公钥;官方服务的公钥已内置
--trust-server-info首次接触时接受服务器自述的公钥,并把 pin 的内容打印出来供你核对
--auth-key用节点密钥入网(无人值守场景)
--hostname本机在网内的名字
--advertise-routes把哪些网段提供给全网(逗号分隔的 CIDR)
--advertise-exit-node把本机作为出口节点
--exit-node使用某台机器作为出口
--accept-routes接受其他机器提供的子网路由
--shields-up拒绝一切入站,无论策略如何
--tunauto / tun / userspace
--timeout等待进入 Running 的时间(默认 30s)

celium status#

查看本机与每一台对端的状态,排障的第一站。

bash
celium status              # 全部信息
celium status --peers      # 只看对端表格
celium status --json | jq  # 给脚本用

输出的 PATH 列(direct / relay)表示当前实际路径,RX/TX 是 WireGuard 会话的字节数——连接着但没有流量时显示 0 是正常的。

celium ping <目标>#

测量到某台对端的连通性与路径。目标可以是名字、虚拟地址或节点 ID。

bash
celium ping db-1
# attempt 1: 0.62ms via direct 198.51.100.7:41641 (100.64.0.12)

它走的是发现协议而不是 ICMP,所以在隧道本身有问题时依然能告诉你路径状况——这正是排障时需要的信息。若对端名字不存在,它会快速失败并提示用 celium status 里的名字,而不是一直等到超时。

celium netcheck#

检查本机的网络环境:出方向 UDP 是否可用、NAT 类型、观察到的公网地址、到各个中继区域的延迟。

bash
celium netcheck

如果这里显示"无法直连",那么所有对端都会走中继——功能正常,只是多一跳。

celium login / celium logout#

bash
celium login --username=alice                                            # 默认服务器,登录并保存会话
celium login --register --invite=<邀请码> --username=bob                   # 凭邀请码注册
celium login                                                              # 不带参数:我是谁
celium logout                                                             # 退出并清掉本地会话

会话令牌保存在状态目录(0600),只用于管理操作:签发节点密钥、查看自己的机器、邀请他人。数据面认证用的是节点密钥与机器密钥,所以会话过期不影响已经入网的机器继续工作。

celium invite#

邀请别人加入这张网(没有第三方身份服务,这是部署扩张的唯一方式)。

bash
celium invite --note="给 bob"          # 默认一次性
celium invite --uses=5 --expires=72h   # 多次、限时

输出会带上对方要执行的完整命令,直接转发即可。

其他#

命令说明
celium down停止本机节点(保持注册状态)
celium proxy用户态模式下显示本地代理地址
celium version版本与构建信息
celium updateLinux 上手动刷新 APT 并只升级 Celium 安装包
celium bug-report收集排障信息(会隐去密钥

守护进程 celiumd#

bash
sudo celiumd                                  # 默认:创建真实接口
celiumd --tun=userspace --userspace-proxy=127.0.0.1:1080
celiumd --statedir=/var/lib/celium --socket=/run/celiumd.sock --verbose
参数说明
--statedir状态目录(密钥、偏好、会话)
--socket本地 API 的 socket 路径
--tunauto(root 用真实接口)/ tun / userspace
--userspace-proxy用户态模式下本地代理监听地址
--port隧道用的 UDP 端口(默认 41641)
--verbose打印全部内部事件

环境变量#

变量作用
TS_DEBUG_NEVER_DIRECT_UDP=1强制只走中继(用于验证中继路径;进程级,影响本进程的所有节点)

退出码#

命令成功返回 0;失败返回非 0 并把原因写到标准错误。--json 输出始终是单个 JSON 文档,提示信息一律走标准错误,因此可以直接管道给 jq