I have an issue with my local setup using BGP and multiple uplink peers. So far I have two uplink ISP providers peering with BGP, one its the main ISP (ISP 1) which I'm connected through MPLS and the other (ISP 2) its a new provider which I prefer because I have a direct last mile with them so latency is a lot better than with ISP 1, However ISP 2 peers directly with ISP 1 and its their main provider, they will only use another upstream if their connection to ISP 1 fails.
So far I have a single BGP instance where I have two BGP peers and I have the following filters setup for ISP1 and ISP 2, IPv4 and IPv6 IN/OUT filters
Code: Select all
/routing filter
add action=accept chain=ISP1-IN prefix=0.0.0.0/16 prefix-length=0-16
add action=accept chain="ISP1-IN(6)" prefix=::/48 prefix-length=48
add action=accept chain=ISP1-OUT prefix=206.X.X.0/23 prefix-length=23 \
set-bgp-prepend-path=271XX2
add action=accept chain=ISP1-OUT prefix=206.X.Y.0/24 prefix-length=23 \
set-bgp-prepend-path=271XX2,271XX2
add action=accept chain=ISP1-OUT prefix=206.X.X.0/24 prefix-length=24 \
set-bgp-prepend-path=271XX2,271XX2,271XX2
add action=accept chain=ISP2-IN prefix-length=0-20
add action=accept chain=ISP2-OUT prefix=206.X.X.0/23 prefix-length=24 \
set-bgp-prepend-path=271XX2,271XX2
add action=accept chain=ISP2-OUT prefix=206.X.X.0/24 prefix-length=24 \
set-bgp-prepend-path=271XX2
add action=accept chain=ISP2-OUT prefix=206.X.Y.0/24 prefix-length=24 \
set-bgp-prepend-path=271XX2,271XX2,271XX2
add action=accept chain="ISP1-OUT(6)" prefix=2803:XXXX::/32 \
prefix-length=32
add action=accept chain="ISP1-OUT(6)" prefix=2803:XXXX:XXXX::/48 \
prefix-length=48
add action=discard chain="ISP1-OUT(6)" comment=\
"Discard ALL Other IPv6 - ISP1"
add action=discard chain=ISP1-OUT comment=\
"Discard ALL Other IPv4 - ISP1"
add action=discard chain=ISP2-OUT comment="Discard ALL Other IPv4 - ISP2"
add action=discard chain=ISP1-IN comment=\
"Discard other incoming announcements IPv4"
add action=discard chain=ISP2-IN comment=\
"Discard other incoming announcements IPv4"
1. When the two BGP peers are UP I have two 0.0.0.0/0 routes and ISP 1 its preferred because AS Path is smaller than ISP 2, but I need to force using ISP 2 as gateway for some of my customer segments
2. When the two BGP peers are UP I see some packets going out ISP 1 but came back using ISP 2, I know with static routing I can force a specific interface using routing marks, however I'm not sure how to do it using BGP
3. If one of the BGP peers goes down my core router remain accessible from the other BGP Peer, however my customers starts reporting they loose internet connection, I have the feeling its because the TCP connection remains established using the old route. I can't disable the Connection tracking on my border router because some of my customer segments are going out to internet through NAT
I'm attaching my network diagram, any help will be highly appreciated