CentOS系统下如何使用旧命令添加静态路由并生效?

在网络管理中,路由是决定数据包从源头到目的地的路径的过程,对于大多数连接到互联网的设备,系统会自动配置一个默认路由,即所有未知目标网络的流量都通过一个默认网关发送,在更复杂的网络环境中,例如企业内网、数据中心或连接到特定“旧”网络段时,我们常常需要手动添加静态路由,以确保数据能够准确、高效地到达特定目的地,本文将详细介绍在 CentOS 系统中,如何通过命令行和配置文件两种方式添加静态路由,以满足访问特定网络(如“旧”路由或遗留网络)的需求。

CentOS系统下如何使用旧命令添加静态路由并生效?

理解路由基础

在开始操作之前,理解两个基本概念至关重要:默认路由和静态路由。

  • 默认路由:这是路由表中的“最后手段”,当一个数据包的目标地址在路由表中没有更具体的匹配项时,系统就会将其发送到默认网关,这是你的路由器或防火墙的 IP 地址。
  • 静态路由:这是由管理员手动配置的路由条目,它明确告诉系统:“要到达网络 A,请将数据包发送给网关 B”,这在需要通过特定路径访问某个网络段时非常有用,比如访问一个不通过默认网关的“旧”办公网络或一个专用的服务器集群。

在 CentOS 中,我们主要使用 ip 命令集来管理路由,它取代了较旧的 route 命令。

临时添加静态路由(重启后失效)

临时路由非常适合用于快速测试或临时调整,它的优点是立即生效,但缺点是系统重启后会自动丢失。

假设我们的 CentOS 服务器 IP 地址为 168.1.10,默认网关为 168.1.1,现在我们需要访问一个“旧”网络 16.50.0/24,而通往这个网络的网关是 168.1.254

查看当前路由表

我们可以使用以下命令查看当前的路由表:

ip route show
# 或者使用简写
ip r

输出可能类似于:

default via 192.168.1.1 dev eth0
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.10

添加临时路由

使用 ip route add 命令来添加新的路由条目,语法结构为:ip route add <目标网络> via <网关地址> dev <网络接口>

根据我们的假设,命令如下:

sudo ip route add 172.16.50.0/24 via 192.168.1.254 dev eth0
  • 16.50.0/24:我们想要访问的目标网络。
  • via 192.168.1.254:指定到达该网络必须经过的下一跳网关。
  • dev eth0:指定数据包从哪个网络接口发出(eth0 需替换为你的实际网卡名称,可通过 ip addr 命令查看)。

验证路由

再次运行 ip route show,你应该能看到新添加的路由条目:

default via 192.168.1.1 dev eth0
172.16.50.0/24 via 192.168.1.254 dev eth0
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.10

服务器就可以通过 168.1.254 这个网关与 16.50.0/24 网络进行通信了,你可以使用 pingtraceroute 命令进行测试。

永久添加静态路由(重启后依然有效)

对于服务器而言,配置必须是持久的,根据 CentOS 的版本,永久配置的方法有所不同。

CentOS系统下如何使用旧命令添加静态路由并生效?

适用于 CentOS 7 / 8 / 9 (使用 NetworkManager)

现代的 CentOS 版本普遍使用 NetworkManager 来管理网络,我们可以使用 nmcli(NetworkManager Command-Line Interface)工具来永久添加路由。

确定网络连接名称

找到你正在使用的网络连接的名称,它不一定是网卡名称。

nmcli connection show

输出可能如下,NAME 列就是连接名称:

NAME    UUID                                  TYPE      DEVICE
eth0    5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  ethernet  eth0

这里我们的连接名称是 eth0

添加静态路由

使用 nmcli connection modify 命令,注意 +ipv4.routes 前面的 号,它表示添加一条新路由,而不是覆盖现有路由。

sudo nmcli con modify "eth0" +ipv4.routes "172.16.50.0/24 192.168.1.254"

重新激活网络连接

配置修改后,需要重新启动网络连接使其生效。

sudo nmcli con down "eth0" && sudo nmcli con up "eth0"

验证

再次使用 ip route show 命令验证路由是否已成功添加,此方法配置的路由会被写入 NetworkManager 的配置文件中,因此系统重启后会自动加载。

适用于 CentOS 6 (使用网络脚本)

在较旧的 CentOS 6 系统中,网络配置主要通过 /etc/sysconfig/network-scripts/ 目录下的脚本文件完成。

