当前位置:首页 > 行业动态 > 正文

如何在Linux系统中添加新的路由?

在 Linux 中增加路由的命令是 ip route add,后跟目标网络地址、网关和接口。

Linux中增加路由的方法

在Linux操作系统中,路由是网络通信的关键组件之一,通过添加路由,您可以指定数据包在网络中的传输路径,从而实现网络连接和数据转发,本文将详细介绍如何在Linux上添加路由,以便您根据需要配置网络路由并实现灵活的网络连接。

如何在Linux系统中添加新的路由?  第1张

一、使用route命令添加路由(临时路由)

route命令是Linux中用于显示和操作IP路由表的工具,使用route命令添加的路由是临时的,即在系统重启或网络接口重启后路由将失效。

1、添加到主机的路由

   route add -host <目标IP> dev <接口名>

将到192.168.1.100的路由添加到eth0接口:

   route add -host 192.168.1.100 dev eth0

或者,如果需要通过网关到达该主机:

   route add -host <目标IP> gw <网关IP>

通过网关192.168.1.1到达192.168.1.100:

   route add -host 192.168.1.100 gw 192.168.1.1

2、添加到网络的路由

   route add -net <网络地址> netmask <子网掩码> dev <接口名>

将到192.168.1.0/24的路由添加到eth0接口:

   route add -net 192.168.1.0 netmask 255.255.255.0 dev eth0

或者,如果需要通过网关到达该网络:

   route add -net <网络地址> netmask <子网掩码> gw <网关IP>

通过网关192.168.1.1到达192.168.1.0/24:

   route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1

也可以使用CIDR表示法(无需指定子网掩码):

   route add -net <网络/子网位数> dev <接口名>
   route add -net 192.168.1.0/24 dev eth0

3、添加默认网关

   route add default gw <网关IP>

设置默认网关为192.168.1.1:

   route add default gw 192.168.1.1

二、设置永久路由

由于route命令添加的路由是临时的,因此如果需要设置永久路由,则需要将路由配置添加到系统启动时自动执行的脚本或配置文件中,具体方法取决于Linux发行版和网络管理工具。

1、在/etc/rc.local中添加(已不推荐,但在某些旧系统中仍可用)

在/etc/rc.local文件的末尾添加route命令,该文件在系统启动时会被执行,因此可以添加路由配置,请注意,并非所有Linux发行版都支持或推荐使用/etc/rc.local。

   echo "route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1" >> /etc/rc.local
   # 确保/etc/rc.local具有执行权限
   chmod +x /etc/rc.local

2、在网络配置文件中添加

对于使用NetworkManager的系统,可以在NetworkManager的连接配置文件中添加路由,对于使用静态网络配置的系统(如某些Debian和Red Hat系统),可以在/etc/network/interfaces(Debian)或/etc/sysconfig/network-scripts/ifcfg-<接口名>(Red Hat)等文件中添加路由配置。

在/etc/network/interfaces中添加静态路由(Debian/Ubuntu):

   auto eth0
   iface eth0 inet static
       address 192.168.1.10
       netmask 255.255.255.0
       gateway 192.168.1.1
       up ip route add 192.168.2.0/24 via 192.168.1.254 dev eth0

3、使用ip命令和配置文件(推荐)

现代Linux系统推荐使用ip命令来管理路由和网络接口,以下是使用ip命令添加路由的步骤:

查看当前路由表:在添加路由之前,您可以使用以下命令查看当前的路由表:

     ip route show

该命令将显示当前系统的路由表信息,包括目标网络、下一跳网关、接口等。

添加新的路由:使用ip命令添加新的路由,以下是添加路由的基本语法:

     sudo ip route add <目标网络> via <下一跳网关> dev <接口>

要将目标网络192.168.0.0/24的数据包通过网关192.168.1.1发送到接口eth0,可以使用以下命令添加路由:

     sudo ip route add 192.168.0.0/24 via 192.168.1.1 dev eth0

验证新的路由:添加完新的路由后,您可以再次使用ip route show命令来验证是否成功添加了路由。

持久化路由设置:默认情况下,通过ip命令添加的路由是临时的,系统重启后将丢失,如果您希望路由设置在系统重启后仍然有效,可以将其持久化保存,以下是一种常用的方法:

使用/etc/network/interfaces文件:打开/etc/network/interfaces文件以编辑:

       sudo nano /etc/network/interfaces

在文件中找到适当的网络接口配置,添加以下行来定义持久化路由:

       up ip route add <目标网络> via <下一跳网关> dev <接口>

替换<目标网络>、<下一跳网关>和<接口>为相应的值,保存并关闭文件,路由将在每次启动网络接口时自动添加。

使用NetworkManager:如果您的系统使用NetworkManager来管理网络连接,您可以使用nmcli命令来添加持久化路由,以下是添加持久化路由的步骤:

使用以下命令打开NetworkManager的连接配置文件:

         sudo nano /etc/NetworkManager/system-connections/<连接名称>

将<连接名称>替换为您要添加路由的网络连接名称。

在文件的[ipv4]部分添加以下行来定义持久化路由:

         route1=dst=<目标网络>,nh=<下一跳网关>,dev=<接口>

替换<目标网络>、<下一跳网关>和<接口>为相应的值,保存并关闭文件,路由将在每次启动该网络连接时自动添加。

具体的持久化路由配置方法可能因不同的Linux发行版和网络管理工具而有所差异,请根据您使用的系统和工具的文档进行操作。

三、删除路由

如果您需要删除已添加的路由,可以使用以下命令:

sudo ip route del <目标网络> via <下一跳网关> dev <接口>

将<目标网络>、<下一跳网关>和<接口>替换为要删除的路由的相应值,要删除目标网络192.168.0.0/24的路由,可以使用以下命令:

sudo ip route del 192.168.0.0/24

四、FAQs相关问题与解答

Q1: 如何更改现有路由的优先级?

A1: 在Linux中,可以通过调整路由的metric值来更改其优先级,较低的metric值表示较高的优先级,可以使用以下命令更改现有路由的metric值:

sudo ip route change <目标网络> metric <新的metric值> dev <接口>

要将目标网络192.168.0.0/24的路由优先级更改为100,可以使用以下命令:

sudo ip route change 192.168.0.0/24 metric 100 dev eth0

Q2: 如何确保路由在系统重启后仍然有效?

A2: 要确保路由在系统重启后仍然有效,需要将路由配置添加到系统启动时自动执行的脚本或配置文件中,具体方法取决于Linux发行版和网络管理工具,对于现代Linux系统,推荐使用ip命令和NetworkManager或/etc/network/interfaces文件来持久化路由设置,请参考上述“设置永久路由”部分的说明。

到此,以上就是小编对于“linux 增加路由”的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位朋友在评论区讨论,给我留言。

0