1.静态路由、动态路由以及默认路由
路由器西路由表中的路由记录可以有动态路由和静态路由两种。
动态路由是依据路由合同手动估算生成的,而静态路由是由人工配置的。默认路由是静态路由中的一种,是由人工配置的,表示当一个路由转发恳请在路由表中匹配不到路由规则时,被默认执行的路由策略。默认路由,亦称为缺省路由或默认网段。
动态路由可以手动找寻最优路径,邻居路由也可以通过学习来获得路由表,而且动态路由占用线路带宽和CPU处理时间。静态路由是不须要CPU处理时间同样也不占用线路带宽,并且这个路由须要对终端的PC机进行配置网段来实现,工作量是比较大的。
2.RedHat/Centos中静态路由配置方式
(1)使用route命令redhat添加静态路由linux嵌入式开发,机器重启后失效
具体参见《linux路由配置命令route学习》,方式如下:
route add -net 192.168.0.0/24 gw 192.168.0.1
(2)使用ip命令,机器重启后失效
具体参见《linux网路配置命令ip(ifconfig+route)小结》,方式如下:
ip route add 192.168.10.0/24 via 192.168.5.100 dev eth1
(3)在/etc/sysconfig/network文件中配置路由信息,机器重启后依然后效
/etc/sysconfig/network中降低类似如下这样的配置:
default via 192.168.3.1 dev eth0 #192.168.3.1为eth0网卡的网关地址
10.211.6.0/24 via 192.168.3.1 dev eth0
10.0.0.0/8 via 10.212.52.1 dev eth1 #10.212.52.1为eth1网卡的网关地址
备注:在/etc/sysconfig/network配置GATEWAY=x.x.x.x表示的缺省路由哦
(4)在/etc/sysconfig/static-routes文件中配置路由信息,机器重启后依然有效
在/etc/sysconfig/static-routes中降低类似如下这样的配置:
any net any gw 192.168.3.1
any net 10.211.6.0/24 gw 192.168.3.1
any net 10.0.0.0 netmask 255.0.0.0 gw 10.212.52.1
备注:默认情况下主机中并没有该文件linux怎么查看系统版本,之所以该方式也可以是由于/etc/init.d/network启动脚本会调用该文件。
(5)在/etc/sysconfig/network-scripts/route-interferface为指定的网卡配置路由信息,机器重启后依然有效
比如为eth0网卡配置路由信息,须要在/etc/sysconfig/network-scripts/route-eth0中降低路由信息,在这儿有两种配置格式的写法:
A)普通的写法,方式如下:
0.0.0.0/0 via 192.168.3.1 dev eth0
10.211.6.0/24 via 192.168.3.1 dev eth0
B)网路网段法
ADDRESS0=0.0.0.0
NETMASK0=0.0.0.0
GATEWAY0=192.168.3.1
ADDRESS1=10.211.6.0
NETMASK1=255.255.255.0
GATEWAY1=192.168.3.1
备注:其中网段地址和网段全是0代表为所有网关,即默认路由。
备注:以上是在RedHat/Centos中的配置方式,假如在其他的Linux发行版中,可能配置文件就不是前面那些文件啦。须要注意下哦。
(6)路由的配置还可以写入到配置文件/etc/sysconfig/network-scripts/interface.route中,配置方式同/etc/sysconfig/network-scripts/route-interferface
(7)在网卡配置文件/etc/sysconfig/network-scripts/ifcfg-ethX中通过GATEWAY=X.X.X.X可以配置缺省路由哦
3.查看机器的路由表信息
netstat -nr
route -n
ip route list
ip route show
4.路由表规则举例
假定某机器有两块网卡,eth1配置私有ip地址10.10.89.21,eth0配置网段ip地址220.181.91.23.通过命令查看路由表信息如下:
[@localhost /etc/sysconfig/network-scripts]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 220.181.91.254 0.0.0.0 UG 350 0 0 eth0
10.0.0.0 10.10.89.254 255.128.0.0 UG 350 0 0 eth1
10.10.89.0 0.0.0.0 255.255.255.0 U 350 0 0 eth1
192.168.0.0 10.10.89.254 255.255.0.0 UG 350 0 0 eth1
220.181.91.0 0.0.0.0 255.255.255.0 U 350 0 0 eth0
简单剖析如下:
10.10.89.0 0.0.0.0 255.255.255.0 U 350 0 0 eth1
这条表示假如是数据包的目的地址是在10.10.89.0/24范围内,就不须要静态路由了,直接通过下联交换机转发就OK了。由于目的地址和eth1在同一个网关中,直接通过ARP合同获取目的机器化学地址,直接发送就OK了redhat添加静态路由,不须要路由器或网段的转发。其中Gateway=0.0.0.0就表示不须要指定网段,直接发送就OK了。
220.181.91.0 0.0.0.0 255.255.255.0 U 350 0 0 eth0
该条路由规则解释同上。
192.168.0.0 10.10.89.254 255.255.0.0 UG 350 0 0 eth1
10.0.0.0 10.10.89.254 255.128.0.0 UG 350 0 0 eth1
倘若目的地址是私网网关,这么静态路由就是10.10.89.254,且数据包从eth1网卡出去。
0.0.0.0 220.181.91.254 0.0.0.0 UG 350 0 0 eth0
这就是大名鼎鼎的缺省路由或默认网段了,表示当目的地址没有匹配到任何一条路由规则时,才会被发送到缺省路由。这儿表示发送到网段的默认网段地址,且数据包从eth0发送出去。
备注:我们可以使用traceroute命令,来验证上述的路由规则哦
参考资料参见于: