Linux命令之网络命令route详解

 更新时间:2023年10月31日 11:31:42   作者:恒悦sunsite  
route命令是Linux系统中的一个网络管理工具,用于显示和操作IP路由表,它可以用来查看当前系统的路由表信息,添加、删除或修改路由表项,以及显示路由表中的详细信息,本文给大家介绍Linux命令之网络命令route详解,感兴趣的朋友一起看看吧

一、route命令简介

  route命令是Linux系统中的一个网络管理工具,用于显示和操作IP路由表。它可以用来查看当前系统的路由表信息,添加、删除或修改路由表项,以及显示路由表中的详细信息。route命令可以帮助用户诊断和解决网络连接问题,以及进行网络规划和优化。

二、route命令使用示例

1、查看命令版本

  route命令也属于net-tools工具集中的命令,如果linux系统没有此命令,我们可以通过安装net-tools软件包来安装此命令。

[root@s152 ~]# route --version
net-tools 2.10-alpha
+NEW_ADDRT +RTF_IRTT +RTF_REJECT +I18N +SELINUX
AF: (inet) +UNIX +INET +INET6 +IPX +AX25 +NETROM +X25 +ATALK +ECONET +ROSE -BLUETOOTH
HW: +ETHER +ARC +SLIP +PPP +TUNNEL -TR +AX25 +NETROM +X25 +FR +ROSE +ASH +SIT +FDDI +HIPPI +HDLC/LAPB +EUI64

2、获取命令帮助

  通过–help或者-h参数可以获取命令帮助,route命令可以查看或者更新、修改、删除系统路由表。

3、查看操作系统路由

  使用-n参数查看路由明细,当然不用参数也可以查看,-n表示不解析主机名。

