route命令详解
route命令简介
route命令是Linux系统中的一个网络管理工具,用于显示和操作IP路由表。它可以用来查看当前系统的路由表信息,添加、删除或修改路由表项,以及显示路由表中的详细信息。route命令可以帮助用户诊断和解决网络连接问题,以及进行网络规划和优化。
查看route版本
route命令也属于net-tools工具集中的命令,如果linux系统没有此命令,我们可以通过安装net-tools软件包来安装此命令。
[root@s152 ~]# yum install -y 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
yum install -y net-tools
route --version
route-n 使用-n参数查看路由明细,当然不用参数也可以查看,-n表示不解析主机名。
使用add参数添加路由,可以添加一个网段也可以添加一个主机路由。
route add -net 192.168.122.0/24 gw 192.168.0.166
route add -net 192.168.122.0/24 dev eth0
使用del参数删除一段或者一个主机路由。
route del -net 192.168.122.0/24
添加一个主机路由
route add -host 192.168.122.1 gw 192.168.0.166
使用reject参数表示拒绝路由,用于访问安全控制,禁止主机访问明确不安全或者无权访问的主机。添加后查看路由表,状态为叹号,表示禁止访问,优先普通路由策略。
route add -host 192.168.122.1 reject
使用del default gw删除默认网关。
route del default gw 192.168.0.1
使用add default gw添加默认网关。
route add default gw 192.168.0.1
参数说明
| 参数选项 | 参数说明 |
|---|---|
| -n | 直接使用 IP 地址,不进行 DNS 解析主机 |
| -ee | 显示更详细的路由信息 |
| add | 添加路由信息 |
| del | 删除路由信息 |
| target | 指定目标网络或主机。可以用 IP 地址或主机/网络名 |
| -net | 到一个网络的路由,后面接的是一个网络号地址 |
| -host | 到一个主机的路由,后面接的是一个主机地址 |
| netmask NM | 为添加的路由指定网络掩码,NM表示掩码地址,如255.255.255.0 |
| gw GW | 为发往目标网络/主机的任何分组指定网关 |
| dev lf | 指定由哪个网络设备出去,后面接网络设备名,如 etho 等 |
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