如何在Linux上添加路由?

简介: 【4月更文挑战第8天】

在添加路由之前,我们需要先了解一些基本概念。

基本概念

什么是路由?

路由是指确定数据包从源节点到目的节点的路径的过程。这个过程涉及到在网络中的多个节点之间选择最佳路径,以确保数据包的有效传输。

路由表

路由表是一个数据结构,用于存储路由信息。在Linux系统中,路由表由内核维护,用于决定数据包的下一跳路由。

路由类型

在Linux中,有几种常见的路由类型:

  • 静态路由: 由管理员手动配置的路由,不会自动更新。
  • 动态路由: 由路由协议动态学习和更新的路由。

查看当前路由信息

在添加新路由之前,我们需要先查看当前系统的路由表,以便了解当前的网络配置情况。

使用 ip route 命令查看路由表

在终端中输入以下命令可以查看当前系统的路由表:

ip route

这会列出系统中所有的路由信息,包括目的地址、网关和接口等。

使用 route 命令查看路由表

route 命令也可以用来查看路由表:

route -n

这个命令的输出与 ip route 类似,提供了路由表的详细信息。

理解路由表的输出

查看路由表时,可以理解以下几个重要的列:

  • 目标地址: 要到达的目标网络或主机的IP地址。
  • 网关: 下一跳的IP地址,即数据包到达目标地址时需要经过的路由器或网关。
  • 接口: 数据包从哪个网卡出去。

添加路由

一旦我们了解了当前的路由配置,就可以开始添加新的路由了。

使用 ip route add 命令添加临时路由

要添加新的路由,可以使用 ip route add 命令。以下是该命令的基本语法:

ip route add <目标网络> via <下一跳地址> dev <出口网卡>
  • <目标网络>: 目标网络的IP地址及子网掩码,例如 192.168.1.0/24
  • <下一跳地址>: 数据包传输到目标网络时的下一跳地址。
  • <出口网卡>: 数据包传输到目标网络时的出口网卡。

例如,要将数据包发送到目标网络 192.168.2.0/24,下一跳地址为 192.168.1.1,出口网卡为 eth0,可以执行以下命令:

ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0

使用 ip route del 命令删除路由

如果需要删除已添加的路由,可以使用 ip route del 命令。以下是该命令的基本语法:

ip route del <目标网络>

例如,要删除之前添加的路由到目标网络 192.168.2.0/24,可以执行以下命令:

ip route del 192.168.2.0/24

永久保存路由配置

上述方法添加的路由是临时的,系统重启后会失效。如果需要永久保存路由配置,可以将路由信息添加到网络配置文件中。

在大多数Linux系统中,网络配置文件位于 /etc/network/interfaces/etc/sysconfig/network-scripts 目录下。你可以编辑这些文件,将路由信息添加到文件中。

例如,在 /etc/network/interfaces 文件中添加一行类似于以下内容的配置:

up ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0

使用 nmcli 在Linux上添加路由

除了使用传统的命令行工具之外,如 ip route add,Linux 还提供了 NetworkManager 命令行工具 nmcli,用于管理网络配置,包括添加路由。

确认 NetworkManager 服务状态

在使用 nmcli 之前,首先需要确认 NetworkManager 服务是否正在运行。可以使用以下命令检查服务状态:

sudo systemctl status NetworkManager

如果服务未运行,可以使用以下命令启动它:

sudo systemctl start NetworkManager

使用 nmcli 添加路由

添加临时路由

要添加临时路由,可以使用 nmcliconnection modify 命令。以下是添加临时路由的基本语法:

sudo nmcli connection modify <连接名称> +ipv4.routes "<目标网络>/<子网掩码> <下一跳地址>"
  • <连接名称>: 要添加路由的网络连接的名称。
  • <目标网络>/<子网掩码>: 要添加路由的目标网络和子网掩码。
  • <下一跳地址>: 数据包传输到目标网络时的下一跳地址。

例如,要将数据包发送到目标网络 192.168.2.0/24,下一跳地址为 192.168.1.1,可以执行以下命令:

sudo nmcli connection modify "Wired Connection 1" +ipv4.routes "192.168.2.0/24 192.168.1.1"

永久保存路由配置

要将添加的路由配置永久保存,可以使用 nmcliconnection modify 命令,并在后面加上 --persistent 选项。这将在网络配置文件中添加路由信息,以便在系统重新启动后仍然有效。

sudo nmcli connection modify "Wired Connection 1" +ipv4.routes "192.168.2.0/24 192.168.1.1" --persistent

检查路由配置

你可以使用 nmcli 命令来检查添加的路由配置,确保路由已正确添加:

nmcli connection show "Wired Connection 1"

这将显示与连接相关的详细信息,包括添加的路由信息。

目录
相关文章
|
7月前
|
Linux
Linux网关路由配置
Linux网关路由配置
68 0
|
Linux
如何在 Linux 上添加路由?
如何在 Linux 上添加路由?
1451 1
|
运维 Linux 网络虚拟化
【运维】Debian linux实现单臂路由
Debian linux实现单臂路由
1094 0
|
4月前
|
Ubuntu Linux
在Linux中,如何添加路由?
在Linux中,如何添加路由?
|
4月前
|
网络协议 Linux 网络架构
在Linux中,如何设置网络路由?
在Linux中,如何设置网络路由?
|
4月前
|
网络协议 Linux 网络安全
linux中跟踪路由命令,Linux命令:traceroute命令(路由跟踪)
【8月更文挑战第3天】traceroute是用来检测发出数据包的主机到目标主机之间所经过的网关数量的工具
180 5
|
4月前
|
Ubuntu 网络协议 Linux
在Linux中,如何使用MTR进行网络诊断和路由跟踪?
在Linux中,如何使用MTR进行网络诊断和路由跟踪?
|
6月前
|
运维 网络协议 Linux
Linux与Windows下追踪网络路由:traceroute、tracepath与tracert命令详解
Linux与Windows下追踪网络路由:traceroute、tracepath与tracert命令详解
1563 0
|
7月前
|
Ubuntu 网络协议 Linux
Linux(20) Ubuntu 20.04 网络接口自动切换路由配置
Linux(20) Ubuntu 20.04 网络接口自动切换路由配置
477 0
|
Linux
Linux系统的网卡路由配置
Linux系统的网卡路由配置
267 1