Провайдеры стараются обезопасить себя от возможных утечек и хайджекинга с помощью атрибутов community и фильтров RegEx (регулярные выражения). Использование community справедливо, только когда оба маршрутизатора имеют договоренности по комьюнити. Однако чаще всего, это не работает, поскольку используется чистый BGP.
Другое применение RegEx — использовать его как очень мощный фильтр, который позволяет заглянуть в анонсы BGP и по присутствию или отсутствию определенных AS отбрасывать или, наоборот, принимать маршруты. Но нельзя предусмотреть все, поэтому лучшим и самым ответственным решением будет внимательно смотреть, что и куда вы анонсируете из своей AS.
РЕКОМЕНДУЕМ:
Изоляция трафика в Linux
Отфильтровать все лишнее
Необходимо настроить фильтрацию, чтобы префиксы, полученные от одного провайдера, не анонсировались другому и наша AS не стала транзитной.
Взгляните на пример route policy для запрета анонса сетей первого провайдера через второго:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
! router bgp 5 neighbor 10.0.0.1 remote-as 1 neighbor 10.0.0.1 route-map TO_1 out neighbor 20.0.0.2 remote-as 4 neighbor 20.0.0.2 remote-as TO_4 out ! ip as-path access-list 1 deny _4$ ip as-path access-list 1 permit .* ip as-path access-list 2 deny _1$ ip as-path access-list 2 permit .* ! route-map TO_1 permit 10 match as-path 1 ! route-map TO_4 permit 10 match as-path 2 ! |
До фильтра:
1 2 3 4 5 |
R4#show ip bgp Network Next Hop Metric LocPrf Weight Path *> 172.16.0.0/24 0.0.0.0 0 32768 i *> 192.168.0.0 20.0.0.1 0 5 1 i * 40.0.0.1 0 3 2 1 i |
1 2 3 4 |
R4#show ip bgp Network Next Hop Metric LocPrf Weight Path *> 172.16.0.0/24 0.0.0.0 0 32768 i *> 192.168.0.0 40.0.0.1 0 3 2 1 i |
Так мы получаем полный доступ к таблице маршрутизации от двух провайдеров, не став транзитной AS.
Наш пример в очередной раз доказывает, насколько опасны и непредсказуемы могут быть любые изменения в маршрутизации BGP.
РЕКОМЕНДУЕМ:
Как перехватить защищенный трафик
Мы рассмотрели route leak на очень скромном примере, однако и в глобальных сетях мировых магистральных провайдеров похожее происходит чуть ли не ежедневно. Если вам интересно, почитайте про Ростелеком, Google, AWS, Cloudflare и China Telecom.