`
xinggm
  • 浏览: 65736 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论

linux 路由表和静态路由

阅读更多

路由表和静态路由

内容提要

  1. 查看 Linux 内核路由表
  2. 使用 route 命令设置静态路由
  3. 设置包转发

Linux 内核路由表

查看 Linux 内核路由表

使用下面的 route 命令可以查看 Linux 内核路由表。

# route
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

192.168.0.0     *               255.255.255.0   U     0      0        0 eth0

169.254.0.0     *               255.255.0.0     U     0      0        0 eth0

default         192.168.0.1     0.0.0.0         UG    0      0        0 eth0

route 命令的输出项说明

输出项 说明
Destination 目标网段或者主机
Gateway 网关地址,”*” 表示目标是本主机所属的网络,不需要路由
Genmask 网络掩码
Flags 标记。一些可能的标记如下:

U — 路由是活动的

H — 目标是一个主机

G — 路由指向网关

R — 恢复动态路由产生的表项

D — 由路由的后台程序动态地安装

M — 由路由的后台程序修改

! — 拒绝路由
Metric 路由距离,到达指定网络所需的中转数(linux 内核中没有使用)
Ref 路由项引用次数(linux 内核中没有使用)
Use 此路由项被路由软件查找的次数
Iface 该路由表项对应的输出接口

3 种路由类型

主机路由

主机路由是路由选择表中指向单个IP地址或主机名的路由记录。主机路由的Flags字段为H。例如,在下面的示例中,本地主机通过IP地址192.168.1.1的路由器到达IP地址为10.0.0.10的主机。

Destination    Gateway       Genmask        Flags     Metric    Ref    Use    Iface

-----------    -------     -------            -----     ------    ---    ---    -----

10.0.0.10     192.168.1.1    255.255.255.255   UH       0    0      0    eth0

网络路由

网络路由是代表主机可以到达的网络。网络路由的Flags字段为N。例如,在下面的示例中,本地主机将发送到网络192.19.12的数据包转发到IP地址为192.168.1.1的路由器。

Destination    Gateway       Genmask      Flags    Metric    Ref     Use    Iface

-----------    -------     -------         -----    -----   ---    ---    -----

192.19.12     192.168.1.1    255.255.255.0      UN      0       0     0    eth0

默认路由

当主机不能在路由表中查找到目标主机的IP地址或网络路由时,数据包就被发送到默认路由(默认网关)上。默认路由的Flags字段为G。例如,在下面的示例中,默认路由是IP地址为192.168.1.1的路由器。

Destination    Gateway       Genmask    Flags     Metric    Ref    Use    Iface

-----------    -------     ------- -----      ------    ---    ---    -----

default       192.168.1.1     0.0.0.0    UG       0        0     0    eth0

配置静态路由

route 命令

设置和查看路由表都可以用 route 命令,设置内核路由表的命令格式是:

# route  [add|del] [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]

其中:

  • add : 添加一条路由规则
  • del : 删除一条路由规则
  • -net : 目的地址是一个网络
  • -host : 目的地址是一个主机
  • target : 目的网络或主机
  • netmask : 目的地址的网络掩码
  • gw : 路由数据包通过的网关
  • dev : 为路由指定的网络接口

route 命令使用举例

添加到主机的路由

# route add -host 192.168.1.2 dev eth0:0

# route add -host 10.20.30.148 gw 10.20.30.40

添加到网络的路由

# route add -net 10.20.30.40 netmask 255.255.255.248 eth0

# route add -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41

# route add -net 192.168.1.0/24 eth1

添加默认路由

# route add default gw 192.168.1.1

删除路由

# route del -host 192.168.1.2 dev eth0:0

# route del -host 10.20.30.148 gw 10.20.30.40

# route del -net 10.20.30.40 netmask 255.255.255.248 eth0

# route del -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41

# route del -net 192.168.1.0/24 eth1

# route del default gw 192.168.1.1

设置包转发

在 CentOS 中默认的内核配置已经包含了路由功能,但默认并没有在系统启动时启用此功能。开启 Linux 的路由功能可以通过调整内核的网络参数来实现。要配置和调整内核参数可以使用 sysctl 命令。例如:要开启 Linux 内核的数据包转发功能可以使用如下的命令。

# sysctl -w net.ipv4.ip_forward=1

这样设置之后,当前系统就能实现包转发,但下次启动计算机时将失效。为了使在下次启动计算机时仍然有效,需要将下面的行写入配置文件/etc/sysctl.conf。

# vi /etc/sysctl.conf
net.ipv4.ip_forward = 1

用户还可以使用如下的命令查看当前系统是否支持包转发。

# sysctl  net.ipv4.ip_forward
分享到:
评论

相关推荐

    路由表和静态路由

    理解路由表和静态路由的概念及其配置方法对于管理和维护网络至关重要。通过合理设置路由表,可以使网络通信更加高效,并有助于实现复杂的网络架构设计。对于Linux系统管理员而言,掌握`route`命令的使用是必不可少的...

    Linux静态路由和远程连接

    提供的“静态路由和远程连接.doc”文档应该包含了详细的实验步骤和截图,帮助读者更直观地了解如何在实际环境中配置Linux静态路由和远程连接。请参考文档中的指南,按照步骤操作,以加深理解。 总结,Linux静态路由...

    Linux下静态路由实现

    在Linux操作系统中,静态路由是一种网络配置方法,用于指定数据包如何从一台主机发送到其他特定网络,而不依赖于动态路由协议。这种技术通常适用于网络结构简单或对网络流量有精确控制需求的环境。本篇文章将详细...

    linux下添加静态路由命令

    在 Linux 中添加和修改静态路由可以使用多种命令和方法,本文将详细讲解 ifconfig、vconfig 等命令的用法,并介绍其他相关知识点。 一、使用 route 命令添加和删除静态路由 在 Linux 中,route 命令是添加和删除...

    linux静态路由实验(计算机网络)

    这次的“linux静态路由实验”提供了相关源码、readme文件和原理图,旨在帮助学习者深入理解静态路由的工作原理及其在Linux环境中的配置。 首先,静态路由的配置是通过Linux内核的路由表实现的。在Linux命令行中,...

    静态路由的实现(linux)

    在Linux系统中,我们可以使用`route`命令或`ip`命令来添加、查看和删除静态路由。例如,要添加一条静态路由,可以执行: ```bash # 使用route命令 route add -net 目标网络地址 netmask 子网掩码 gw 网关地址 # ...

    windows&linux添加静态路由

    Windows 和 Linux 添加静态路由 Windows 和 Linux 添加静态路由是网络管理员常用的技术,用于将数据包路由到特定的网络节点。在这篇文章中,我们将详细介绍 Windows 和 Linux 添加静态路由的步骤和命令。 Windows ...

    Linux添加静态路由两种实现方法解析

    在Linux操作系统中,静态路由是一种网络管理策略,用于指定数据包如何从一台主机发送到另一台特定的主机或网络。这种路由方式与动态路由不同,动态路由依赖于路由协议自动学习和更新路由信息,而静态路由则需要管理...

    实训6 静态路由与缺省路由的配置1

    在深入探讨H3C路由器的静态路由和缺省路由配置之前,我们首先要明确路由表的作用以及静态路由和缺省路由的特点。 路由表是路由器用于存储路由信息的数据库,其内容决定了路由器如何转发数据包。在路由表中,每一条...

    服务器添加永久静态路由方式

    ### 服务器添加永久静态路由方式 ...总之,在Windows和Linux系统中,都可以通过相应的命令行工具和配置文件来实现永久静态路由的添加。这不仅有助于提高网络连接的稳定性和可靠性,还能更好地控制网络流量的走向。

    静态路由算法

    例如,在Linux系统中,通常使用`route`命令或`ip`命令来添加、修改或删除静态路由;在Cisco IOS设备中,可以使用`ip route`命令进行配置。 4. 静态路由的应用场景: - 小型网络:对于只有几个路由器的小型网络,...

    计算机网络实验——静态路由,优秀实验报告

    3. **路由表观察**:配置完成后,通过命令行工具(如在Linux系统中使用`route`或`ip route`命令,在Windows中使用`route print`命令)查看路由表,确认静态路由是否生效。这一步对于验证配置正确性至关重要。 4. **...

    Linux系统的路由实践.pdf

    Linux系统的路由实践可以分为静态路由和动态路由两种方式。 静态路由是指由网络管理员手工配置路由数据的方式,路由器获取非直连网段的路由信息,不需要自己选路。静态路由减少控制的流量和开销,提高安全保密性,...

    静态路由实验.rar

    9. **路由聚合**:在大型网络中,为了简化路由表和减少路由更新,静态路由也可以进行聚合,即将多个连续的IP地址段合并为一个路由条目。 10. **实验步骤与分析**:在进行静态路由实验时,可以先建立简单的网络拓扑...

    linux高级路由和流量控制HOWTO中文版(牛老师译)

    基本路由包括默认路由、静态路由和动态路由。 2. **默认路由**:默认路由是当系统无法根据目标IP地址找到特定路由时采取的策略,通常指向Internet网关。 3. **静态路由**:静态路由是由管理员手动配置的,它们不会...

    如何设置静态路由

    在计算机网络中,静态路由是一种手动配置的路由方式,它不依赖于动态路由协议自动发现和更新路由表。由于静态路由的简单性和可预测性,它在许多场景下仍然是首选方案。然而,不同操作系统或设备上的配置方法各不相同...

    linux下添加路由.doc

    在Linux操作系统中,管理网络配置和路由是系统管理员的基本任务之一。本文主要讲解如何在Linux环境下,特别是Red Hat系列发行版中,通过`ifconfig`和`route`命令来添加和管理路由,以及一些相关的网络诊断工具。 ...

    Linux 添加永久静态路由的方法

    在Linux系统中,静态路由是一种手动配置的网络路由方式,用于指定特定网络数据包的转发路径,以替代动态路由协议自动选择的路径。当需要确保数据包始终通过特定接口或网关传输,或者网络环境相对固定时,使用静态...

    linux和windows添加路由

    例如,要添加一条静态路由,可以使用以下命令: Route add 60.232.142.40 mask 255.255.255.248 192.168.100.250 metric 3 if 2 这条命令将添加一条路由记录,所有到 60.232.142.40/29 网段的数据包,都通过 2 号...

    9.30(静态路由笔记、作业及PPT).rar

    静态路由是指由网络管理员手动配置的路由条目,与动态路由(通过路由协议自动学习和更新路由表)相比,它具有更少的开销和更高的稳定性。下面将详细介绍静态路由的相关知识点。 1. 静态路由的基本原理:静态路由是...

Global site tag (gtag.js) - Google Analytics