在 SONiC 上安装和配置 cRPD
本节介绍如何在瞻博网络的 QFX5210 和 QFX5200 交换机上运行云中开放式网络 (SONiC) 网络操作系统上将 cRPD 加载并配置为路由堆栈。
如果在 QFX5210 和 QFX5200 交换机上安装 SONiC,请参阅在瞻博网络 QFX5210 和 QFX5200 交换机上安装和升级 SONiC
如何在 SONiC 上加载和启动 cRPD
要加载 SONiC 上的 cRPD 软件包,您需要:
-
https://support.juniper.net/support/downloads/ 从瞻博网络的软件下载页面下载 cRPD 软件包。例如,cRPD 软件包文件名是 junos-routing-crpd-docker-20.3R1.8.tgz
使用 scp 或 sftp 文件传输协议将 cRPD 软件包传输到 QFX5210 或 QFX5200 交换机。
以下部分介绍如何在 SONiC 上为 QFX5210 或 QFX5200 交换机加载和启动 cRPD:
将 cRPD 映像加载到 Docker 中
要将 cRPD 映像加载到 docker 中,请使用 docker load -i junos-routing-crpd-docker-20.3R1.8.tgz
如下所示的命令:
user@host:~$ docker load -i junos-routing-crpd-docker-20.3R1.8.tgz b187ff70b2e4: Loading layer [==================================================>] 65.58MB/65.58MB 5930c9e5703f: Loading layer [==================================================>] 991.7kB/991.7kB c64c52ea2c16: Loading layer [==================================================>] 15.87kB/15.87kB ddc500d84994: Loading layer [==================================================>] 3.072kB/3.072kB f76668b91ed5: Loading layer [==================================================>] 40.84MB/40.84MB cefbbbf6a84d: Loading layer [==================================================>] 7.68kB/7.68kB 19ed2664dd77: Loading layer [==================================================>] 134.5MB/134.5MB 2f362bdab81b: Loading layer [==================================================>] 13.82kB/13.82kB 0d625ccfa452: Loading layer [==================================================>] 3.072kB/3.072kB 75f1d83621fc: Loading layer [==================================================>] 3.584kB/3.584kB bba7d2bacea8: Loading layer [==================================================>] 3.584kB/3.584kB 911181312301: Loading layer [==================================================>] 3.584kB/3.584kB 98175a8ad5cb: Loading layer [==================================================>] 3.584kB/3.584kB a113daea3487: Loading layer [==================================================>] 3.584kB/3.584kB b224ed0cc92d: Loading layer [==================================================>] 3.584kB/3.584kB 48db2eb5713d: Loading layer [==================================================>] 3.584kB/3.584kB 1f620dc1de46: Loading layer [==================================================>] 2.56kB/2.56kB b9722b673d30: Loading layer [==================================================>] 30.72kB/30.72kB cc8250623a79: Loading layer [==================================================>] 6.656kB/6.656kB 5d3819eaf658: Loading layer [==================================================>] 3.584kB/3.584kB e7ffff983953: Loading layer [==================================================>] 4.096kB/4.096kB 4054102bacd4: Loading layer [==================================================>] 4.096kB/4.096kB 9479c967844e: Loading layer [==================================================>] 4.096kB/4.096kB 91a4575e8d76: Loading layer [==================================================>] 4.096kB/4.096kB d0aba2dd0145: Loading layer [==================================================>] 4.096kB/4.096kB 25bb582cc7dc: Loading layer [==================================================>] 22.53kB/22.53kB Loaded image: crpd:20.3R1.8 user@host:~$
验证 cRPD 映像加载是否正确
要验证 cRPD 映像是否正确加载,请使用 docker images
命令,如下所示:
user@host:~$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE crpd 21.2R1.10 f9b634369718 Less than a second ago 374MB docker-fpm-frr HEAD.0-dirty-20201027.160709 94d35b3d6ff8 Less than a second ago 335MB docker-fpm-frr latest 94d35b3d6ff8 Less than a second ago 335MB docker-syncd-brcm HEAD.0-dirty-20201027.160709 ef2f75e9156b Less than a second ago 436MB docker-syncd-brcm latest ef2f75e9156b Less than a second ago 436MB docker-router-advertiser HEAD.0-dirty-20201027.160709 d32efd117a97 Less than a second ago 289MB docker-router-advertiser latest d32efd117a97 Less than a second ago 289MB docker-sonic-mgmt-framework HEAD.0-dirty-20201027.160709 b6ebafc68f18 Less than a second ago 431MB docker-sonic-mgmt-framework latest b6ebafc68f18 Less than a second ago 431MB docker-platform-monitor HEAD.0-dirty-20201027.160709 ce3c952de93d Less than a second ago 357MB docker-platform-monitor latest ce3c952de93d Less than a second ago 357MB docker-sflow HEAD.0-dirty-20201027.160709 05278fdd0019 Less than a second ago 315MB docker-sflow latest 05278fdd0019 Less than a second ago 315MB docker-lldp-sv2 HEAD.0-dirty-20201027.160709 7f54d84f2da7 Less than a second ago 312MB docker-lldp-sv2 latest 7f54d84f2da7 Less than a second ago 312MB docker-dhcp-relay HEAD.0-dirty-20201027.160709 f86f0bce3b09 Less than a second ago 299MB docker-dhcp-relay latest f86f0bce3b09 Less than a second ago 299MB docker-database HEAD.0-dirty-20201027.160709 6daa6a1df857 Less than a second ago 289MB docker-database latest 6daa6a1df857 Less than a second ago 289MB docker-teamd HEAD.0-dirty-20201027.160709 7596d1a2c302 Less than a second ago 315MB docker-teamd latest 7596d1a2c302 Less than a second ago 315MB docker-snmp-sv2 HEAD.0-dirty-20201027.160709 c258dfe91775 Less than a second ago 348MB docker-snmp-sv2 latest c258dfe91775 Less than a second ago 348MB docker-orchagent HEAD.0-dirty-20201027.160709 3d602bee0ecb Less than a second ago 333MB docker-orchagent latest 3d602bee0ecb Less than a second ago 333MB docker-nat HEAD.0-dirty-20201027.160709 0e29ba4560e9 Less than a second ago 316MB docker-nat latest 0e29ba4560e9 Less than a second ago 316MB docker-sonic-telemetry HEAD.0-dirty-20201027.160709 521590e31e7d Less than a second ago 353MB docker-sonic-telemetry latest 521590e31e7d Less than a second ago 353MB user@host:~$
创建并启动 cRPD 容器
本节介绍如何创建、启动和访问 cRPD 容器。
要创建 cRPD 容器,请使用 docker create --name crpd -h crpd --net=host --privileged -it crpd:20.3R1.8 b7444647abb7977e0b7eaa884ace8b47bab3632ff2f3f67091d9734a58fa686b
命令,如下所示:
user@host:~$ docker create --name crpd -h crpd --net=host --privileged -it crpd:20.3R1.8 b7444647abb7977e0b7eaa884ace8b47bab3632ff2f3f67091d9734a58fa686b user@host:~$
您需要通过运行命令,在 BGP 容器上停止 zebra
并 bgpd
守护 docker exec bgp supervisorctl stop zebra bgpd
程序,如下所示:
user@host:~$ docker exec bgp supervisorctl stop zebra bgpd zebra: stopped bgpd: stopped user@host:~$
要启动 cRPD 容器,请使用 docker start crpd
命令,如下所示:
user@host:~$ docker start crpd crpd user@host:~$
要访问 cRPD 容器,请使用 docker exec -it crpd
命令,如下所示:
user@host:~$ docker exec -it crpd cli root@crpd>
启用与 fpm 同步的 RPD 连接
要启用与 fpmsyncd 的 RPD 连接,您需要进入配置模式并在 [edit routing-options forwarding-table
] 层次结构级别启用fib-agent
,如下所示:
root@crpd> configure Entering configuration mode [edit] root@crpd# set routing-options forwarding-table fib-agent [edit] root@crpd# commit and-quit commit complete Exiting configuration mode root@crpd>
cRPD 启动并运行后,您可以从 cRPD CLI 配置 BGP。以下是 BGP 配置示例:
user@host:~$ docker exec -it crpd cli root@crpd> configure Entering configuration mode root@crpd# show protocols bgp { group EBGPv4 { type external; neighbor 192.168.1.2 { description <neighbor_description>; local-address 192.168.1.4; peer-as 65000; } } }