使用下边的route命令可以查看Linux内核路由表。

# route  
Destination     Gateway         Genmask Flags Metric Ref    Use Iface  
192.168.0.0     *               255.255.255.0   U     0      0        0 eth0  
169.254.0.0     *               255.255.0.0     U     0      0        0 eth0  
default         192.168.0.1     0.0.0.0         UG    0      0        0 eth0 

route命令的输出项说明

输出项说明

Destination

目标网关或则主机

Gateway

网段地址,”*”表示目标是本主机所属的网路,不须要路由

Genmask

网路网段

Flags

标记。一些可能的标记如下:

linux查看ip命令_命令查看linux版本_命令查看linux系统版本

U—路由是活动的

H—目标是一个主机

G—路由指向网段

R—恢复动态路由形成的表项

D—由路由的后台程序动态地安装

M—由路由的后台程序更改

!—拒绝路由

Metric

路由距离,抵达指定网路所需的中转数(linux内核中没有使用)

Ref

路由项引用次数(linux内核中没有使用)

Use

此路由项被路由软件查找的次数

Iface

该路由表项对应的输出插口

3种路由类型

主机路由

主机路由是路由选择表中指向单个IP地址或主机名的路由记录。主机路由的Flags数组为H。比如,在下边的示例中linux查看ip命令,本地主机通过IP地址192.168.1.1的路由器抵达IP地址为10.0.0.10的主机。

Destination    Gateway       Genmask Flags     Metric    Ref    Use    Iface
-----------    -------     -------            -----     ------    ---    ---    -----
10.0.0.10     192.168.1.1    255.255.255.255   UH       0    0      0    eth0

网路路由

网路路由是代表主机可以抵达的网路。网路路由的Flags数组为N。比如,在下边的示例中,本地主机将发送到网路192.19.1.2的数据包转发到IP地址为192.168.1.1的路由器。

Destination    Gateway       Genmask Flags    Metric    Ref     Use    Iface
-----------    -------     -------         -----    -----   ---    ---    -----
192.19.1.2     192.168.1.1    255.255.255.0      UN      0       0     0    eth0

默认路由

当主机不能在路由表中查找到目标主机的IP地址或网路路由时,数据包就被发送到默认路由(默认网段)上。默认路由的Flags数组为G。比如,在下边的示例中,默认路由是IP地址为192.168.1.1的路由器。

Destination    Gateway       Genmask Flags     Metric    Ref    Use    Iface
-----------    -------     ------- -----      ------    ---    ---    -----
default       192.168.1.1     0.0.0.0    UG       0        0     0    eth0

配置静态路由route命令

设置和查看路由表都可以用route命令,设置内核路由表的命令格式是:

# route  [add|del] [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]

其中:

route命令使用举例

添加到主机的路由

# route add -host 192.168.1.2 dev eth0   
# route add -host 10.20.30.148 gw 10.20.30.40     #添加到10.20.30.148的网关 

添加到网路的路由

# route add -net 10.20.30.40 netmask 255.255.255.248 eth0   #添加10.20.30.40的网络  
# route add -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41 #添加10.20.30.48的网络  
# route add -net 192.168.1.0/24 eth1  

添加默认路由

# route add default gw 192.168.1.1  

删掉路由

# route del -host 192.168.1.2 dev eth0:0  
# route del -host 10.20.30.148 gw 10.20.30.40  
# route del -net 10.20.30.40 netmask 255.255.255.248 eth0  
# route del -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41  
# route del -net 192.168.1.0/24 eth1  
# route del default gw 192.168.1.1  

设置包转发

CentOS中默认的内核配置已然包含了路由功能,但默认并没有在系统启动时启用此功能。开启linux的路由功能可以通过调整内核的网路参数来实现。要配置和调整内核参数可以使用sysctl命令。诸如:要开启Linux内核的数据包转发功能可以使用如下的命令。

# sysctl -w net.ipv4.ip_forward=1  

这样设置以后,当前系统能够实现包转发,但上次启动计算机时将失效。为了使在上次启动计算机时依然有效,须要将下边的行写入配置文件/etc/sysctl.conf。

# vi /etc/sysctl.conf  
net.ipv4.ip_forward = 1 

用户还可以使用如下的命令查看当前系统是否支持包转发。

# sysctl net.ipv4.ip_forward  

route命令:

Linux系统的route命令用于显示和操作IP路由表(show/manipulatetheIProutingtable)。要实现两个不同的子网之间的通讯,须要一台联接两个网路的路由器,或则同时坐落两个网路的网段来实现。在Linux系统中,设置路由一般是为了解决以下问题:该Linux系统在一个局域网中,局域网中有一个网段,才能让机器访问Internetlinux查看ip命令,这么就须要将这台机器的IP地址设置为Linux机器的默认路由。要注意的是linux操作系统培训,直接在命令行下执行route命令来添加路由,不会永久保存red hat linux,当网卡重启或则机器重启以后,该路由就失效了;可以在/etc/rc.local中添加route命令来保证该路由设置永久有效。

1.命令格式:

route[-f][-p][Command[Destination][maskNetmask][Gateway][metricMetric]][ifInterface]]

2.命令功能:

Route命令是用于操作基于内核ip路由表,它的主要作用是创建一个静态路由让指定一个主机或则一个网路通过一个网路插口,如eth0。当使用”add”或则”del”参数时,路由表被更改,假如没有参数,则显示路由表当前的内容。

3.命令参数:

Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复