帮助我理解思科路由器的“ip route”命令

帮助我理解思科路由器的“ip route”命令

我就是不能理解这一点。

例如:

替代文本

我希望最左边的路由器能够 ping 通左边的计算机,反之亦然。

我应该在哪里设置 IP 路由以及设置到哪个地址。我觉得我只是在猜测,并没有真正理解这个概念。

图片来自 Cisco Packettracer。

答案1

我画了一个图,希望对大家有帮助:

替代文本

关于静态路由,请考虑上图。我们有三个独立的网络:192.168.1.0、192.168.2.0 和 192.168.3.0。起初,网络主机(路由器、计算机等)只能与自己网络上的其他主机通信。例如,名为 James 的计算机在网络 192.168.1.0 上有一个接口,因此这是它唯一可以“看到”的网络。最初,它只能与路由器 A 通信。

路由器 A 在 192.168.1.0 和 192.168.2.0 网络上有网络接口,因此这两个网络是路由器 A 可以“看到”的。这些是路由器 A 唯一“知道”的网络,因此它只能与 192.168.1.0 和 192.168.2.0 网络上的主机通信。因此路由器 A 甚至“不知道”192.168.3.0 网络的存在。同样,路由器 B 可以“看到”网络 192.168.2.0 和 192.168.3.0。当您将路由输入表中时,您正在告诉主机有一个新的网络可以访问,并且您正在为其提供网关它可以使用这个命令来访问新网络。因此,为了能够从路由器 A 联系 Jesus(或 192.168.3.0 网络上的任何其他主机),您需要输入以下命令:

ip route 192.168.3.0 255.255.255.0 192.168.2.2
             ^             ^             ^
           network        mask         gateway

之所以可行,是因为路由器 B 可以“看到”路由器 A 和 Jesus。由于有此路由表条目,当路由器 A 想要访问 192.168.3.0 网络时,它知道可以通过位于 192.168.2.2 的路由器 B 到达那里,因此它将数据包发送到路由器 B。路由器 B 可以直接看到 192.168.3.0 网络,因此它将数据包转发到位于 192.168.3.11 的 Jesus。

现在,我们知道如何将路由器 A 指向 192.168.3.0 网络。但如果我们希望 James 也能访问 192.168.3.0 网络,该怎么办?路由器 A 已经知道如何到达那里,James 已经可以“看到”路由器 A,因为它们都在网络 192.168.1.0 上。因此,我们可以告诉 James 使用路由器 A 作为其网关到 192.168.3.0 网络。如果 James 是路由器而不是计算机,我们将使用以下命令:

ip route 192.168.3.0 255.255.255.0 192.168.1.1
             ^             ^             ^
           network        mask         gateway

然后,James 就可以通过将数据包转发到 192.168.1.1(路由器 A)来联系 Jesus(或 192.168.3.0 上的任何主机)网络,然后 192.168.1.1(路由器 A)将数据包转发到 192.168.2.2(路由器 B),然后 192.168.2.2(路由器 B)通过其直接连接的接口将数据包转发到其目的地(在本例中为 Jesus)。

现在,为了让耶稣能够回应詹姆斯,耶稣需要将路由器 B 设置为网关到 192.168.1.0 网络,并且路由器 B 必须将路由器 A 设置为其网关到 192.168.1.0 网络。然后,192.168.1.0 网络上的任何主机都会有一条到 192.168.3.0 网络的路径,反之亦然。

希望有所帮助。

答案2

ip route工作原理如下ip route <these destination IPS> (via) <this ip>(实际上不包括“via”一词)。因此,命令中的最后一个 IP 是这些数据包应采用的下一跳。这也可能是路由器本身的接口,而不是相邻路由器的 IP,这在点对点连接时通常使用。路由器通常只担心其实际路由表中的下一跳(这在路由协议中变得更加复杂,但目前不必担心)。我认为如果没有实际 IP,我无法为您提供太多帮助。但假设您的意思是网络上的计算机正确的最左边的路由器将是这样的:

ip route 192.168.1.0 255.255.255.0 10.10.10.1

如果您的计算机全部位于 192.168.1.0/24 网络中,并且 10.10.10.1 是连接到最左边路由器的中间路由器接口的 IP 地址。最左边的路由器将需要一个类似 10.10.10.2 的 IP。那么中间路由器连接到交换机的接口上可能具有 192.168.1.1。

刚开始进行这些实验时,要记住的一件好事是,不仅数据包需要路由到目的地,而且回复必须正确路由回来才能使 ping 正常工作。

理解这一点的另一种方法是不要过多考虑路由器,而要考虑接口及其 IP。路由器查看数据包中的目标 IP 地址并将其转发到正确的接口。您不需要在路由器中为路由器上存在的所有接口指定 ip route 命令的唯一原因是这些命令会自动输入到路由表中。

答案3

我看待路由的一种方式是,要进去,我必须通过一扇门。在本例中,詹姆斯想要进入 192.168.3.0 区域。要进去,他必须通过 192.168.2.2 门。所以我必须告诉司机(路由器 a)去哪里才能到达 192.168.3.0 区域,即去 192.168.2.2 门。就像詹姆斯一样,约翰尼需要找到去往 192.168.1.0 区域的路,所以他必须通过 192.168.2.1 门,并且他必须告诉司机(路由器 B)去那里。当你有两个以上的路由器时,使用街道而不是门会更有意义。因为你必须同时包括门和区域才能到达你想去的区域。有点像你必须先去一个收费站,然后再去另一个收费站才能到达一个区域。

答案4

如果您的 PING 没有返回,则可能存在以下一个或多个原因:

  • 网络掩码不匹配;仔细检查相关主机的所有网络掩码设置不会浪费时间
  • 默认网关;是接收发送者不知道如何传送的数据包的主机
  • 返回路径;可能你的数据包到达了目的地,但目的地没有关于如何回传数据包的正确信息

如果您有不同的路由,请将它们应用于默认网关,而不是主机。例如,如果您有两个办公室(例如 192.168.1.0/24 和 192.168.2.0/24)连接到 Internet 并且它们之间有一条专线,那么您只需在两个 LAN 的默认网关上配置路由即可。

假设每个 LAN 上的默认网关为 xxx254,每个 LAN 上的专线通信设备(路由器,但我们不要管它)为 xxx253

在办公室 1 中,LAN 中每台 PC 的默认网关均为 192.168.1.254;默认网关中有一条路由指令,如下所示:ip route 192.168.2.0 255.255.255.0 192.168.1.253这意味着“将所有目标地址以 192.168.2 开头的数据包转发到 IP 地址 192.168.1.253,因为它知道如何处理这些数据包”

在办公室 2 中,LAN 中的每台 PC 均将 192.168.2.254 作为默认网关;在默认网关中,您有如下路由指令:ip route 192.168.1.0 255.255.255.0 192.168.2.253

相关内容