72 lines
2.0 KiB
Markdown
72 lines
2.0 KiB
Markdown
# FRR 最小化 RTR 客户端配置
|
||
|
||
本目录提供一个 FRR 最小配置,用于和本仓库 RTR Server 做黑盒互通测试。
|
||
|
||
本仓库默认 RTR 监听地址:
|
||
- TCP:`0.0.0.0:323`
|
||
- TLS:`0.0.0.0:324`
|
||
|
||
参考实现:
|
||
- `src/main.rs`
|
||
|
||
## 文件说明
|
||
|
||
- `daemons.example`:示例 `/etc/frr/daemons`
|
||
- `frr.conf.example`:示例 `/etc/frr/frr.conf`
|
||
|
||
## 在 FRR 主机上应用
|
||
|
||
1. 复制 `daemons.example` 到 `/etc/frr/daemons`
|
||
2. 复制 `frr.conf.example` 到 `/etc/frr/frr.conf`
|
||
3. 重启 FRR:
|
||
|
||
```bash
|
||
sudo systemctl restart frr
|
||
```
|
||
|
||
## 验证命令
|
||
|
||
```bash
|
||
vtysh -c "show rpki configuration"
|
||
vtysh -c "show rpki cache-server"
|
||
vtysh -c "show rpki cache-connection"
|
||
vtysh -c "show rpki prefix-table"
|
||
```
|
||
|
||
当 `show rpki cache-connection` 显示已连接,且 `show rpki prefix-table` 出现 VRP 时,说明 RTR 客户端链路工作正常。
|
||
|
||
## Docker 快速启动
|
||
|
||
在仓库根目录执行:
|
||
|
||
```bash
|
||
docker compose -f deploy/frr/docker-compose.yml up -d
|
||
docker exec -it frr-rpki-client vtysh -c "show rpki cache-connection"
|
||
docker exec -it frr-rpki-client vtysh -c "show rpki prefix-table"
|
||
```
|
||
|
||
停止:
|
||
|
||
```bash
|
||
docker compose -f deploy/frr/docker-compose.yml down
|
||
```
|
||
|
||
## 可测试范围
|
||
|
||
- FRR 作为 RTR Client 与本仓库 Server 的 TCP 建链能力
|
||
- FRR 侧基础会话状态可见性(`cache-server` / `cache-connection`)
|
||
- VRP 下发与导入是否成功(`prefix-table` 是否有条目)
|
||
- 基于服务端数据变化触发的前缀表更新(可通过替换 `data` 后观察)
|
||
- 黑盒互通回归:用于确认“路由器客户端视角”功能可用
|
||
|
||
## 不覆盖范围
|
||
|
||
- 不替代协议级单元测试/集成测试(PDU 细节、异常路径、边界条件)
|
||
- 不替代 `src/bin/rtr_debug_client` 的逐报文调试能力
|
||
- 默认示例以 TCP 为主,TLS/mTLS 需按你的证书与 FRR 配置单独扩展
|
||
|
||
## 说明
|
||
|
||
- 当前示例主要针对 RTR over TCP(`rpki cache tcp`)
|
||
- `network_mode: host` 模式下,容器内访问 `127.0.0.1:323` 指向 Docker Host,请确保本机 RTR Server 可达
|