簡介
本檔案介紹Acano或思科會議伺服器(CMS)上的IP路由規則。Acano或CMS伺服器可以配置多個介面,每個介面都有自己的預設網關。
必要條件
需求
思科建議您瞭解以下主題:
- CMS元件:
- WebBridge(WEB)
- 在NAT(TURN)伺服器周圍使用中繼的遍歷
- CallBridge(CB)
- 基本IP路由
採用元件
本檔案中的資訊是根據2.3.x版中的思科會議伺服器。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
背景資訊
此處唯一的限制是4埠交換機上的不同介面需要位於不同的子網中,否則您的設定最終可能會出現路由問題。例外情況是,具有管理介面的硬體X伺服器允許此管理介面與其他介面(A/B/C/D)位於同一子網中,如CMS安裝指南中所述,並在本說明中顯示。
附註:不得將思科會議伺服器的任意兩個介面置於同一個子網中。唯一的例外是,物理Acano X系列伺服器的ADMIN介面可以與其他介面(A到D)位於同一子網中,並且可能是常見部署。
例如,當您在TURN伺服器元件上接收「繫結請求」時,需要知道路由邏輯,以便驗證響應是從哪個介面發出的。
哪些IP路由規則適用於Acano/CMS伺服器?
IP路由邏輯取決於連線在本質上是使用者資料包協定(UDP)還是傳輸控制協定(TCP)。
對於TCP,無論是新連線還是對入站連線的回覆,您都可以使用圖中的流程圖瞭解哪個IP路由邏輯適用於您的案例。
入站TCP連線應答
Acano/CMS伺服器在接收請求的介面上回覆入站TCP連線(因為已經存在TCP連線)。
出站TCP連線或任何出站UDP資料包
對於這兩種方案,按照此流程圖遵循這些IP路由規則(以及入站TCP連線應答的第一步)。
附註:該邏輯適用於建立新的出站UDP資料包,或者適用於為響應收到的資料包而發出的資料包。
如何顯示所有IP路由表(每個介面)?
在主機板管理處理器(MMP)上使用ipv4 <interface>命令。
藉此您可以看到已設定的IP位址和首碼長度,以及為此介面設定的所有靜態路由,如下圖所示。
例如,此處將指向8.8.8.8/32和8.8.4.4/32的路由設定為在此特定介面(a)上顯式出站:
您還可以看到在live.json檔案中為對應介面(A)新增的路由,該介面對映到eth4。
"ipv4": {
"module": {
"interfaces": {
"eth4": {
"dhcp": "false",
"enabled": "true",
"default": "true",
"macaddress": "00:50:56:99:5A:5B",
"address": "10.48.54.160",
"prefixlen": "24",
"gateway": "10.48.54.200",
"routes": {
"8=8=8=8-32": {
"address": "8.8.8.8",
"prefixlen": "32"
},
"8=8=4=4-32": {
"address": "8.8.4.4",
"prefixlen": "32"
}
}
附註:在live.json檔案中,介面A-D(從MMP)對映到eth4-eth1,因此介面A對映到eth4,介面D對映到eth1。另一個片段是X系列伺服器的一個片段,從中可以看到ADMIN介面位於mmpipv4下的部分中,而不是如其他介面所示module。
"ipv4": {
"mmp": {
"interfaces": {
"eth0": {
"macaddress": "44:4A:65:00:13:00",
"dhcp": "false",
"enabled": "true",
"default": "true",
"address": "10.48.79.72",
"prefixlen": "24",
"gateway": "10.48.79.200"
}
若要將靜態路由新增或刪除到特定介面,可以使用命令ipv4 <interface> route(add | del)<address>/<prefix length>。
如何檢查並變更預設介面?
如果從空白配置開始,預設情況下介面A是預設介面。
您可以在介面上使用default引數驗證此情況,如下圖所示:
這是MMP上命令ipv4 <interface>的輸出。
附註:如果將此值設定為true,則此介面為預設介面(如圖所示)。
您還可以從live.json中看到介面A(對映到eth4)是否已設定為預設介面。
"ipv4": {
"module": {
"interfaces": {
"eth4": {
"dhcp": "false",
"enabled": "true",
"default": "true",
"macaddress": "00:50:56:99:5A:5B",
"address": "10.48.54.160",
"prefixlen": "24",
"gateway": "10.48.54.200",
"routes": {
"8=8=8=8-32": {
"address": "8.8.8.8",
"prefixlen": "32"
},
"8=8=4=4-32": {
"address": "8.8.4.4",
"prefixlen": "32"
若要變更預設介面,可以使用命令ipv4 <interface> default,但請確保您具有適當的靜態路由來適應此變更,否則路由會受到影響。
範例:
該圖顯示了一個單拆分伺服器設定的示例,該伺服器具有一個核心伺服器和一個邊緣伺服器,具有以下要求:
- 核心伺服器只能連線到DMZ介面(A),不能連線到公共介面(C & D)。
- TURN伺服器元件需要像WebBridge一樣偵聽443(因此需要不同的介面以避免埠衝突)。
在本示例中,未設定任何特殊路由,也未指定其他預設介面,因此預設使用邊緣伺服器上的介面A。
情況:
- WebRTC客戶端可以登入,但呼叫失敗
- 從CB到TURN服務器的繫結和分配請求確實會得到成功響應
- 將外部WebRTC客戶端的請求繫結並分配到TURN伺服器到達但無法獲得成功響應
說明:
- 由於WB和負載均衡器(LB)僅響應入站TCP連線,而不自己啟動出站TCP連線,因此此路由不會出現問題。
附註:由於兩個服務位於同一伺服器上,因此WB仍然可以建立到LB的出站連線,但這是內部進行的。
- 此外,從CB到TURN伺服器DMZ IP的繫結和分配請求確實會得到響應,因為它們位於同一個子網中(邊緣介面A和核心介面A),或者是因為沒有設定靜態路由,而它只是在預設介面(本例中是介面A)上發出請求。
- 對於外部繫結和Allocate Requests,它沒有任何靜態路由,因此使用預設介面A將流量路由出去(這導致無法到達外部客戶端)。
解決方案:
- 在邊緣伺服器上新增介面B,並將介面A用於內部WB連線(以及LB),將介面B用於內部TURN伺服器連線(避免443上的埠衝突用於TURN和WB)。 使用MMP上的下一個命令配置此配置(並相應地更正介面B的新serverAddress的callbridge上的TURN配置)。
ipv4 b add <IP-address>/<prefix length> <default-gateway>
ipv4 b enable
關閉禁用
轉過身去,聽d b
啟用
- 使用以下命令新增靜態路由,將流量從邊緣伺服器路由到內部核心伺服器:
ipv4 b route add <address>/<prefix length>
附註:由於LB和WB僅對傳入TCP連線作出回應,因此您只需為TURN的UDP封包設定路由,便可在介面B上完成。此外,請確保介面B上的閘道當然可以將其路由到CB。
例如,如果核心伺服器的IP地址為192.168.0.100/24,則命令必須是ipv4 b route add 192.168.0.100/24 或ipv4 b route add 192.168.0.100/32。
- 將外部TURN伺服器介面(D)設為流量的預設介面。
ipv4 d預設值
驗證
目前沒有適用於此組態的驗證程序。
疑難排解
目前尚無適用於此組態的具體疑難排解資訊。
相關資訊