路由控制(选路) 汇总.note
·按照排列顺序定义优先选择的放啊,越靠前的方式越推荐,越优先
1、EIGRP:
(1)修改接口 delay(延迟):
接口默认 delay:10
delay越小,metric值越小
# 修改出接口的delay(路由从哪边出去,就改哪边的delay)
interface g0/0
delay 1(2)offset-list:
in方向:对邻居传入的路由增加跳数/度量值
out方向:对从本地传给邻居的路由增加跳数/度量值
access-list 1 permit 1.1.1.1 /32
router eigrp 100
# 第一个值指定0可以匹配所有路由
# 第二个值表示要增加的路由跳数/度量值
# 最后的接口可以不加,加了就只对单个接口生效,不加就对所有接口生效
offset-list 1 out 1 g0/1(3)在重分发时调用 route-map 来修改 metric 值
(4)配置 非等价负载均衡路由:
router eigrp 1
variance 22、OSPF:
(1)修改接口 cost 值(最推荐):
cost 默认值为 1(值越低越优先)
改cost值会影响出去的路由,例如R1 去往 R2有G0/0、G0/1两个接口,将G0/0接口的cost值设置为10,那么流量就不会走G0/0了,会优先走G0/1
# OSPFv2:
interface GigabitEthernet0/0
ip ospf cost 10
# OSPFv3:
interface GigabitEthernet0/0
ospfv3 cost 10(2)修改 OSPF 参考带宽,让它自动计算 cost值:
必须在OSPF所有设备(哪怕不同area)中配置,否则会导致选路问题
其实不会影响到路由选路,会自动计算cost,用 下面定义的bandwidth 除以 真实带宽 就等于 cost值(cisco中真实带宽默认都是1000)
router ospf 1
auto-cost reference-bandwidth 100000 //这样cost会自动计算为100(因为 100000/1000=100)
#auto-cost reference-bandwidth 10000 //这样cost会自动计算为10(因为 10000/1000=10)(3)在重分发时调用 route-map 来修改 metric 值、将路由类型改为 E1 让它通过链路自动叠加 cost。
(4)max-metric 将本机传出去的所有路由设置为最大cost值:
让本机继续保持OSPF邻居关系,但是把经过本机的路由,metric(cost)设置为最大值,让流量尽量先不通过该路由器
如果本机作为区域ABR,还会影响区域间的路由,让它优先不走本机
比赛如果要考,大概率只会考 on-startup 这个参数,因为其他参数都能用 route-map 做到一样的效果
·一直将cost设置为最大值:
默认只影响经过的路由,本机的直连网段(没有建立ospf邻居的直连网段),这个网段的路由也不会影响,同时默认也不会影响 外部路由、汇总路由。这些都要额外指定参数
router ospf 1
max-metric router-lsa
# 所以假设题目要求将该路由器设置为备份路由器,那么一般这样配置:
max-metric router-lsa summary-lsa external-lsa //并且还可以手动指定将这些路由改为什么cost值,而不是必须最大值·将本机产生的 外部路由、汇总路由、本地直连路由 的cost也修改:
默认不会修改 汇总路由、外部路由、直连路由(本机独有,没有其他OSPF邻居的路由)的 cost 值
# 可以组合使用,也可以单独使用:
router ospf 1
max-metric router-lsa summary-lsa external-lsa
# max-metric router-lsa include-stub //同时也影响本机独有的直连路由(无ospf邻居)·路由器启动后的多少秒内,不转发流量(将cost值设置为最大值):
router ospf 1
max-metric router-lsa on-startup 10·等待BGP路由收敛后,再将路由cost值恢复到正常(当路由器启动后):
假设本机路由器同时运行ospf和bgp,当机器重启后,ospf启动和获取路由会比BGP更快,此时如果有流量来到本机,但是bgp还没有收敛完成(例如bgp默认路由还没有),那么该流量就会被丢弃
(如果bgp一直不收敛,最多等待600秒)
router ospf 1
max-metric router-lsa on-startup wait-for-bgp3、BGP:
BGP按下面的顺序来选择最优路径(当值相同时才选择下一项):
1、最高Weight值
2、最高LOCAL_PREF值
3、是否为本地发起路由(下一跳为0.0.0.0的路由)
4、最短AS_PATH(使用bgp bestpath as-path ignore可以忽略对AS_PATH的比较)(使用ip as-path acl可以手动增加AS_PATH)
5、最优Origin类型(IGP优于EGP优于Incomplete[重分发])
6、最小MED值
7、eBGP优于iBGP
8、最优IGP metric值
9、负载均衡(如果开启),如果上面的值全都相同(包括AS-PATH),就会开启负载均衡(最大支持6条,默认为1条),否则,继续比较下一个属性
10、如果下一跳都为eBGP,则选择最早学习到的路由(存在时间最长的路由)
11、最低Router-ID下一跳
12、最短cluster list(只在reflector RR反射器的环境存在,功能如同AS_PATH)
13、最小下一跳的邻居地址(1)修改 Local Preference:
仅影响当前iBGP,仅在iBGP范围内传播
值越大越优先,默认值100
ip prefix-list TO-INTERNET permit 0.0.0.0/0 //匹配默认路由
route-map SET-LOCALPREF permit 10
match ip address prefix-list TO-INTERNET
set local-preference 200
router bgp 65001
neighbor 12.1.1.1 route-map SET-LOCALPREF in(2)weight:
仅本地有效,不会传给邻居
值越大越优先,默认值 0(本地生成的路由32768)
route-map SET-WEIGHT permit 10
set weight 500
router bgp 65001
neighbor 12.1.1.1 route-map SET-WEIGHT in
# 或者直接设置邻居 weight值:
router bgp 65001
neighbor 12.1.1.1 weight 500 //从该邻居学习到的所以路由weight都设置为 500(3)修改 AS-PATH,影响eBGP路径:
增加本地的AS-PATH长度,就能影响eBGP优先走另一台路由器
ip prefix-list MY-PREFIX permit 192.168.10.0/24
route-map PREPEND permit 10
match ip address prefix-list MY-PREFIX
set as-path prepend 65001 65001 65001
router bgp 65001
neighbor 12.1.1.1 route-map PREPEND out(4)community:
用community 为路由打上标签,然后针对这个community标签进行控制、过滤
ip prefix-list MY-PREFIX permit 192.168.10.0/24
route-map SET-COMM permit 10
match ip address prefix-list MY-PREFIX
set community 65000:100 additive
router bgp 65001
neighbor 12.1.1.1 send-community
neighbor 12.1.1.1 route-map SET-COMM out(5)MED:
可以影响eBGP和iBGP
越小越优先,默认值0
ip prefix-list MY-PREFIX permit 192.168.10.0/24
route-map SET-MED permit 10
match ip address prefix-list MY-PREFIX
set metric 50
router bgp 65001
neighbor 12.1.1.1 route-map SET-MED out(6)BGP 额外参数:
·选路时忽略 AS_PATH:
router bgp 65001
bgp bestpath as-path ignore·让相同AS之间比较MED更加稳定:
优化AS之间的MED比较,让相同AS的进入同一个组进行比较,选出最优的那条(这条是优化选项,可以常驻配置,不会引发问题)
因为默认选择比较MED时,如果有其他AS参与,可能不会选择到最优路径
router bgp 65001
bgp deterministic-med·不管来自哪个AS,都强制比较MED:
默认情况下,MED只在 来自同一个AS 的路由之间进行比较
配置了这个之后,就能够在不同AS之间进行比较MED
router bgp 65000
bgp always-compare-med4、不同协议间选路:
·默认选路:

