简介
本文档介绍Acano或思科会议服务器(CMS)上的IP路由规则。Acano或CMS服务器可以配置多个接口,每个接口都有自己的默认网关。
先决条件
要求
Cisco 建议您了解以下主题:
- CMS组件:
- WebBridge(WB)
- 在NAT(TURN)服务器周围使用中继的穿越
- CallBridge(CB)
- 基本 IP 路由
使用的组件
本文档中的信息基于2.3.x版的Cisco Meeting Server。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
背景信息
此处唯一的限制是4端口交换机上的不同接口需要位于不同的子网中,否则您的设置可能会出现路由问题。例外情况是,具有管理接口的硬件X服务器允许此管理接口与其他接口(A/B/C/D)位于同一子网中,如CMS安装指南中所述,并如本说明所示。
注意:Cisco会议服务器的任意两个接口不得放入同一子网。唯一的例外是,物理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系列服务器的代码段,您可以在其中看到mmp部分的ipv4下,而不是显示其他接口的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为默认接口。
您可以使用此映像上突出显示的默认参数在接口上验证这一点:
这是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的Binding和Allocate Requests也会得到响应,因为它们位于同一子网(边缘接口A和核心接口A)中,或者因为没有设置静态路由,而只是通过默认接口(本例中是接口A)发送出去。
- 对于外部Binding和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
turn disable
转过听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
验证
当前没有可用于此配置的验证过程。
故障排除
当前没有可用于此配置的特定故障排除信息。
相关信息