静态路由 | 动态路由 | 默认路由的配置方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wangjianno2/article/details/69937374
1.静态路由、动态路由以及默认路由
       路由器中路由表中的路由记录可以有动态路由和静态路由两种。
       动态路由是根据路由协议自动计算生成的,而静态路由是由人工配置的。默认路由是静态路由中的一种,是由人工配置的,表示当一个路由转发请求在路由表中匹配不到路由规则时,被默认执行的路由策略。默认路由,也称为缺省路由或默认网关。
       动态路由可以自动寻找最优路径,邻居路由也可以通过学习来获得路由表,但是动态路由占用线路带宽和CPU处理时间。 静态路由是不需要CPU处理时间同样也不占用线路带宽,但是这个路由需要对终端的PC机进行配置网关来实现,工作量是比较大的。

2.RedHat/Centos中静态路由配置方法
(1)使用route命令,机器重启后失效
具体参见《 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
备注: 默认情况下主机中并没有该文件,之所以该方法也可以是因为/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了,不需要路由器或网关的转发。其中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命令,来验证上述的路由规则哦


参考资料参见于:

猜你喜欢

转载自blog.csdn.net/wangjianno2/article/details/69937374
今日推荐