AirlockDocumentation
文档中心
GitHub ↗

Server Core 部署

在 Linux 服务器上以独立服务账号运行 airlockd,用 airlock CLI 管理固定路由,可选的 Web UI 仅 loopback 且脱敏。

01

服务账号与目录

准备账号、目录与 token
sudo useradd --system --create-home --shell /usr/sbin/nologin airlock
sudo install -d -o airlock -g airlock -m 0700 /var/lib/airlock /etc/airlock
sudo -u airlock /usr/local/bin/airlock token generate --output /etc/airlock/control.token
sudo -u airlock /usr/local/bin/airlock token generate --output /etc/airlock/web.token

control token 与 web token 分开存放;两者都是 0600 文件,任何 Secret 都不得写入命令行。

02

获取二进制

从仓库构建(Go 1.25+),或从 Release 的 core-kit 归档获取当前架构二进制:

构建
git clone https://github.com/LouisonH/airlock-relay.git
cd airlock-relay
go build -trimpath -o ./bin/airlockd ./cmd/airlockd
go build -trimpath -o ./bin/airlock ./cmd/airlock
sudo install -m 0755 ./bin/airlockd /usr/local/bin/airlockd
sudo install -m 0755 ./bin/airlock /usr/local/bin/airlock
03

启动核心与 Web UI

前台验证
sudo -u airlock /usr/local/bin/airlockd --mode server \
  --data-dir /var/lib/airlock \
  --control-token-file /etc/airlock/control.token \
  --listen 127.0.0.1:4768 --ssh-listen 127.0.0.1:4770 \
  --web-listen 127.0.0.1:4769 --web-token-file /etc/airlock/web.token

确认 airlock status 正常后再配置 systemd。

04

systemd 服务

复制仓库中的 deploy/systemd/airlock.service.example/etc/systemd/system/airlock.service,按注释填写 token 与监听参数,然后:

启用
sudo systemctl daemon-reload
sudo systemctl enable --now airlock
sudo systemctl status airlock

服务应以 airlock 非登录账号运行,ProtectSystem/PrivateTmp 等加固项已包含在示例单元中。

05

Web UI 远程管理

Web UI 只监听 loopback,使用独立 bearer token,可查看脱敏状态、健康检查、启停路由与全停;不能创建/删除路由或查看 Secret。远程访问使用 SSH 隧道:

运维工作站
ssh -L 4769:127.0.0.1:4769 operator@example-server

然后打开 http://127.0.0.1:4769,token 保存在标签页级 sessionStorage

06

升级与备份

升级前:停止服务 → 离线备份 /var/lib/airlock 与两个 token 文件 → 替换二进制 → 启动 → status + 关键路由 routes health。备份按 Secret 处理。

已复制