如果设置了源地址,MPLS 网络上的 Adtran NetVanta 路由器只能到达其他 MPLS 站点

网络工程 路由 路由器 聚光灯
2021-07-05 18:39:19

我有一个 MPLS 网络,其中包含 5 个远程位置和 1544 台路由器、我们的中央办公室和我们的数据中心。所有来自远程位置的流量都从中心局路由出去,除非它出现故障,在这种情况下,一切都从数据中心连接路由出去。

如果我想从路由器 cli ping 公共互联网上的任何内容,我可以。如果我想在非本地 MPLS 网络上 ping/traceroute 任何东西,我必须用“源”给出命令,即,ping 10.0.1.11 source 10.5.0.1否则我什么也得不到。Netflow 工作正常,因为我可以将源定义为 eth 0/1。

默认路由是从 ppp MPLS 接口出去,10.5.0.0/23 网络内的任何人都没有任何问题可以到达他们需要的任何地方,包括数据中心的服务器,如果没有“源 10.5 .0.1”正在添加。

而且似乎没有任何方法可以为系统日志内容定义“源”。因此,远程站点的 adtrans 无法将其系统日志数据发送到系统日志服务器。

在我们取得所有权之前,这些路由器主要是由电信公司配置的,所以我不知道他们为什么这样做。例如,应该启用代理-arp 以使其正常工作吗?或者这会破坏这个配置中的其他东西吗?您是否看到其他可以解决此问题的方法?

路由表:

#sh ip route
Codes: C - connected, S - static, R - RIP, O - OSPF, B - BGP
       E1 - OSPF external type 1, E2 - OSPF external type 2
       IA - OSPF inter area

Gateway of last resort is 208.46.133.129 ppp 1

S    0.0.0.0/0 [1/1/0] via 208.46.133.129, ppp 1
C    10.5.0.0/23 is directly connected, eth 0/1
S    67.14.0.0/17 [1/1/0] via 208.46.133.129, ppp 1
S    67.14.128.0/19 [1/1/0] via 208.46.133.129, ppp 1
C    208.46.133.128/30 is directly connected, ppp 1
C    208.46.133.129/32 is directly connected, ppp 1

以下是来自五个远程路由器之一的配置的相关部分(它们在功能上都相同):

ip firewall
no ip firewall alg msn
no ip firewall alg mszone
no ip firewall alg h323
!
ip flow export destination 10.0.1.11 7003 source eth 0/1
ip flow export destination 10.0.1.2 9996 source eth 0/1
ip flow cache timeout active 5
ip flow top-talkers
!
no ethernet cfm
!
interface eth 0/1
  description desc LAN Block 10.5.0.0/23
  ip address  10.5.0.1  255.255.254.0
  no ip proxy-arp
  ip access-policy LAN
  ip flow ingress
  ip flow egress
  no shutdown
  no lldp send-and-receive
!
interface ppp 1
  description DS1NT
  ip address  y.y.133.130  255.255.255.252
  no rtp quality-monitoring
  ppp multilink interleave
  ppp multilink fragmentation
  ppp multilink
  no shutdown
  cross-connect 1 t1 1/1 1 ppp 1
  cross-connect 2 t1 1/2 1 ppp 1
!
ip access-list extended DATA-ACL
  permit ip 10.5.0.0 0.0.1.255  10.0.0.0 0.0.1.255
  permit ip 10.5.0.0 0.0.1.255  10.1.0.0 0.0.0.255
  permit ip 10.5.0.0 0.0.1.255  5.5.0.0 0.0.255.255
  permit ip 10.5.0.0 0.0.1.255  5.6.0.0 0.0.255.255
  deny   ip 10.5.0.0 0.0.1.255  10.0.0.0 0.255.255.255
  deny   ip 10.5.0.0 0.0.1.255  172.16.0.0 0.15.255.255
  deny   ip 10.5.0.0 0.0.1.255  192.168.0.0 0.0.255.255
  permit ip 10.5.0.0 0.0.1.255  any
!
ip policy-class LAN
  allow list DATA-ACL
!
ip route 0.0.0.0 0.0.0.0 208.46.133.129
ip route 5.6.0.0 255.255.224.0 10.1.0.1
ip route x.x.0.0 255.255.128.0 y.y.133.129
ip route x.x.128.0 255.255.224.0 y.y.133.129
3个回答

如果你不配置源地址并将数据包发送到10.0.1.11,它会通过默认路由路由,并且会自动从连接到默认GW(我怀疑是208.46.133.129)的接口获取源地址,但不是10.5 .0.1。网络配置中的某些内容(路由、ACL、IPSec 策略、MPLS 过滤器...)阻止了来自该地址的通信。

这是正常和预期的行为。

如果您每次都可以从任何路由器 ping 任何地方而无需采购,那将是一个真正的问题 - 这通常是“不,不”。

假设您是一个 IP 数据包头。如果不指定源 IP 地址,标题中的“源 IP”条目将是什么?

默认情况下在那里填写的内容(非路由环回、物理非路由接口等)是从默认网关发送的内容。当您进行来源时,您是在为您的 IP 标头提供一个有效的地址和子网以供返回。最佳做法是相应地进行采购。此外,没有明确定义这些东西会带来安全隐患。

我希望这有帮助。

资料来源:6 年以上网络工程师@财富 50 强公司。

这实际上只是对其他两个答案中涉及的事物的扩展解释,但更深入一些。对于篇幅我深表歉意,但我尽量不掩盖任何明显的细节/假设,因为这通常是问题所在。

首先,让我们从选择源自路由器的数据的源 IP 开始,例如您的 ping、traceroutes、syslog 等。因此大多数路由器软件都会对目标地址进行路由查找,然后使用本地离目的地最近的接口作为源。因此,在这种情况下,除了本地 LAN (10.5.0.1/23) 上的流量外,流量将在 PPP 接口上离开路由器,因此源 IP 将为 208.46.133.130。

现在,如果不查看路径中的所有设备,我不能肯定地说,但仅基于这些路由器只有静态和连接路由的事实,我假设流量路径中的设备确实没有“完整”的路由表。所以我会给你一个我见过的会导致这种行为的场景。因此,假设这个 10.0.1.11 IP 是您的系统日志服务器,它在位于 10.0.1.1 的集线器站点中有一个单独的第 3 层交换机或路由器作为默认网关,然后到 Internet 的防火墙位于 10.0。 1.2,让我们把 MPLS 路由器放在 10.0.1.3。因此,如果您在整个网络中只有静态路由,一种可能性是 10.0.1.2 处的防火墙确实有 208.46.133.128/30 网络的静态路由,或指向 MPLS 路由器的更大集合。但是,如果服务器的网关只有指向 MPLS 的 LAN 地址(10.5.0.0/23 等)的静态路由和指向防火墙的默认路由,那么会发生什么?从服务器返回的流量将进入它的默认网关,然后从那里的默认路由将进入防火墙,它不知道返回到远程 MPLS 路由器的 ISP/上行链路侧的 MPLS 云,但当流量来自路由器的 LAN 侧或 LAN 本身时,它会这样做。

简而言之,基于仅使用静态路由,各种设备的路由表中可能存在“漏洞”,并且由于只有管理员可以访问路由器,因此通常不会注意到这些“基础设施”IP 地址的缺失路由. 追踪这一点的方法是访问路径中的每一跳,并查看源地址和目标地址的路由表。在某些时候,您会发现设备具有返回 10 地址的路由,但没有指向 208 地址的路由,或者只是指向错误方向的默认路由。我的长期建议是实施某种形式的动态路由。通过静态跟踪是否所有需要的路由都添加到每个新设备中,