Network Education
КаталогГлоссарийПрогресс
BGP
  1. 1Структура курса и лабораторная топология
  2. 2Назначение BGP, автономные системы, типы сессий
  3. 3Установление BGP-соседства: TCP, типы сообщений и параметры сессии
  4. 4Анонсирование префиксов в BGP: network и redistribute
  5. 5Предотвращение петель: AS-PATH, Split Horizon, Full Mesh
  6. 6Route Reflector: масштабирование iBGP без Full Mesh
  7. 7BGP Add-Path: передача нескольких альтернативных путей
  8. 8Конфедерации BGP: разбиение AS на суб-AS
  9. 9Пир-группы для упрощения BGP-конфигурации
  10. 10Weight: первый атрибут в алгоритме Best Path Selection
  11. 11Local Preference: управление исходящим трафиком
  12. 12AS-PATH Prepend: влияние на входящий трафик
  13. 13MED: выбор точки входа в автономную систему
  14. 14BGP multipath: балансировка между несколькими путями
  15. 15Суммаризация в BGP: aggregate-address и AS-SET
  16. 16Suppress-map: выборочное подавление при суммаризации
  17. 17Advertise-map: тонкая настройка AS-SET
  18. 18Условное анонсирование префиксов
  19. 19Фильтрация BGP: prefix-list и AS-PATH regex
  20. 20Запрет транзита через Enterprise-сеть
  21. 21Генерация маршрута по умолчанию в BGP
  22. 22BGP community: маркировка и группировка префиксов
  23. 23Well-known community: no-export, no-advertise, local-AS
  24. 24Local AS: смена номера AS при миграции
  25. 25Allowas-in: приём апдейтов с собственной AS
  26. 26BFD: ускорение обнаружения отказа BGP-соседа
Каталог/Экспертный уровень: BGP и MPLS/BGP/Запрет транзита через Enterprise-сеть

Запрет транзита через Enterprise-сеть

20Урок 20 из 26

О чём этот урок

Проблема нежелательного транзита через Enterprise-сеть и её решение с помощью исходящей фильтрации.

Ключевые выводы

  • Без исходящей фильтрации Enterprise-сеть может стать транзитной для трафика между провайдерами.
  • Регулярное выражение ^$ в AS-PATH access-list отлавливает только локально порождённые префиксы с пустым AS-PATH.
  • Фильтрация настраивается в направлении out на каждом граничном маршрутизаторе с помощью route-map.
  • Транзитность нежелательна для Enterprise в 95–99% случаев из-за перегрузки каналов чужим трафиком.
  • После применения фильтра необходимо выполнить clear ip bgp для активации новых политик.

Проверьте себя

Вопрос 1 из 5

Что произойдёт с Enterprise-сетью без исходящей фильтрации BGP при мультихоминге?

Вопрос 2 из 5

Что отлавливает регулярное выражение ^$ в AS-PATH access-list?

Вопрос 3 из 5

В каком направлении настраивается фильтрация для предотвращения транзита?

Вопрос 4 из 5

Почему транзитность нежелательна для Enterprise-сети?

Вопрос 5 из 5

Что необходимо выполнить после применения нового фильтра BGP?

🔗Связанные уроки

⚠️Сначала посмотрите

Предотвращение петель: AS-PATH, Split Horizon, Full MeshBGP
→

Понятие non-transit AS основано на AS-PATH — нужно знать Loop Prevention и принцип работы AS-PATH, чтобы понять почему фильтрация нужна

🔗Смотрите также

Фильтрация BGP: prefix-list и AS-PATH regexBGP
→

non-transit-as реализуется через фильтрацию анонсов в BGP — те же инструменты (prefix-list, route-map), что и в route-filtering, но с конкретной целью

Фильтрация BGP: prefix-list и AS-PATH regexГенерация маршрута по умолчанию в BGP

Транскрипция

Если рассматривать фильтрацию на основе атрибута IS-PASS со стороны конечного заказчика, то есть в нашем случае со стороны IS-123, то наибольшее применение фильтрации по IS-PASS нашло не для входящих апдейтов, а для исходящих. Каким образом? Дело в том, что если вернуться в начало нашего курса, когда мы говорили про автономные системы, я говорил, что их глобально можно разделить на условные две категории. Это транзитные и нетранзитные. Напоминаю, что транзитная автономная система, которая принимает через себя трафик через какой-то один вход и выпускает трафик через выход. Нетранзитная автономная система, которая через себя, вы насквозь трафик не прогоняете. Что же может случиться, если вы не примените, например, никаких фильтров?

Предположим, что муртизатор R6 отдает некий префикс муртизатору R1, муртизатор R1 передает его на муртизатор R2, и R2 отдает его, например, на муртизатор R5. Это с одной стороны. С другой стороны, муртизатор R6 отдает его в сторону муртизатора R9, тот отдает его в сторону R8, потом на R7 и на R5. И таким образом муртизатор R5 сравнивает два апдейта, первый и второй, и есть вероятность такая, что лучшим будет выбран первый. И таким образом у вас трафик между двумя сервис-провайдерами может политься транзитом через вашу АЭС. Поэтому в большинстве сценариев, наверное, где-то в 95% случаев, где-то в 99% случаев, при подключении к нескольким сервис-провайдерам на стороне заказчика

