linux系统路由表和路由策略
路由表和路由策略的关系:
系统根据满足路由策略条件来指定由哪个路由表来路由,多个策略可以指向同一个路由表,如果没有策略指向该路由表,则该路由表是没用的。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ip route路由表
linux系统默认路由表可在cat /etc/iproute2/rt_tables中查看:
如上图系统默认四张路由表:local表,table_id为255,为本地路由表,管理本地回环广播等,不需要动;
main表默认的主路由表table_id为254,ip route add default via 0.0.0.0默认添加到此路由表
default为默认路由表table_id为253
unspec系统保留table_id为0
root用户也可以自定义路由表:
1. echo "100 test" >> /etc/iproute2/rt_tables 系统重启有效 100为table_id test为表名
2. ip route add default via 0.0.0.0 table 200 表没在/etc/iproute2/rt_tables中保存,系统重启 失效(添加路由到不存在的表,系统自动创建表)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ip rule策略路由
一条路由策略rule主要包含三个信息:优先级(数小优先级高0>32766>32767),条件,路由表
系统启动默认策略
尝试自己添加策略:ip rule add from 1.1.1.1 table 200 pref 32800 从1.1.1.1过来的数据由路由表200处理,pref优先级为32800优先级比default低,匹配不到
匹配优先级从上到下
ip rule 用法: