首先给出正则表达式的基本规则
使用三台Cisco2500实现图中的拓扑进行正则表达式测试:
由于Cisco配置大家都很熟悉,这里仅给出London用as-path prepend模拟路由的配置。
模拟as-path
access-list 1 permit 192.168.0.0 0.0.0.255
access-list 2 permit 192.168.2.0 0.0.0.255
access-list 3 permit 192.168.3.0 0.0.0.255
access-list 4 permit 192.168.4.0 0.0.0.255
access-list 5 permit 192.168.5.0 0.0.0.255
access-list 6 permit 192.168.6.0 0.0.0.255
access-list 7 permit 192.168.7.0 0.0.0.255
access-list 8 permit 192.168.8.0 0.0.0.255
access-list 9 permit 192.168.9.0 0.0.0.255
!
route-map set-path permit 10
match ip address 1
set as-path prepend 63 89 99
!
route-map set-path permit 20
match ip address 2
set as-path prepend 60
!
route-map set-path permit 30
match ip address 3
set as-path prepend 61
!
route-map set-path permit 40
match ip address 4
set as-path prepend 61 62
!
route-map set-path permit 50
match ip address 5
set as-path prepend 61 62 63
!
route-map set-path permit 60
match ip address 6
set as-path prepend 61 62 63 63
!
route-map set-path permit 70
match ip address 7
set as-path prepend 62 89 63
!
route-map set-path permit 80
match ip address 8
set as-path prepend 61 89 56 99
!
route-map set-path permit 90
match ip address 9
set as-path prepend 51 89
!
route-map set-path permit 100
!
router bgp 51
neighbor 10.1.1.2 route-map set-path out
使用Juniper Olive跑三台logical-router实现图中的拓扑进行正则表达式测试:
root@ph# show
version 7.1R1.3;
system {
host-name ph;
}
logical-routers {
Denver {
interfaces {
fxp2 {
unit 11 {
vlan-id 11;
family inet {
address 10.1.1.5/30;
}
}
}
}
protocols {
bgp {
group juniper {