了解路由表条目

问题描述 投票:36回答:3

我想问一个关于Linux中路由命令的问题。我在Linux终端输入以下命令

> route

得到了输出:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     1      0        0 eth0
192.168.122.0   *               255.255.255.0   U     0      0        0 virbr0
link-local      *               255.255.0.0     U     1000   0        0 eth0
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0

我不明白。这是否意味着ip 192.168.1.0的任何数据包将从*网关出去?为什么DESTINATION写在那里不应该是源,因为从我的主机发出的数据包有192.168.1.0的源IP?

任何人都可以解释这个条目的意思,包括出去和来到我的主机?

networking routing
3个回答
57
投票

让我们一个接一个地看一遍:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     1      0        0 eth0

这表示目的地为192.168.1.0到192.168.1.255的任何数据包将在不使用网关的情况下发送出eth0(除非更具体的路由覆盖此网关)。

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.122.0   *               255.255.255.0   U     0      0        0 virbr0

这表示目的地为192.168.122.0到192.168.122.255的任何数据包都将在不使用网关的情况下发送到virbr0。 (同样,除非更具体的路线覆盖此路线。)

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
link-local      *               255.255.0.0     U     1000   0        0 eth0

这表示任何带有link-local address的数据包将被发送到没有网关的接口eth0

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0

这表示使用192.168.1.1作为网关,将没有其他路由的任何数据包发送到eth0


7
投票
  • Destination =数据包前往的网络地址

“默认”表示如果在使用此规则之外的任何其他规则中找不到目的地。

  • Genmask =子网掩码

如果路由表中有多个地址适用于传出数据包,则将使用具有较高子网掩码的规则。如果这些是绑定的,那么度量标准就会发挥作用,但根据使用的协议,它会有所不同。

  • 接口=板载连接

例如,我目前使用的笔记本电脑有三个接口:

  1. 以太网卡
  2. 无线网卡
  3. 蓝牙

路由器通常每侧至少有2个接口,每个网络都有1个接口。对于大多数家用路由器,1个接口是家庭网络的一部分,另一个接口是前往ISP的外部网络的一部分。

  • 网关=下一跳

如果目标与发送方不在同一网络上,则会在此处发送数据包。

如果值是“*”或“On-link”或当前设备的地址......这些都意味着相同的事情。这意味着数据包将寻址到当前主机可直接访问的设备。换句话说,它们位于同一网络上,因此实际上不会使用网关,因为主机将知道目的地的数据链路层(MAC)地址并能够直接在那里发送。在这种情况下,这些值仅用于人类可读性。

至于发送数据包的过程:

  • 目标和Genmask用于确定哪些规则与传出数据包的目标地址匹配。
  • 接口用于决定机器上的通信设备发送它。
  • 网关是将数据包发送到(通过)的同一网络上的设备的地址。

0
投票

192.168.1.0(-255)是本地目的地,一旦到达其本地目的地(很可能是192.168.1.1,您的路由器),它将被重新路由到外部IP目的地。这显示了您的计算机如何选择发送相对简单的数据包,因为大多数(如果不是全部)离开计算机的数据包在发送到目的地之前都会前往路由器。

一个更有趣的路由表将是您的路由器,它将处理许多外部和内部目的地。如果你研究这个,你将能够学到更多关于路由的知识。

© www.soinside.com 2019 - 2024. All rights reserved.