Linux网络知识——路由表

路由表

1 定义与作用

  • Linux路由表是一个内核数据结构,用于描述Linux主机与其他网络设备之间的路径,以及如何将数据包从源地址路由到目标地址。
  • 路由表的主要作用是指导数据包在网络中的传输路径,确保数据包能够准确、高效地到达目标地址。

2 主要组成部分

  • 目的网络:一个或多个IP地址段,指示要路由到的网络。
  • 下一跳:数据包要经过的下一个路由器的地址。
  • 子网掩码:用于将IP地址分为网络地址和主机地址两部分,帮助路由器进行路由选择。
  • 接口:连接Linux主机和网络的物理设备或虚拟设备,每个接口都有一个唯一的标识符。

3 配置与管理

  • 可以使用route命令或ip route命令来显示、添加、删除和修改Linux路由表中的路由信息。
  • 通过设置路由的优先级(度量值)和缺省路由,可以优化路由表的性能和数据传输效率。

4. 应用

4.1 使用ip route命令添加路由
shell 复制代码
# ip route add default via <网关地址>
ip route add default via 192.168.1.1

# ip route add <目标网络>/<子网前缀长度> via <网关IP地址> dev <网络接口>
ip route add 192.168.0.0/24 via 192.168.1.1 dev eth0
4.2 使用ip route命令删除路由
shell 复制代码
# 删除默认路由
ip route del default

# 删除网络路由
# ip route del <目标网络>/<子网前缀长度>
ip route del 192.168.0.0/24

5. 实例

shell 复制代码
172.18.0.0/20 dev eth0 proto kernel scope link src 172.18.9.28

目的网络172.18.0.0/20

  • 这部分指定了数据包的目的地是一个IP地址范围,从172.18.0.0到172.18.15.255(因为/20表示前20位是网络地址,剩下的12位是主机地址,所以总共可以表示4096个IP地址,但要从0开始算,并且要减去网络地址和广播地址,所以实际可用的IP地址范围是从1到4094,但在这个例子中我们关注的是整个子网)。

接口dev eth0

  • 这部分指明了数据包应该通过哪个网络接口发送出去。在这个例子中,eth0是第一个以太网接口。这意味着,如果数据包的目的地址匹配这个规则,它应该通过eth0接口发送。

协议proto kernel

  • 这部分说明了路由条目是如何被添加到路由表中的。proto kernel意味着这个路由条目是由内核自动添加的,通常是因为网络接口的配置(如IP地址的分配)导致的。与之相对的是用户空间程序(如ip route命令)添加的路由,它们通常会显示为proto static

作用域scope link

  • 这部分定义了路由条目的作用域。scope link意味着这个路由条目仅适用于直接连接的网络,也就是说,它不会通过路由器转发到其他网络。这是本地网络(也称为链路层网络)的路由。

源地址src 172.18.9.28

  • 这部分指定了当数据包从这个路由条目指定的接口发送出去时,应该使用的源IP地址。在这个例子中,源IP地址是172.18.9.28。需要注意的是,源地址通常不是路由决策的一部分(路由决策是基于目的地址的),但在某些情况下(如策略路由),可以基于源地址来选择路由。然而,在这个特定的路由条目中,src字段的存在可能意味着这是一个更复杂的路由规则的一部分,或者是用于确保从特定接口发送的数据包具有正确的源IP地址(尽管这通常是通过网络接口的IP配置来处理的)
相关推荐
加点油。。。。27 分钟前
ubuntu22.4 ROS2 安装gazebo(环境变量配置)
linux·python·ubuntu·ros
testtraveler39 分钟前
(双系统)Ubuntu+Windows解决grub引导问题和启动黑屏问题
linux·windows·ubuntu
几维安全42 分钟前
FIDO2密码钥匙与无密码认证:打造安全便捷的数字世界
运维·网络·安全
卡比巴拉—林1 小时前
如何在openEuler中编译安装Apache HTTP Server并设置服务管理(含Systemd和Init脚本)
linux·运维·服务器
thinking-fish2 小时前
DNS介绍(5):DNS 劫持及解决方案
网络·网络安全·dns·dns劫持
毛毛的毛毛2 小时前
交换机和路由器的区别
网络·智能路由器
thinking-fish3 小时前
LVS四层反向代理
运维·网络·lvs
zl0_00_03 小时前
1.15寒假作业
网络
Hello,C++!3 小时前
Boost Asio TCP异步服务端和客户端
网络·网络协议·tcp/ip