Policy-chain 实验

  • 实验拓扑

vMX-3的lo0.0接口上连接着以下网段 192.168.1.0/24 192.168.2.0/24 192.168.3.0/24 10.1.1.0/24 10.2.1.0/24 172.16.0.0/24

  • 配置需求 R3上面执行路由汇总: 192.168.0.0/16 10.0.0.0/8 172.16.0.0/16

要求: R3只通告聚合路由192.168.0.0/16给R1 R3通告聚合路由192.168.0.0/16和10.0.0.0/16给R2(拒绝其他的路由)

  • 配置案列

vMX-1配置 root@vMX-1# run show configuration version 14.1R1.10; system { root-authentication { encrypted-password "$1$a0zjPx7P$4Va9RcsxrIuHWJz.fhmrS0"; ## SECRET-DATA } interfaces { ge-0/0/2 { unit 0 { family inet { address 202.103.13.1/24; } } } } routing-options { autonomous-system 100; } protocols { bgp { group ebgp-peer { type external; log-updown; neighbor 202.103.13.3 { peer-as 300; } } } }

vMX-2配置 [edit] root@vMX-2# run show configuration version 14.1R1.10; system { host-name vMX-2; root-authentication { encrypted-password "$1$QsSbO49u$DmMrWquAJ739RmUFn3CLo1"; ## SECRET-DATA } interfaces { ge-0/0/0 { unit 0 { family inet {
address 202.103.23.2/24; } } } } routing-options { autonomous-system 200; } protocols { bgp { group ebgp-peer { type external; log-updown; neighbor 202.103.23.3 { peer-as 300; } } } }

vMX-3配置 root@vMX-3# run show configuration version 14.1R1.10; system { host-name vMX-3; root-authentication { encrypted-password "$1$QYBXvplE$9SwS1OUd9MaGzBo0f3I760"; ## SECRET-DATA } interfaces { ge-0/0/0 { unit 0 { family inet {
address 202.103.23.3/24; } } } ge-0/0/2 { unit 0 { family inet { address 202.103.13.3/24; } } } lo0 { unit 0 { family inet { address 192.168.1.3/24; address 192.168.2.3/24; address 192.168.3.3/24; address 10.1.1.3/24; address 10.2.1.3/24; address 172.16.0.3/24; } } }
} routing-options { aggregate { route 192.168.0.0/16; route 10.0.0.0/8; route 172.16.0.0/16; } autonomous-system 300; } protocols { bgp { group ebgp-peer { type external; log-updown; neighbor 202.103.23.2 { export [ to-R1 to-R2 default-policy ]; peer-as 200; } neighbor 202.103.13.1 { export [ to-R1 default-policy ]; peer-as 100; } }
} } policy-options { policy-statement default-policy { then reject; } policy-statement to-R1 { from { protocol aggregate; route-filter 192.168.0.0/16 exact; } then accept; } policy-statement to-R2 { from { protocol aggregate; route-filter 10.0.0.0/8 exact; } then accept; } }

查看vMX-1路由表 [edit] root@vMX-1# run show route

inet.0: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden)

  • = Active Route, - = Last Active, * = Both

192.168.0.0/16 *[BGP/170] 00:33:02, localpref 100 AS path: 300 I, validation-state: unverified > to 202.103.13.3 via ge-0/0/2.0 202.103.13.0/24 *[Direct/0] 00:56:38 > via ge-0/0/2.0 202.103.13.1/32 *[Local/0] 00:56:38 Local via ge-0/0/2.0

查看vMX-2路由表 [edit] root@vMX-2# run show route

inet.0: 4 destinations, 4 routes (4 active, 0 holddown, 0 hidden)

  • = Active Route, - = Last Active, * = Both

10.0.0.0/8 *[BGP/170] 00:32:38, localpref 100 AS path: 300 I, validation-state: unverified > to 202.103.23.3 via ge-0/0/0.0 192.168.0.0/16 *[BGP/170] 00:32:38, localpref 100 AS path: 300 I, validation-state: unverified > to 202.103.23.3 via ge-0/0/0.0 202.103.23.0/24 *[Direct/0] 00:52:45 > via ge-0/0/0.0 202.103.23.2/32 *[Local/0] 00:52:45 Local via ge-0/0/0.0

查看vMX-3路由表 [edit] root@vMX-3# run show route

inet.0: 19 destinations, 19 routes (19 active, 0 holddown, 0 hidden)

  • = Active Route, - = Last Active, * = Both

10.0.0.0/8 *[Aggregate/130] 00:33:39 Reject 10.1.1.0/24 *[Direct/0] 00:39:47 > via lo0.0 10.1.1.3/32 *[Local/0] 00:39:47 Local via lo0.0 10.2.1.0/24 *[Direct/0] 00:39:47 > via lo0.0 10.2.1.3/32 *[Local/0] 00:39:47 Local via lo0.0 172.16.0.0/16 *[Aggregate/130] 00:33:39 Reject 172.16.0.0/24 *[Direct/0] 00:39:47 > via lo0.0 172.16.0.3/32 *[Local/0] 00:39:47 Local via lo0.0 192.168.0.0/16 *[Aggregate/130] 00:33:39 Reject 192.168.1.0/24 *[Direct/0] 00:40:36 > via lo0.0
192.168.1.3/32 *[Local/0] 00:40:36 Local via lo0.0 192.168.2.0/24 *[Direct/0] 00:40:18 > via lo0.0 192.168.2.3/32 *[Local/0] 00:40:18 Local via lo0.0 192.168.3.0/24 *[Direct/0] 00:39:47 > via lo0.0 192.168.3.3/32 *[Local/0] 00:39:47 Local via lo0.0 202.103.13.0/24 *[Direct/0] 00:51:32 > via ge-0/0/2.0 202.103.13.3/32 *[Local/0] 00:51:32 Local via ge-0/0/2.0 202.103.23.0/24 *[Direct/0] 00:51:32 > via ge-0/0/0.0 202.103.23.3/32 *[Local/0] 00:51:32 Local via ge-0/0/0.0

root@vMX-3# run show route protocol aggregate

inet.0: 19 destinations, 19 routes (19 active, 0 holddown, 0 hidden)

  • = Active Route, - = Last Active, * = Both

10.0.0.0/8 *[Aggregate/130] 00:34:03 Reject 172.16.0.0/16 *[Aggregate/130] 00:34:03 Reject 192.168.0.0/16 *[Aggregate/130] 00:34:03 Reject

vMX-3将192.168.0.0/16的路由通告给vMX-1,下一跳自己 [edit] root@vMX-3# run show route advertising-protocol bgp 202.103.13.1

inet.0: 19 destinations, 19 routes (19 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path

  • 192.168.0.0/16 Self I

vMX-3将192.168.0.0/16、10.0.0.0/8的路由通告给vMX-2,下一跳自己 root@vMX-3# run show route advertising-protocol bgp 202.103.23.2

inet.0: 19 destinations, 19 routes (19 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path

  • 10.0.0.0/8 Self I
  • 192.168.0.0/16 Self I

到此为止所有的需求已经实现。