Linux route命令实战:route 命令实战教程,配置静态路由,删除路由表项

前言

大家好,又见面了,我是沐风晓月,本文是专栏【linux基本功-基础命令实战】的第61篇文章。

专栏地址:[linux基本功-基础命令专栏] , 此专栏是沐风晓月对Linux常用命令的汇总,希望能够加深自己的印象,以及帮助到其他的小伙伴。

如果文章有什么需要改进的地方还请大佬不吝赐教。

文章目录

  • 前言
  • 一. route命令介绍
  • 二. 语法格式及常用选项
  • 三. 参考案例
    • 3.1 显示当前的路由表
    • 3.2 添加一个网络
    • 3.3 指定网关添加网络
    • 3.4 添加一个主机IP
    • 3.5 删除网络
    • 3.6 删除主机
  • 总结

个人主页:我是沐风晓月
个人简介:大家好,我是沐风晓月,双一流院校计算机专业
座右铭: 先努力成长自己,再帮助更多的人 ,一起加油进步
欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信

我新建了一个英语学习社区,欢迎关注,一起学习:https://bbs.csdn.net/forums/mufengEnotes

一. route命令介绍

route 命令用于显示和操作IP路由表。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现.

在Linux系统中设置路由通常是为了解决以下问题:
该Linux系统在一个局域网中,局域网中有一个网关,能够让机器访问Internet,那么就需要将这台机器的ip地址设置为Linux机器的默认路由。

要注意的是,直接在命令行下执行route命令来添加路由,不会永久保存,当网卡重启或者机器重启之后,该路由就失效了;

可以在/etc/rc.local中添加route命令来保证该路由设置永久有效

二. 语法格式及常用选项

依据惯例,我们还是先查看帮助,使用 route --help

常用的参数:

参数 描述
-A 设置地址类型;
-C 打印将Linux核心的路由缓存;
-v 详细信息模式;
-n 不执行DNS反向查找,直接显示数字形式的IP地址;
-e netstat格式显示路由表;
-net 到一个网络的路由表;
-host 到一个主机的路由表。

常用的命令参数:

参数 描述
add 增加指定的路由记录;
del 删除指定的路由记录;
target 目的网络或目的主机;
gw 设置默认网关;
mss 设置TCP的最大区块长度(MSS),单位MB;
window 指定通过路由表的TCP连接的TCP窗口大小;
dev 路由记录所表示的网络接口
-host 设置目标主机地址
-net 设置目标主机或者子网的网络地址

三. 参考案例

3.1 显示当前的路由表

[root@mufenggrow ~]# route 
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         cmcc.wifi       0.0.0.0         UG    100    0        0 ens32
192.168.1.0     0.0.0.0         255.255.255.0   U     100    0        0 ens32
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
[root@mufenggrow ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0        0 ens32
192.168.1.0     0.0.0.0         255.255.255.0   U     100    0        0 ens32
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
[root@mufenggrow ~]# 

注释:

route 命令显示了主机的路由表。第一行显示默认路由表项,网络目的地址为 0.0.0.0,这意味着这是默认路由表项默认网关为 cmcc.wifi。

第二行指向本地网络 192.168.1.0,其掩码为 255.255.255.0,使用接口 ens32。

第三行指向虚拟机网络 192.168.122.0,其掩码为 255.255.255.0,使用接口 virbr0。

使用 -n 选项可以以数字形式显示 IP 地址,而不是使用主机名称。

各个参数的介绍:

参数 描述
Destination 目的地址;
Gateway 指定的网关;
Genmask 掩码;
Flags 网络节点的状态;U(used):使用中,G(gateway):网关 ,H(host):是一个主机而非网络。
Metric 下一跳;
Ref 被引用的次数;
Iface 网卡。

这里面有一列是flags,我们来看看他的含义

参数 含义
U 路由是活动的
H 目标是个主机
G 需要经过网关
R 恢复动态路由产生的表项
D 由路由的后台程序动态地安装
M 由路由的后台程序修改
! 拒绝路由

3.2 添加一个网络

[root@mufenggrow ~]# route add -net 10.0.0.0/24 dev ens32
[root@mufenggrow ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0        0 ens32
10.0.0.0        0.0.0.0         255.255.255.0   U     0      0        0 ens32
192.168.1.0     0.0.0.0         255.255.255.0   U     100    0        0 ens32
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

这条命令的作用是向内核的路由表中添加一个规则,指示所有地址为 10.0.0.0/24 的数据包通过指定的网络设备 ens32 进行传输。

具体解释如下:

route: 命令名称,用于查看和设置内核的 IP 路由表。

add:添加一条新的路由规则

-net 10.0.0.0/24: 设置了匹配的网络目的地址,即 10.0.0.0 这个子网,其掩码为 255.255.255.0。

dev ens32:指定数据包从哪个网络接口发送,这里是 ens32。

因此,在执行该命令后,所有目标 IP 地址属于 10.0.0.0/24 子网的数据包将通过 ens32 接口进行传输。这通常用于将流量路由到特定的网络或接口上,例如将某些流量从一个子网路由到另一个子网,或将流量从一个网络设备路由到另一个网络设备。

3.3 指定网关添加网络

[root@mufenggrow ~]# route add -net 10.1.0.0/24 dev ens32 gw 192.168.1.2
[root@mufenggrow ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0        0 ens32
10.0.0.0        0.0.0.0         255.255.255.0   U     0      0        0 ens32
10.1.0.0        192.168.1.2     255.255.255.0   UG    0      0        0 ens32
192.168.1.0     0.0.0.0         255.255.255.0   U     100    0        0 ens32
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

3.4 添加一个主机IP

[root@mufenggrow ~]# route add -host 10.1.1.3 dev ens32
[root@mufenggrow ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0        0 ens32
10.0.0.0        0.0.0.0         255.255.255.0   U     0      0        0 ens32
10.1.0.0        192.168.1.2     255.255.255.0   UG    0      0        0 ens32
10.1.1.3        0.0.0.0         255.255.255.255 UH    0      0        0 ens32
192.168.1.0     0.0.0.0         255.255.255.0   U     100    0        0 ens32
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

3.5 删除网络

route del -net 10.0.0.0/24

3.6 删除主机

route del -host 10.1.1.1

总结

route 命令在日常工作中,应用的比较广泛,一定要认真学习,记熟记牢常用参数。

好啦,这就是今天要分享给大家的全部内容了,我们下期再见!✨ ✨ ✨
如果你喜欢的话,就不要吝惜你的一键三连了~

请添加图片描述
在这里插入图片描述

你可能感兴趣的:(#,1,-,linux基本功-基础命令实战,linux,服务器,运维)