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


    前言

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

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

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

    🏠个人主页:我是沐风晓月
    🧑个人简介:大家好,我是沐风晓月,双一流院校计算机专业😉😉
    💕 座右铭: 先努力成长自己,再帮助更多的人 ,一起加油进步🍺🍺🍺
    💕欢迎大家:这里是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地址;
    -enetstat格式显示路由表;
    -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 ~]# 
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    注释:

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    这条命令的作用是向内核的路由表中添加一个规则,指示所有地址为 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    3.5 删除网络

    route del -net 10.0.0.0/24
    
    
    • 1
    • 2

    3.6 删除主机

    route del -host 10.1.1.1
    
    
    • 1
    • 2

    总结

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

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

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

  • 相关阅读:
    安全协议的匿名性
    【算法思考】端到端实例分割模型 SOLO
    朴素贝叶斯模型
    Java基于SpringBoot+Vue+nodejs的企业公司人事管理系统 Element
    Redisson 的 AsyncSemaphore 源码剖析 聊聊 Semaphore 限流器
    R语言使用mlr包创建决策树分类任务、网格搜索、交叉验证获取决策树(decision tree)的最佳超参数组合
    NodeMCU ESP8266 外设的 Arduino API 接口介绍
    海思3516系列芯片SPI速率慢问题深入分析与优化(基于PL022 SPI 控制器)
    Chat GPT:智能对话的下一步
    如何限制内网网速
  • 原文地址:https://blog.csdn.net/wisdom_futrue/article/details/131122711