创建或编辑路由文件

在该目录下,为你的网卡(eth0)创建一个名为 route-eth0 的文件。

CentOS系统下如何使用旧命令添加静态路由并生效?

sudo vi /etc/sysconfig/network-scripts/route-eth0

添加路由配置

在文件中添加如下内容:

16.50.0/24 via 192.168.1.254 dev eth0

如果你需要添加多条路由,每行写一条。

重启网络服务

保存文件后,重启网络服务以使配置生效。

sudo service network restart

路由管理命令小编总结

为了方便查阅,以下表格小编总结了常用的路由管理命令。

场景 方法 命令/文件路径
临时添加路由 命令行 sudo ip route add <目标网络> via <网关> dev <接口>
临时删除路由 命令行 sudo ip route del <目标网络>
永久添加路由 CentOS 7/8/9 (nmcli) sudo nmcli con modify "<连接名>" +ipv4.routes "<目标网络> <网关>"
永久添加路由 CentOS 6 (网络脚本) /etc/sysconfig/network-scripts/route-<接口名>
查看路由表 命令行 ip route showip rroute -n

相关问答 (FAQs)

问题 1:我如何检查我的 CentOS 系统当前所有的路由表?

解答: 你可以使用以下几个命令来查看系统的路由表,最推荐的是使用 ip 命令集,因为它是现代 Linux 系统的标准工具。

  • ip route show:这是最完整的命令,会以易读的格式显示所有路由条目。
  • ip r:是 ip route show 的简写形式,功能完全相同,更快捷。
  • route -n:这是使用较老的 route 命令。-n 参数的作用是不将 IP 地址解析为主机名,从而显示得更快更直接。

问题 2:添加路由时,提示 ‘SIOCADDRT: No such process’ 错误是什么意思?

解答: 这个错误通常表示你指定的网关地址是“不可达的”,系统无法找到通往这个网关的路径,最常见的原因是:

  1. 网关 IP 地址错误:你输入的网关 IP 有拼写错误。
  2. 网关不在同一子网:你指定的网关(如 168.1.254)与你服务器的 IP 地址(如 168.1.10)不在同一个局域网子网内,服务器无法直接与它通信。
  3. 没有到网关的路由:在没有默认路由的情况下,如果网关本身不在服务器直接连接的网络上,就会发生此错误。

解决方法:请首先使用 ping 命令测试你指定的网关 IP 是否可以 ping 通,如果不能,请检查网关 IP 地址是否正确,并确保它在你的服务器可以直接访问的网络上。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-13 11:11
下一篇 2025-10-13 11:14

相关推荐

  • 寻找专业网站搭建服务,如何找到附近的建站公司?

    摘要:寻找附近建网站公司,提供专业的搭建网站服务。他们拥有丰富的经验,能够根据客户需求设计和开发功能齐全的网站,确保网站的用户体验和搜索引擎优化效果。

    2024-08-06
    0012
  • centos系统备份工具有哪些?求推荐几款好用的免费软件

    在信息时代,数据是企业的生命线,对于承载关键业务的服务器而言,一套可靠、高效的备份与恢复方案是保障系统稳定性和数据安全的基石,CentOS作为广受欢迎的企业级Linux发行版,其系统备份工具的选择与使用至关重要,本文将深入探讨几种适用于CentOS的备份工具,分析其特点、适用场景,并提供实用的指导,帮助管理员构……

    2025-10-11
    004
  • 如何优化Flash网站首页以提升用户体验?

    根据您提供的信息,“flash网站首页_首页”可能是指一个以Flash技术构建的网站主页面。Flash是一种多媒体和交互式内容制作软件,曾在网页设计和动画创作中广泛应用。随着HTML5和其他现代技术的发展,以及安全问题和性能问题的出现,Flash的使用已大幅减少,主流浏览器也不再支持。如果一个网站仍然使用Flash,它可能需要更新以适应当前的网络标准和技术。

    2024-07-31
    0012
  • CentOS系统manpages手册未安装或显示英文该如何配置?

    在 Linux 系统管理与服务运维的日常工作中,man 命令是每一位用户和开发者不可或缺的助手,它通过访问系统中的手册页,为我们提供了关于命令、系统调用、库函数等的详细文档,在 CentOS 系统中,尤其是采用最小化安装模式时,man pages 功能可能并未完全配置或可用,本文将详细阐述如何在 CentOS……

    2025-10-13
    002

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

QQ-14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信