查看本机路由表:
[root@controller02 ~]# cat /etc/iproute2/rt_tables
#
# reserved values
#
linux 系统中,可以自定义从 1-252个路由表,其中,linux系统维护了4个路由表:
- 0#表: 系统保留表
- 253#表: defulte table 没特别指定的默认路由都放在改表
- 254#表: main table 没指明路由表的所有路由放在该表
- 255#表: locale table 保存本地接口地址,广播地址、NAT地址 由系统维护,用户不得更改
路由表的查看可有以下二种方法:
- ip route list table table_number
- ip route list table table_name
增加路由表mky_route 路由表200:
增加规则
[root@controller02 ~]# ip rule add from 192.168.100.101 table mky_route
查看规则:
[root@controller02 ~]# ip rule ls
在 Linux 系统启动时,内核会为路由策略数据库配置三条缺省的规则:
- 32766 匹配任何条件 查询路由表main(ID 254) 路由表main(ID 254)是一个通常的表,包含所有的无策略路由。系统管理员可以删除或者使用另外的规则覆盖这条规则。
- 32767 匹配任何条件 查询路由表default(ID 253) 路由表default(ID 253)是一个空表,它是为一些后续处理保留的。对于前面的缺省策略没有匹配到的数据包,系统使用这个策略进行处理。这个规则也可以删除。
根据上面的方法我们就可以实现策略路由:
加入我们有这2个网段
192.168.100.X
192.168.200.X
我们分别创建2个不同的路由表
ip rule add from 192.168.100.101 table route100
ip rule add from 192.168.100.101 table route200
分别在不同的路由表中配置默认路由:
ip route add default via 192.168.100.254 dev eth100 table route100 #默认走eth100 网关地址192.168.100.254
也可以按照权重来走:
网段都走10表
ip route add default scope global nexthop via 100.100.100.1 weight 1 nexthop via 200.200.200.1 weight 2
最短路径算法:
动态路由协议:
1. 基于链路状态路由算法的 OSPF
2. 基于距离矢量路由算法的 BGP