Citrix ADC BGP 動態路由介紹

2022 October 24

1、動態路由概述


當動態路由在 ADC 上啟用之後,Citrix ADC 會啟用對應的路由進程監視更新和通告的路由條目。動態路由式通訊協定使得前端交換機能夠使用 ECMP 技術,針對同一個 VIP 位址,將流量負載均衡到兩台獨立的Citrix ADC 設備上。

基於Citrix ADC的架構設計,Citrix ADC 上的動態路由會涉及到 3 張路由表。在下面會詳細進行描述。

Citrix ADC 高級版支援如下的動態路由式通訊協定:RIP, OSPF, BGP, RIPng for IPv6, OSPF for IPv6 和ISIS.


2Citrix ADC路由表

在Citrix ADC上,有三張路由表,分別是:
1)NS Kernel Routing Table
2)FreeBSD Routing Table
3)NSM FIB Routing Table

Citrix 架構上,需要通過相應的路由表實現不同的目的。這三張路由表可以互相進行通告,但默認不是自動啟用的,需要通過手工配置,方可生效。

2.1       NS Kernel Routing Table

該路由表包括涉及NSIP, SNIP, Loopback 以及 Static Routes, VIP 的路由通常不被包括在內,因為 VIP 預設是 /32 的主機路由。這些路由在 ADC 設備上可以通過 show routes 獲取到,如下圖:

2.2       FreeBSD Routing Table

FreeBSD路由表的唯一目的是方便管理流量(telnet、ssh等)的啟動和終止。在 Citrix ADC 設備中,這些應用程式與 FreeBSD 緊密耦合,對於 FreeBSD 來說,必須有必要的資訊來處理進出這些應用程式的流量。該路由表包含到 NSIP 子網的路由和缺省路由。此外,當 Citrix ADC 建立到本地網路主機的連接時,FreeBSD 會添加 wascloned(W) 類型的路由。由於這個路由表中的條目具有高度專門化的實用功能,所以來自 NS 內核和 NSM FIB 路由表的所有其他路由更新都繞過 FreeBSD 路由表。不要使用 route 命令修改。可以在任何UNIX shell 中使用 netstat 命令檢查 FreeBSD 路由表。可以簡單理解為,Citrix Kernel 的底層 FreeBSD 路由,因此保持預設即可,無須關注!

2.3       NSM FIB Routing Table

由於 Citrix ADC 在引入動態路由功能時,實際上是引入了 ZebOS 的功能模組,因此所有涉及到 ZebOS 的路由條目,都會在 NSM FIB Routing Table 裡面。這也是動態路由場景中和 NS Kernel 路由密切交互的路由表。由於是引入的 ZebOS 模組,因此在 GUI 裡面是無法進行配置的,ZebOS 模組必須通過 vtysh 命令列進入然後配置,他所涉及的路由表可以這樣看到:

3       BGP動態路由對接實例


下面我們通過一台 Citrix ADC VPX 和 MikroTik ROS 路由器對接,來瞭解 Citrix ADC 動態路由的配置方法。 拓撲圖如下:

3.1      開啟NS BGP動態路由功能

enable ns feature BGP

3.2     開啟SNIP 動態路由

set ns ip 192.168.50.186 -dynamicRouting EnABLED

注意: 同一個 SNIP 子網,只需要打開一個 SNIP 的 Dynamic Routing 功能,那麼該子網內所有的 SNIP 皆開啟動態路由功能。如下圖:僅需要打開一個同網段 SNIP 的 Dynamic Routing 功能即可

3.3      配置ZebOS BGP,查看狀態

3.3.1       Citrix ADC BGP配置

ns route-install bgp // 把ZebOS OSPF路由條目宣告到NS Kernel !
router bgp 65531redistribute kernel // 把NS Kernel 內的路由宣告到 ZebOS 中
neighbor 192.168.50.172 remote-as 65530
neighbor 192.168.50.172 as-origination-interval 1 //
neighbor 192.168.50.172 advertisement-interval 0 // 通過黃色兩條命令, 快速更新 BGP 條目以通知對端

查看 BGP 鄰居狀態

3.3.2       ROS配置

BGP鄰居狀態

3.4      宣告子網

在進行Citrix ADC 子網宣告時,很多會用到SNIP和VIP子網的宣告,具體如下:

如上圖所示,我有192.168.50.186 SNIP和192.168.50.181 VIP兩個子網需要宣告,具體操作如下:
set ns ip 192.168.50.186 -networkRoute ENABLED

說明:-networkRoute ENABLED: 將SNIP所在網段宣告到動態路由中

set ns ip 192.168.50.181 -hostRoute ENABLED

說明:-hostRoute ENABLED:將VIP位址注入到動態路由式通訊協定中

這樣ROS BGP鄰居上就能看到相關的路由資訊,如下:

返回