跨路由器ping不通?

网络工程 路由
2021-07-09 07:53:20

我正在尝试通过网络建立通信,但遇到了一些问题。

在下图中,为什么我无法从主机 1 ping 主机 2?路由器 1 在网络 net1 和 net2 上都有接口。

我必须在路由表中添加什么规则才能告诉路由器 1 它可以在其 2.250 接口上访问网络 2?

我努力了

ip route add 192.168.2.0/24 via 192.168.2.250 但我收到错误 RTNETLINK :没有这样的过程。

在此处输入图片说明

4个回答

您可能有路由问题,但它可能不在 R1 上(它应该知道两个子网,因为它们是直接连接的)。如果不知道路由器/主机配置以及可能的路由器供应商/型号,我们将无法确认。

拥有多个路由器,每个路由器都有不同的网络,并且没有直接连接到其他路由器,与主机位于同一子网上可能不太理想。虽然它可以正常工作,但对于出现的问题通常没有“好的”解决方案。

首先,您必须确保每个路由器都知道其他路由器之外的网络。静态路由是有问题的,因为它们更难以维护并且容易出错。所以这意味着运行一个路由协议。(对于我的其余答案,我将假设路由协议正在路由器之间运行。)

在连接主机的同一网络上的路由器上运行路由协议会​​产生安全隐患。这可以向攻击者(受感染资源的内部或外部)提供有关正在使用的网络拓扑和子网的有价值的信息。需要额外的步骤来确保这一点。

其次,您有与主机本身相关的问题。通常主机只有一个“默认”路由或网关,它们会将所有流量发送到非本地子网。

在这里,您有多种选择,但没有一个是我认为的“好”:

  1. 为每个主机上的其他子网配置静态路由:再次出现管理问题并且容易出错。
  2. 配置主机以参与路由协议:再次考虑安全问题,您需要确保主机不能将路由注入路由器的路由表。
  3. 取决于 ICMP 重定向:安全隐患和更多安全隐患。通常在路由器和主机上关闭,通常配置为不响应 ICMP 重定向。您需要确保它已在所有设备上启用。
  4. 让路由器在没有 ICMP 重定向的情况下完成工作。可能是最好的选择,但这意味着作为默认网关的路由器将处理更多流量,这意味着它们可能需要“更大”(即更高的性能,可能更快的接口)并且存在一些安全问题。为什么会这样?因为用于其他路由器的流量需要在一个接口上接收,然后从同一接口发送回另一个路由器。

那么,什么是替代方案?好吧,如果你回到我在这篇文章早些时候的陈述,我可以考虑一些更好的选择:

  1. 在用作默认网关的路由器与使用物理接口的其他路由器之间提供直接连接。这需要每个路由器更多的接口,并且仍然可能需要“更大”的路由器,但它提供了许多好处。
    • 您可以在未连接主机的接口上运行路由协议。
    • 当您在同一接口上接收和发送相同的流量时,您可以避免任何安全问题。
    • 通过不在同一接口上接收和发送相同的流量,您可以避免“加倍”出站流量。
    • 使用 HSRP、VRRP、GLBP 或类似工具提供网关冗余时增加冗余。
  2. 在用作默认网关的路由器和使用“虚拟”接口的其他路由器之间提供直接连接,例如通过使用 VLAN 和中继/标记链接。提供与我在第一个选项中提到的相同的前两个好处。
  3. 在 Net1 和 R1/R2/R3(以及其他类似位置,如 Net2/Net4)中的主机之间添加路由器(或用于冗余的路由器)。基本上提供了第一个选项的所有好处,但需要额外的硬件来管理。

我猜你唯一需要做的就是在 host1 和 2 上添加一个路由:

Host1: ip route add 192.168.2.0/24 via 192.168.1.11
Host2: ip route add 192.168.1.0/24 via 192.168.2.250

路由器已经知道 hoe 到达两个网络,因为它直接连接。

您需要在路由器上设置路由,以便两台主机网络上的每个路由器都知道如何到达另一个网络。

如果每个主机的网关都是 Router1,这将起作用,但情况可能并非总是如此。路由的全部意义在于路由器知道如何到达其他网络,即使它们没有连接到网络。您可以使用路由协议动态执行此操作,或使用路由器中配置的静态路由静态执行此操作。静态路由不能扩展,也不能自动响应网络中的变化。

检查主机 1 和主机 2 的基础知识:

主机 1 是否有通过路由器 1 的默认路由,或通过路由器 1 到主机 2 网络的特定路由?

主机 2 是否有通过路由器 1 的默认路由,或通过路由器 1 到主机 1 网络的特定路由?

由于您没有提供有用的调试,因此很难猜测发生了什么,特别是当您的图表提到许多设备时,但我们只对其中三个感兴趣 - 两个主机和一个路由器 - 为您自己简化问题,并且您可能会更容易找到解决方案。