如何在两个独立的 Cisco 接口上使用来自同一网络的 IP,以及其他 IP 诡计

网络工程 思科 路由 子网
2022-02-15 12:18:28

一般来说,我是思科的新手,并且有以下设置:

GigabitEthernet0/0 包含一个连接到我们的提供商/BGP 子站的 IP 地址;GigabitEthernet0/1 包含为我们向 Internet 宣布的 IP 前缀分配的各种以 .1 结尾的 IP 地址;这也是我们所有设备通过交换机 <--> GigabitEthernet0/1 连接插入的接口。

我们希望 GE0/0 上的主 IP 地址位于我们分配的主 IP 网络上,例如 abc252,同时在 GE0/1 上保留 .1 作为本地机器/设备的网关。目前,当 traceroute 或类似的东西进入网络时,它们会使用从我们的上行链路分配给 GE0/0 的 IP 进行响应。为了识别/通知/一致性,我们希望它成为我们自己分配的前缀的 IP。(我们会将上行链路中的 IP 保留为辅助 IP)。

当我尝试将 .252 分配给 GE0/0 并将 .1 分配给 GE0/1 时,我得到关于另一个接口上已经存在的子网的常见错误。

我该怎么做呢?如何在 ABC 中分配 IP,例如 ABC252 到 GE0/0 作为主 IP 地址,同时将 ABC1 分配到 GE0/1,以便网络上的客户端可以使用它作为网关?

或者,有没有一种方法可以让 LAN 上的用户使用 GE0/0 上的 IP,即使它们已插入 GE0/1,而不会让任何事情变得太糟糕?在这一点上更是如此,有点偏离轨道但很想知道这是否可能——如果我们从 RIPE 分配了三个不同的前缀,并且想要跟踪路由和你有什么用 .1 响应从每个子网的开头到请求者的 IP,这可能吗?我正在想象与 NAT 相关的事情,并将响应与特定 ICMP 数据包的给定源 IP 匹配(但这不适用于 UDP 跟踪路由?)。有什么想法吗?

提前致谢!

3个回答

你现在是如何设置的?您是在 G0/0 上使用私有范围还是其他公共子集?

您不能在不同的接口上拥有相同的子网,因为它会破坏路由。路由器不知道可以通过每个接口访问哪些主机。

如果您想让您的 BGP 在与您的公共地址空间相同的网络上对等,有几个解决方法:

可以创建一个由 G0/0 和 G0/1 组成的桥组。然后,您可以将 BVI 分配给具有您的公共地址的组。这将为您提供一个 IP 接口,将来自 G0/0 和 G0/1 L2 的流量转发到 IP 接口。另一种选择是将您的 BGP 连接连接到 LAN 并将您的 IP 仅放在 G0/1 上。

这不是与提供商对等的常用方式。最好为 LAN 和对等使用单独的 IP 接口,以便可以应用策略和 ACL。您希望它这样设置的原因是什么?只是为了让您的跟踪路线显示您的公共地址吗?

这将取决于制造商,因为它不是真正基于标准的,但我们确实看到它已实现,即在 Cisco IOS 中。

了解和配置 ip unnumbered 命令

ip unnumbered 配置命令允许您在串行接口上​​启用 IP 处理,而无需为其分配显式 IP 地址。ip unnumbered 接口可以“借用”路由器上已配置的另一个接口的 IP 地址,从而节省网络和地址空间。

首先,我认为您误解了 traceroute 的工作原理。你在traceroute中看到的IP地址是数据包进入路由器的接口的路由器地址。这是因为数据包的 TTL 是1在它进入接口时,接口将 TTL 递减到0. 发生这种情况时,路由器会生成一条 ICMP 消息,并按照数据包的传入方式将其发回。该消息的源地址是 ICMP 消息离开路由器的接口(您的G0/0WAN 接口)。如果 TTL 不存在,路由器将向其发送数据包的接口0(您的G0/1LAN 接口)在此不起作用。

路由器在网络之间路由,而不是从一个网络中的接口到同一网络中的接口。如果您在同一个网络中有两个接口,路由表将无法正常工作,这就是为什么路由器不允许您将同一个网络分配给两个不同的接口。

另一个考虑因素是您可能希望在路由器上禁用 ICMP 和 traceroute 作为安全措施。黑客使用它来尝试发现您的内部网络结构。Traceroute 是一个很好的工具,可以在自己的网络中使用,但是在 Internet 上,您可以获得虚假信息。路径上的一些 ISP 将丢弃或重新路由 ICMP 和/或跟踪路由到其他路径,以混淆其内部网络。