Введение
Предварительные условия
Требования
Используемые компоненты
Условные обозначения
Сетевые сценарии
Разрешить доступ к маршрутизатору 1 только сетям, исходящим из AS 4
Разрешить доступ к AS 3 только сетям, проходящим через AS 4
Запретить доступ к AS 3 сетям, исходящим из AS 4, и разрешить всем другим сетям
Разрешить доступ к маршрутизатору 1 только сетям, исходящим из AS 4 и систем AS, напрямую присоединенных к AS 4
Дополнительные сведения
При использовании пограничного межсетевого протокола (BGP) для команды ip as-path access-list можно использовать регулярные выражения.Этот документ содержит описание сценариев использования регулярных выражений. Подробные сведения о регулярных выражениях см. в документации Cisco в разделе Регулярные выражения.
Использование данного документа требует наличия следующих знаний.
Основная конфигурация протокола BGP. Подробные сведения см. в статье Практические примеры BGP и Настройка BGP.
Сведения, содержащиеся в данном документе, касаются следующих версий программного и аппаратного обеспечения.
ПО Cisco IOS® версии 12.0
Данные для этого документа были получены при тестировании указанных устройств в специально созданных лабораторных условиях. Все устройства, описанные в данном документе, обладают ненастроенной (заданной по умолчанию) конфигурацией. При работе в действующей сети необходимо изучить все возможные последствия каждой команды.
Дополнительные сведения об условных обозначениях в документах см. в статье Условные обозначения, используемые в технической документации Cisco.
Следующая схема сети используется в описанных далее трех сценариях.
Если необходимо, чтобы маршрутизатор 1 принимал только маршруты, исходящие из AS 4 (но не Интернет-маршруты), нужно применить к нему входной список доступа, как показано ниже.
ip as-path access-list 1 permit ^4$ router bgp 1 neighbor 4.4.4.4 remote-as 4 neighbor 4.4.4.4 route-map foo in route-map foo permit 10 match as-path 1
Это обеспечит доступ к маршрутизатору 1 только сетям, исходящим из AS 4.
Если необходимо, чтобы доступ к AS 3 из маршрутизатора 3 имели только сети, проходящие через AS 4, можно применить входной фильтр на маршрутизаторе 3.
ip as-path access-list 1 permit _4_ router bgp 3 neighbor 2.2.2.2 remote-as 1 neighbor 2.2.2.2 route-map foo in route-map foo permit 10 match as-path 1
В команде ip as-path access-list можно использовать символ подчеркивания (_) в качестве строки ввода и вывода данных. Обратите внимание, что в данном примере не используется закрепление (отсутствует символ ^), поэтому не имеет значения, какие автономные системы следуют за AS 4.
При необходимости запретить всем сетям, исходящим из AS 4, и разрешить всем другим маршрутам доступ в AS 3 из маршрутизатора 3, следует применить входной фильтр к маршрутизатору 3, как показано ниже.
ip as-path access-list 1 deny _4$ ip as-path access-list 1 permit .* router bgp 3 neighbor 2.2.2.2 remote-as 1 neighbor 2.2.2.2 route-map foo in route-map foo permit 10 match as-path 1
Если необходимо, чтобы AS 1 принимала сети, исходящие из AS 4, а также из всех непосредственно подключенных к ней систем AS, примените на маршрутизаторе 1 следующий входной фильтр.
ip as-path access-list 1 permit ^4_[0-9]*$ router bgp 1 neighbor 4.4.4.4 remote-as 4 neighbor 4.4.4.4 route-map foo in route-map foo permit 10 match as-path 1
В команде ip as-path access-list знак вставки (^) начинает строку ввода данных и означает "AS". Знак подчеркивания (_) означает, что в строке, следующей за строкой "AS 4" содержится значение null. [0-9]* определяет, что любая подключенная AS с действительным номером AS может пройти фильтр. Преимущество использования синтаксиса [0-9]* состоит в том, что он дает гибкость при добавлении любого числа систем AS без изменения строки команды. Подробные сведения см. в статье AS-Регулярное выражение.