# 默认是这样选路的:
直连 > 静态 > EIGRP 汇总 > eBGP > EIGRP 内部 > OSPF > EIGRP 外部 > iBGP·降低AD值的命令:
# EIGRP:
router eigrp 1
distance eigrp 90 100 //设置内部路由AD值为90(不变),外部路由设置为100
# OSPF:
router ospf 1
distance ospf intra-area 100 inter-area 100 external 121
## intra-area:区域内
## inter-area:区域间
## external:外部
# BGP:
router bgp 65000
distance bgp 20 100 200
# 第一个值20:eBGP路由AD值
# 第二个值100:iBGP路由AD值
# 第三个值200:本地产生的BGP路由的AD值5、PBR:
(1)在 源接口应用,控制通过的路由:
# 配置 ACL匹配路由:
access-list 10 permit 192.168.1.0 0.0.0.255
# 配置 route-map 设置下一跳:
route-map PBR permit 10
match ip address 10
set ip next-hop 1.1.1.1
# 在 源接口应用 PBR:(该路由从哪个接口进入,就在哪个接口应用)
interface g0/0
ip policy route-map PBR (2)在 本地应用,控制始发于本地的路由:
# 配置 ACL匹配路由:
access-list 10 permit 192.168.1.0 0.0.0.255
# 配置 route-map 设置下一跳:
route-map PBR permit 10
match ip address 10 / match interface Loopback 0 //这里使用 match interface 会好一点
set ip next-hop 1.1.1.1
# 应用PBR(控制始发于本地的路由)
ip local policy route-map PBR测试使用 traceroute [IP] source
(3)配置 SLA、Track检测,设置两条或多条 set ip next-hop:
# 先配置 sla监测:
ip sla 1
icmp-echo 1.1.1.2 source-interface GigabitEthernet0/0 //监测 1.1.1.2 的对端地址,使用Gig0/0为源地址
frequency 5 //监测间隔为 5秒
ip sla schedule 1 life forever start-time now //启用sla1
ip sla 2
icmp-echo 2.2.2.2 source-interface GigabitEthernet0/3
frequency 5
ip sla schedule 2 life forever start-time now
# 配置 track关联sla:
track 1 ip sla 1 reachability
track 2 ip sla 2 reachability
# 配置 ACL,匹配内网流量:
ip access-list extended NAT
deny ip 192.168.1.0 0.0.0.255 172.16.1.0 0.0.0.255 // 这条是拒绝VPN流量(如果配置了VPN就需要,如果不拒绝就会将去往VPN的流量也NAT,导致VPN内网无法通信)
permit ip 192.168.1.0 0.0.0.255 any
# 配置 路由策略:
route-map POLICY
match ip address NAT
set ip next-hop verify-availability 1.1.1.2 1 track 1 //匹配内网地址,设置下一跳为 1.1.1.2,设置优先级为1,应用track 1,当track 1状态为 up时应用该策略,当为 down时则不应用(优先启用这条,因为优先级为 1)
set ip next-hop verify-availability 2.2.2.2 2 track 2 //匹配内网地址,设置下一跳为 2.2.2.2,设置优先级为2,应用track 2,当track 2状态为 up时应用该策略,当为 down时则不应用
## 如果想要优先走 G0/3 进行NAT转换,那么就将 2.2.2.2 那条的优先级设置为1,将 1.1.1.1 的优先级设置为 2
# 在内网接口应用路由策略:
int g0/2
ip policy route-map POLICY
## 如果有多个内网接口:
int ra g0/1-2
ip policy route-map POLICY