03-26-2013 05:40 AM - edited 03-04-2019 07:24 PM
I'm multihomed between two ISPs and I have a /24 from both ISPs. Both ISPs advertise each others /24, all works fine.
ISP-A BGP ISP-B
| |
| |
RTR1 ------- RTR2
ISP-A = 1.1.1.0/24
ISP-B = 2.2.2.0/24
I trying to send an AS prepend community to ISP-A making 2.2.2.0/24 less preferable on ISP-A, which worked just fine but I noticed that in the process 1.1.1.0/24 stopped being advertised on ISP-A.
How can I send the community to ISP-A for 2.2.2.0/24 and still advertise 1.1.1.0/24?
RTR1 - CONFIG
router bgp 1234
bgp log-neighbor-changes
network 2.2.2.0 mask 255.255.255.0
network 1.1.1.0
neighbor 5.5.5.5 remote-as 2222
neighbor 5.5.5.5 soft-reconfiguration inbound
neighbor 5.5.5.5 send-community
neighbor 5.5.5.5 route-map PEND-ISP-B-INBOUND out
route-map PEND-ISP-B-INBOUND permit 10
match ip address 163
set community 423433099
access-list 163 permit ip host 2.2.2.0 host 255.255.255.0
03-26-2013 06:17 AM
Hello opers13,
you need to add a second block to the route map like
route-map PEND-ISP-B-INBOUND permit 20
match ip address 164
you should use
access-list 164 permit ip host 1.1.1.0 host 255.255.255.0
the reason is that the route-map used in this way has an implicit deny any so you need an additional block to advertise additional routes that do not match the first route-map clause
Hope to help
Giuseppe
03-26-2013 06:45 AM
so just add another ACL(164) and another route-map permitting 1.1.1.0/24?
03-26-2013 06:54 AM
Hello alexng,
you are requested to add a second block/clause to the SAME route-map this is what you need, the use of the ACL is highly recommended as your scenario is multihomed to avoid to advertise routes from one provider to the other one.
Follow the instructions of the previous post and you should be fine.
Hope to help
Giuseppe
03-26-2013 06:58 AM
Route maps are a bit like access lists in that there is an implicit deny at the end. In the route map if it is not permitted then it will not be advertised. So you certainly need another statement in the route map. You could have that statement use another access list to permit 1.1.1.0 or you could just let the statement permit any.
HTH
Rick
[edit] I see the post from Giuseppe and his comment about using explicit access list in a multi homed environment is well taken.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide