Протокол IP : IP-маршрутизация

Использование регулярных выражений в BGP

28 июля 2008 - Перевод, выполненный профессиональным переводчиком
Другие версии: PDF-версия:pdf | Машинный перевод (28 июля 2013) | Английский (10 мая 2006) | Отзыв

Содержание

Введение
Предварительные условия
     Требования
     Используемые компоненты
     Условные обозначения
Сетевые сценарии
     Разрешить доступ к маршрутизатору 1 только сетям, исходящим из AS 4
     Разрешить доступ к AS 3 только сетям, проходящим через AS 4
     Запретить доступ к AS 3 сетям, исходящим из AS 4, и разрешить всем другим сетям
     Разрешить доступ к маршрутизатору 1 только сетям, исходящим из AS 4 и систем AS, напрямую присоединенных к AS 4
Связанные обсуждения сообщества поддержки Cisco
Дополнительные сведения

Введение

При использовании пограничного межсетевого протокола (BGP) для команды ip as-path access-list можно использовать регулярные выражения.Этот документ содержит описание сценариев использования регулярных выражений. Подробные сведения о регулярных выражениях см. в документации Cisco в разделе Регулярные выражения.

Предварительные условия

Требования

Использование данного документа требует наличия следующих знаний.

Используемые компоненты

Сведения, содержащиеся в данном документе, касаются следующих версий программного и аппаратного обеспечения.

  • ПО Cisco IOS® версии 12.0

Данные для этого документа были получены при тестировании указанных устройств в специально созданных лабораторных условиях. Все устройства, описанные в данном документе, обладают ненастроенной (заданной по умолчанию) конфигурацией. При работе в действующей сети необходимо изучить все возможные последствия каждой команды.

Условные обозначения

Дополнительные сведения об условных обозначениях в документах см. в статье Условные обозначения, используемые в технической документации Cisco.

Сетевые сценарии

Следующая схема сети используется в описанных далее трех сценариях.

26a.gif

Разрешить доступ к маршрутизатору 1 только сетям, исходящим из AS 4

Если необходимо, чтобы маршрутизатор 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 только сетям, проходящим через 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 3 сетям, исходящим из 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

Разрешить доступ к маршрутизатору 1 только сетям, исходящим из AS 4 и систем AS, напрямую присоединенных к AS 4

Если необходимо, чтобы 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-Регулярное выражение.


Связанные обсуждения сообщества поддержки Cisco

В рамках сообщества поддержки Cisco можно задавать и отвечать на вопросы, обмениваться рекомендациями и совместно работать со своими коллегами.


Дополнительные сведения


Document ID: 13754