简介
本文档介绍Acano或思科Meeting Server (CMS)服务器上的IP路由规则。Acano或CMS服务器可以配置多个接口,每个接口都有自己的默认网关。
先决条件
要求
Cisco 建议您了解以下主题:
- CMS组件:
- WebBridge (WB)
- 使用中继绕过NAT (TURN)服务器进行遍历
- CallBridge (CB)
- 基本 IP 路由
使用的组件
本文档中的信息基于2.3.x版的Cisco Meeting Server。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
背景信息
此处的唯一限制是4端口交换机上的不同接口需要位于不同的子网中,否则您的设置可能会出现路由问题。一种例外情况是,允许具有管理员接口的硬件X服务器让此ADMIN接口与其他接口之一(A/B/C/D)位于同一子网中,如CMS安装指南中所述及本备注所示。
注意:不得将思科Meeting Server的任何两个接口放入同一子网。唯一的例外是,物理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文件中的映射到eth4的相应接口(A)的路由。
"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接口位于ipv4下的mmp部分中,而不是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)上发送出去。
- 对于外部绑定和分配请求,它没有任何静态路由,因此使用默认接口A将数据流路由出去(这导致无法到达外部客户端)。
解决方案:
- 在边缘服务器上添加接口B,并将接口A用于内部WB连接(以及LB),将接口B用于内部TURN服务器连接(为了避免443上的端口冲突用于TURN和WB)。使用MMP上的下一命令配置此配置(并相应地更正您的Callbridge上的TURN配置,以使用接口B的新serverAddress)。
ipv4 b add <IP地址>/<前缀长度> <默认网关>
ipv4 b enable
turn disable
转接listen d b
启用
- 使用下列命令添加静态路由,将流量从边缘服务器路由到内部核心服务器:
ipv4 b route add <地址>/<前缀长度>
注意:由于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 default
验证
当前没有可用于此配置的验证过程。
故障排除
当前没有可用于此配置的特定故障排除信息。
相关信息