81 lines
2.2 KiB
Markdown
81 lines
2.2 KiB
Markdown
# BIRD 最小化 RTR 客户端配置
|
||
|
||
本目录提供最小化 BIRD 配置,用于与本仓库 RTR Server 做黑盒互通测试。
|
||
|
||
本仓库默认 RTR 监听地址:
|
||
- TCP: `0.0.0.0:323`
|
||
- SSH: `0.0.0.0:22`(仅在 server SSH 模式启用时)
|
||
|
||
## 文件说明
|
||
|
||
- `Dockerfile`: 构建最小 BIRD 运行镜像(包含 SSH transport 支持)。
|
||
- `bird.conf.example`: `/etc/bird/bird.conf` 的 TCP 示例。
|
||
- `bird.conf.ssh.example`: `/etc/bird/bird.conf` 的 SSH transport 示例。
|
||
- `entrypoint.sh`: 前台启动 BIRD,并周期输出协议快照。
|
||
- `docker-compose.yml`: TCP 一键启动。
|
||
- `docker-compose.ssh.yml`: SSH 覆盖配置。
|
||
|
||
容器默认每 30 秒向日志输出一次 RPKI 协议状态快照。
|
||
|
||
## Docker 快速启动(TCP)
|
||
|
||
在仓库根目录执行:
|
||
|
||
```bash
|
||
docker compose -f deploy/bird/docker-compose.yml up --build
|
||
```
|
||
|
||
另开终端查看日志:
|
||
|
||
```bash
|
||
docker logs -f bird-rpki-client
|
||
```
|
||
|
||
如果协议状态显示 `up`,说明 RTR 客户端链路正常。
|
||
|
||
后台模式:
|
||
|
||
```bash
|
||
docker compose -f deploy/bird/docker-compose.yml up -d --build
|
||
docker logs -f bird-rpki-client
|
||
```
|
||
|
||
停止:
|
||
|
||
```bash
|
||
docker compose -f deploy/bird/docker-compose.yml down
|
||
```
|
||
|
||
## SSH 快速启动
|
||
|
||
先启动 server 的 SSH 模式:
|
||
|
||
```bash
|
||
docker compose -f deploy/server/docker-compose.ssh.yml up -d --build
|
||
```
|
||
|
||
再启动 BIRD SSH 客户端:
|
||
|
||
```bash
|
||
docker compose \
|
||
-f deploy/bird/docker-compose.yml \
|
||
-f deploy/bird/docker-compose.ssh.yml \
|
||
up --build
|
||
```
|
||
|
||
查看日志:
|
||
|
||
```bash
|
||
docker logs -f bird-rpki-client
|
||
```
|
||
|
||
## 说明
|
||
|
||
- 当前 compose 使用 `network_mode: host`,默认通过 `host.docker.internal` 访问 server。
|
||
- 观测频率由环境变量控制:`OBSERVE_INTERVAL`(秒,默认 `30`)和 `OBSERVE_PROTO`。
|
||
- SSH 模式会将 `../../certs` 挂载到容器 `/config/ssh`,并使用:
|
||
`bird-rtr-client.pem`、`ssh_host_rsa_key.pub`。
|
||
- 入口脚本会基于 `/config/ssh/ssh_host_rsa_key.pub` 自动生成
|
||
`/run/bird/known_hosts`,用于 BIRD 的 SSH 主机密钥校验。
|
||
- 如果你运行在 Docker Desktop(非 Linux 原生 host network 场景),建议改为自定义 bridge 网络并将 `remote` 地址改成可达的 server 容器名或宿主机地址。
|