• eBGP 发送过来的路由是缺失MED值的,所以R4 和 R6都把他设为了0,向iBGP内部宣告。所以在R5 上看到的路由条目Metric都是0

实验01 - MED Basic - 图1

  • 我们先在R4 上执行bgp bestpath med missing-as-worst,可以看到在R4 上Metric 变成了最大值。同时在R上,之前来自R4的路由消失了。因为R4知道现在走R6是更优路由,所以向R5和R6 撤回了之前走R2(10.24.1.1)的路由
    • 通过iBGP 学到的路由,不会再继续传给另1个iBGP 路由。R4 从 R6 学到的路由,不会再继续向R5 传递

实验01 - MED Basic - 图2

  • 再来看 如何手动设置MED

在R2 上做 Outbound

  • 思路一致,先prefix-list,再route-map,然后bgp 挂载。然后到R4上观察 172.16.0.0/24 的Metric 变成了222
  1. #R2
  2. ip prefix-list PRE_172_16 seq 5 permit 172.16.0.0/24
  3. ipv6 ioam timestamp
  4. !
  5. route-map AS_MED_172_16 permit 10
  6. match ip address prefix-list PRE_172_16
  7. set metric 222
  8. !
  9. route-map AS_MED_172_16 permit 20
  10. !
  11. router bgp 65200
  12. address-family ipv4
  13. neighbor 10.24.1.2 route-map AS_MED_172_16 out

实验01 - MED Basic - 图3

在R4 上做 INbound

  • 可以看到R4 上的设置,覆盖了R2 发送过来的MED值
  1. router bgp 65400
  2. address-family ipv4
  3. neighbor 10.24.1.1 route-map RM_MED_172_16 in
  4. ip prefix-list PRE_172_16 seq 5 permit 172.16.0.0/24
  5. ipv6 ioam timestamp
  6. !
  7. route-map RM_MED_172_16 permit 10
  8. match ip address prefix-list PRE_172_16
  9. set metric 444
  10. !
  11. route-map RM_MED_172_16 permit 20
  12. !

实验01 - MED Basic - 图4