[root@s152 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 100 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0

4、添加一段路由

  使用add参数添加路由,可以添加一个网段也可以添加一个主机路由。

[root@s152 ~]# route add -net 192.168.122.0/24 gw 192.168.0.166
[root@s152 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 100 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
192.168.122.0 192.168.0.166 255.255.255.0 UG 0 0 0 eth0

5、删除一段路由

  使用del参数删除一段或者一个主机路由。

[root@s152 ~]# route del -net 192.168.122.0/24
[root@s152 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 100 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0

5、添加一个主机路由

[root@s152 ~]# route add -host 192.168.122.1 gw 192.168.0.166
[root@s152 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 100 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
192.168.122.1 192.168.0.166 255.255.255.255 UGH 0 0 0 eth0
[root@s152 ~]# ping 192.168.122.1
PING 192.168.122.1 (192.168.122.1) 56(84) bytes of data.
64 bytes from 192.168.122.1: icmp_seq=1 ttl=64 time=0.795 ms
…

6、添加一条禁止访问路由

  使用reject参数表示拒绝路由,用于访问安全控制,禁止主机访问明确不安全或者无权访问的主机。添加后查看路由表,状态为叹号,表示禁止访问,优先普通路由策略。

7、删除默认路由

  使用del default gw删除默认网关。

[root@s166 ~]# route del default gw 192.168.0.1
[root@s166 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0

8、添加默认路由

  使用add default gw添加默认网关。

[root@s166 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
[root@s166 ~]# route add default gw 192.168.0.1
[root@s166 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0

三、route命令使用语法及参数说明

1、使用语法

查看路由用法:#route [-nNvee] [-FC] []
更新路由用法:#route [-v] [-FC] {add|del|flush} …

2、参数说明

参数选项参数说明
-n直接使用 IP 地址,不进行 DNS 解析主机
-ee显示更详细的路由信息
add添加路由信息
del删除路由信息
target指定目标网络或主机。可以用 IP 地址或主机/网络名
-net到一个网络的路由,后面接的是一个网络号地址
-host到一个主机的路由,后面接的是一个主机地址
netmask NM为添加的路由指定网络掩码,NM表示掩码地址,如255.255.255.0
gw GW为发往目标网络/主机的任何分组指定网关
dev lf指定由哪个网络设备出去,后面接网络设备名,如 etho 等

3、Flags路由标记信息

Flags标记标记说明
U(route is up)表示此路由当前为启动状态
H(target is a host)目标路由是一个主机(IP)而非网络
R(reinstate route for dynamic routing):使用动态路由时,恢复路由信息标识
G(use gateway)表示需要通过外部的主机(gateway)来转接传递数据
M(modified from routing daemon or redirect)表示路由已经被修改了
D(dynamically installed by daemon or redirect)已经服务设定为动态路由
!(reject route )这个路由将不会被接受( 用来抵挡不安全的网络)

四、静态路由永久配置方式

  我们使用route命令配置的路由都是临时生效,在网卡重启或者系统重启后配置失效,如果我们需要配置永久静态路由可以使用如下几种方式。

方式一:

vi /etc/sysconfig/network-scripts/route-eth0 #<==默认不存在此文件
加入如下内容
192.168.1.0/24 via 10.0.0.254

方式二:

vi /etc/sysconfig/static-routes #<==默认不存在此文件
加入如下内容
any net 192.168.1.0/24 gw 10.0.0.254

方式三:

vi /etc/rc.local
加入如下内容
route add -net 192.168.1.0/24 gw 10.0.0.254

到此这篇关于Linux命令之网络命令route详解的文章就介绍到这了,更多相关Linux route命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 加固Linux系统的三种方法总结

    加固Linux系统的三种方法总结

    这篇文章主要介绍了加固Linux系统的三种方法总结的相关资料,通过本文希望大家能掌握这部分内容,需要的朋友可以参考下
    2017-08-08
  • shell脚本检查域名证书是否过期的流程分析

    shell脚本检查域名证书是否过期的流程分析

    由于域名即将过期,所以最近打算替换相关网站证书为最新的,主要的流程就是读取文件中的域名,然后进行https访问获取到证书过期的时间,如果域名连接不上,则会直接跳过,具体详细过程跟随小编一起通过本文学习下吧
    2022-02-02
  • Linux查找处理文件名后包含空格的文件(两种方法)

    Linux查找处理文件名后包含空格的文件(两种方法)

    在linux中如何查找处理文件名后包含空格的文件呢?怎么批量替换处理这些空格呢?下面小编给大家带来了两种方法,需要的朋友参考下吧
    2017-11-11
  • shell脚本将Oracle服务器中数据定时增量刷新到ftp服务器中

    shell脚本将Oracle服务器中数据定时增量刷新到ftp服务器中

    这篇文章主要介绍了shell脚本将Oracle服务器中数据定时增量刷新到ftp服务器中,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-08-08
  • Shell调用curl实现IP归属地查询的脚本

    Shell调用curl实现IP归属地查询的脚本

    这篇文章主要介绍了Shell调用curl实现IP归属地查询,文中给大家提到了查询IP归属地的shell脚本,在批量查找数据的时候经常会遇到,今天给大家分享出来,需要的朋友可以参考下
    2021-07-07
  • linux上搭建solr的实现方法(用jetty部署)

    linux上搭建solr的实现方法(用jetty部署)

    下面小编就为大家分享一篇linux上搭建solr的实现方法(用jetty部署),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • shell查找某字符串在某文件中出现行数的方法

    shell查找某字符串在某文件中出现行数的方法

    这篇文章主要介绍了shell查找某字符串在某文件中出现行数的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02
  • CentOS下对shell脚本加密的二种方法

    CentOS下对shell脚本加密的二种方法

    这篇文章主要介绍了CentOS下对shell脚本加密的二种方法,本文介绍了gzexe、shc两款加密工具,并分别讲解了加密方法,需要的朋友可以参考下
    2014-12-12
  • shell脚本免交互的实现

    shell脚本免交互的实现

    交互就是实现一个功能时,不需要连续从键盘输入信息,通过脚本或命令自动完成一些动作,本文主要介绍了shell脚本免交互的实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • linux shell 路径截取正则表达式

    linux shell 路径截取正则表达式

    这篇文章主要介绍了linux shell 路径截取正则表达式的相关资料,需要的朋友可以参考下
    2016-10-10

最新评论