So what you could do to prevent this situation from happening in the first
place? One way is by making the configuration a bit more complex, by configuring
more route filters on R3, preventing it from learning routes from the internal
neighbors that are not customer routes.
This means configuring filters on the iBGP sessions, and not only on the eBGP
sessions. On the internal sessions, I allow R3 to learn customer routes, but I
do not allow R3 to learn provider routes or peer routes. When you configure
that, R3 won't have in its routing and forwarding table an entry for Google, nor
for Netflix. So when your peer is putting a static route towards you, all this
traffic will be dropped. With that, you kind of claim victory.
Issue is that this is only working until it is not working. And I posit that
it's probably going to stop working during the night, and in this case, your
phone rings, and your customer, now, cannot reach any destination anymore. And
so, of course, you are woken up, you are awake now in the middle of the night,
because you have to fix the problem now. This is a major issue: all the customer
traffic is dropped on the floor.
What could possibly have happened? It was working before, and now it's not
working anymore. Maybe the link between R1 and R2 fails? Yeah, exactly. This is
a problem that was not there before, because your customer traffic is transiting
by this path over there, because it's the shortest path internally. And so,
whenever your customer traffic is transiting by R3, it will be dropped, because
R3 does not carry any provider routes. So the only way your customer traffic can
reach a provider is by going over the target link over there. If that link
fails, all your customer traffic is dropped on the floor, going to a provider.