используется фильтрация маршрутов. Каким образом она делается? Итак, мы принимаем чаще всего все, что хотим принимать. То есть мы принимаем префикс от R6. Соответственно, здесь будет АЭС-пасс состоять из автоматических систем, некий XYZ. Далее мы передаем этот маршрут в сторону муртизатора R2. А на муртизаторе R2 в сторону муртизатора R5 у нас настроено раутмап в направлении out. В направлении out. В этом раутмапе мы очень часто захотим передавать только наши локальные префиксы. То есть в частности АЭС-пасс, у которых на момент передачи пустой. Передача пустая. То есть мы отлавливаем префиксы, которые порождены внутри нашей автономной системы

по АЭС-пассу. И только их передаем на выход. Соответственно, вот такой транзитный апдейт, который прилетел от муртизатора R6, он будет дрохнуть. Потому что не пройдет правило АЭС-фильтрация. Соответственно, такие вот раутмапы на выход, они вешаются на всех точках присутствия, то есть на всех стыках с операторами. То есть вы вешаете такой апдейт со стороны муртизатора R2 в сторону R5, на муртизаторе R1 в сторону R4 и на муртизаторе R1 в сторону R6. Давайте я вам сейчас просто сначала продемонстрирую, каким образом автоматическая система 123 может стать транзитным для трафика, например, от муртизатора R5 в сторону R6. Итак, давайте посмотрим на муртизаторе R6, посмотрим show ipvgpin.

Как вы видите, есть префикс 666. Нам муртизатор R5 будет достаточно будет достаточно в сторону соседа муртизатора R2, например, изменить вес. Изменить вес. Для открытия IPvgp 10252. Отвесим pollin. Окей, теперь show ipvgpin. Как мы видим, наилучшим теперь стал маршрут через AmorSataR2. Запускаем TraceRoute на 6666. И, как вы видите, пакетик начинает бежать на AmorSataR2. А дальше, я думаю, что дело просто в том, что мы не адвертайзим сетку в BGP.

Сделаем раутер BGP 4578, Network 5555, Mask. И запускаем TraceRoute 6666, SourceLoopback 0, Numeric. И, как вы видите, пакеты идут по направлению AmorSataR2, AmorSataR1 и AmorSataR2. Мы выжимаем с R5 на R2, с R2 на R1 и с R1 на R6. Как этого избежать? На граничных амортизаторах настраиваем фильтры в направлении Out. Итак, на AmorSataR1 создаем IP ISPath, например, с номером IP ISPath AccessList 1. А единственное, но мне казалось, что ISPath можно создавать на самом деле номерованное.

Нет, я, видимо, ошибаюсь. IP ISPath AccessList 1, в котором мы говорим, что мы будем передавать наверх только... Инстин, но я сейчас на память вам, к сожалению, даже не вспомню. Нужно ли нам отлавливать пустой ISPath? Либо же, вероятнее всего, нам нужно отлавливать ISPath, который состоит только из одной нашей автономной системы. Почему? Потому что мы сначала... Есть вероятность, что мы сначала сгенерим апдейт. Давайте мы просто это проверим. Сделаем раутмап. RM. Out. Permit 10. Скажем, match IP. Match.

AS. ASPath 1. И применим теперь эту раутмап. Раутер BGP 123. Neighbor 10.1.4.4. Раутмап в направлении Out. И Neighbor 10.1.6. Раутмап. Сейчас мы скопировали уже буфер. Мап в направлении Out. То есть, взял Clear IP. BGP Out. BGP Out. И теперь, если я посмотрю на маршизатор R6, то я не должен видеть префиксов, которые прилетают от маршизатора R1. Ну, не имею в виду транзитных префиксов. Но, похоже, я здесь не вижу совершенно ничего.

Поэтому, как я первоначально предполагал, ASPath должен быть пустым. А нет. Нет. А может... Тут хороший вопрос. Но, видимо, да. Он должен быть пустым. То есть, как видите, когда я применил... ASPath, так сказать, отловил пустой префикс. Пустой префикс. А префиксы прилетели... Они, на самом деле, прилетели от маршизатора R4. Маршизатор R4. Так, сделаем еще раз Clear IP. BGP Out. Show Run Include ASPath. Правильно ли у меня сейчас конструкция висит, кстати?

Show Run Include ASPath. Да, конструкция висит правильно. Да. Да-да-да. Видите, теперь мы получаем маршруты от маршизатора R1. А то же самое нужно на маршизаторе R1... сделать в сторону маршизатора R4. А, все сделано, все сделано, извиняюсь. Теперь говорим Show Run Section Route Map. Show Run Include ASPath. Соответственно, создаем этот вот такой вот ASPath на маршизаторе R2. Создаем раутмапу. И применяем эту раутмапу. Сейчас на маршизаторе R5 посмотрим Show IPBGP.

В частности, мы видим, что от маршизатора R2 прилетает, например, префикс для сети 66666. Транзитный префикс. И говорим Neighbor 10.255. Раутмап. Раутмап. Раутмап. Говорим Clear IPBGP. И можно даже сделать Clear IPBGP. 10.255. Раутмап. Теперь нам, что от R5 проверяем, Show IPBGP 6666. Префикс под маршизатора R2 пропал. Теперь делаем Trace Route 6666.

Source Lubac 0. Numeric. И обратите внимание, что пакет бежит теперь по пути 7 маршизатор. От R5 к R7. От R7 к R4. И от R4 к R6. Хоть такой способ фильтрации на основе IS-пасса не является единственно правильным, но он самый удобный для того, чтобы обеспечить нетранзитность вашей оптимизации.

Network Education

Бесплатная онлайн-академия сетевых технологий. Видеоуроки, транскрипции и структурированные треки обучения — от основ до продвинутого уровня.

ТрекиКаталогО проекте
© 2026 Network Education