命令行参考
celium 自己不持有节点密钥;组网命令通过本地 socket 驱动守护进程 celiumd。celium 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 | 拒绝一切入站,无论策略如何 |
--tun | auto / 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 update | Linux 上手动刷新 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 路径 |
--tun | auto(root 用真实接口)/ tun / userspace |
--userspace-proxy | 用户态模式下本地代理监听地址 |
--port | 隧道用的 UDP 端口(默认 41641) |
--verbose | 打印全部内部事件 |
环境变量#
| 变量 | 作用 |
|---|---|
TS_DEBUG_NEVER_DIRECT_UDP=1 | 强制只走中继(用于验证中继路径;进程级,影响本进程的所有节点) |
退出码#
命令成功返回 0;失败返回非 0 并把原因写到标准错误。--json 输出始终是单个 JSON 文档,提示信息一律走标准错误,因此可以直接管道给 jq。