Linux 网络速成课 4 :主路由表(rt_table)、内置路由表、ip route 输出...

发布网友 发布时间:2024-12-13 03:52

我来回答

1个回答

热心网友 时间:2天前

Linux网络管理速成教程深入解析主路由表(rt_table)、内置路由表及ip route命令的使用。基于A Crash Course in Linux Networking进行翻译和扩展,原作者David Guyton的内容经过简化和补充,具体细节请参考原文。本文将详细讲解这些概念,并提供实例。


主路由表(Master Routing Table)

Linux的RPDB系统通过一个主路由表作为索引,支持256个路由表和32768条规则。主路由表存储在/etc/iproute2/rt_tables,由一系列整数和名称组成,对应实际路由表的索引。系统通过规则选择使用哪个路由表。


初始的主路由表包含默认值,如default、local、main和unspec等。例如:



主路由表文件:记录主机所有路由表,无需排序,数字和名称唯一,用户可实时修改,系统会实时读取。

内置路由表

Ubuntu系统内置四种特殊路由表:default处理未找到更具体路由,local用于本地通信,main为主用表,unspec特殊用途。通过ip route命令查看main表的路由信息。


ip route命令与路由管理

查看和管理路由时,例如查看main表中的路由,可通过以下命令展示。新系统默认显示类似:



每个路由条目定义了默认行为,如default路由表示无更精确匹配时使用,通过via指定网关,dev指明网络接口。

添加新路由

使用ip route命令添加新路由,如添加到custom路由表,格式如下:


删除路由

删除路由时,通过指定完整路由条目,如:


路由优先级

netfilter根据数据包目的地址和ToS值选择路由,涉及多个匹配项时,系统按照特定顺序选择。具体规则如下:

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com