理解我的路由表

这根本不是编程,但我看到了相关的话题,所以想为什么不试试呢。 我正在使用Ubuntu,并且正在尝试学习基本的网络知识。我阅读了很多理论,所以我理解这些术语(网关、子网掩码等),但我似乎无法理解我家里的网络。我有一个路由器,为我的笔记本电脑(无线)和台式电脑(以太网)提供服务。 当我在我的台式电脑上运行route命令时,输出如下:
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.0.0        *               255.255.255.0   U     1      0        0 eth0
link-local      *               255.255.0.0     U     1000   0        0 eth0
default         RTA1025W.home   0.0.0.0         UG    0      0        0 eth0

我不明白。我知道这个表格规定了路由规则,但是我就是不明白这些规则。能给个例子吗?比如,如果我把一个数据报发送到家庭网络上的另一台计算机,第一条规则应该匹配对吧?哪一列指定了数据报要重定向到哪里?
另外,只是为了确认一下,如果我想访问一个网站,那么所有的数据报都会被定向到我的路由器,对吗?
还有,什么是“link-local”?在我的“/etc/networks”文件中有定义,但我不知道它是什么意思。
希望我表达清楚了我想要理解的内容,如果没有,那只是因为我是个完全的新手。无论如何,谢谢!
编辑:为了明确一点,我确实阅读了“man route”。据我理解,“Destination”指的是当前正在路由的数据报的目的地。同样适用于“Gateway”和“Genmas”。这很好,但我不明白它将被路由到哪里?这就是我想要理解的。
1个回答

要快速了解route命令(或者任何你目前还不完全理解的命令),你可以在终端中输入man route,这将为你提供该命令的概述。

你也可以在谷歌中搜索man route,这将返回给你在线查看route命令的手册页面。

点击这里,在你的情况下输出结果非常直观。

关于link-local条目,正如你可以在这里看到的那样,这是正常的。

关于你当前路由表中的条目:

第一个条目告诉你以下内容:

  • 任何目的地为10.0.0.0的流量将不使用网关(这是行中的*),将使用255.255.255.0子网掩码,路由状态为UP(这是U的意思)以及该路由使用的接口。如果您执行ifconfig -a命令,您可能会看到您的eth0 IP地址在10.0.0.0范围内,因此这是您的本地网络路由。

第三个条目告诉您以下内容:

  • 如果任何流量不符合其他规则定义的流量,则使用此路由。假设您想访问www.yahoo.com。该地址将被转换(我不知道确切的结果,但肯定不会在10.0.0.0范围内)。由于它不适用于第一或第二条路由,它将使用RTA1025W.home网关进行路由。度量值无关紧要,并且将使用默认路由行上定义的接口。

太好了,谢谢!还有一个问题:如果我向我的网络中的一台计算机发送数据报文,它不是必须经过路由器吗?如果是这样,那它不就是在使用网关吗?谢谢。 - yotamoo
你的路由器是你路由表中的网关,你的路由器不是RTA1025W吗? - Bruno Pereira
是的。所以当我家网络中的两台电脑进行通信时,它们必须经过路由器对吗?我问这个问题是因为第一条规则中没有定义它为网关。也许只有在用于发送网络外的信息时,它才被称为网关? - yotamoo
是的,但第一个规则告诉您的系统,如果从主机名翻译过来的地址匹配第一行(因此所有使用255.255.255.0子网掩码创建的10.0.0.0地址),将不会被路由到网关,这样您的计算机可以直接相互通信,无需通过路由器传递(您实际上可以关闭它,您的计算机仍然可以互相联系)。 - Bruno Pereira
Man pages并不是特别友好,对于新手来说更是如此... - Cerin
@Cerin 这就是为什么编辑部分解释了OP提供的条目,你难道希望有人解释route的所有选项吗?哦等等,这就是手册的作用... - Bruno Pereira