AS-Path ACL

Весьма мощный, но не самый популярный механизм.

С помощью AS-Path ACL вы можете, например, запретить принимать анонсы маршрутов, принадлежащих AS 200. Ну вот просто не хотите – пусть они через другого провайдера будут известны, а через этого нет.

Самое сложное в таком подходе – запомнить все регулярные выражения и научиться их использовать. Сначала голова от них кругом:

Знак

Значение

.

любой символ, включая пробел

*

ноль или больше совпадений с выражением

+

одно или больше совпадений с выражением

?

ноль или одно совпадение с выражением

^

начало строки

$

конец строки

_

любой разделитель (включая, начало, конец, пробел)

\

не воспринимать следующий символ как специальный

[]

совпадение с одним из символов в диапазоне

|

логическое или

Чтобы было чуть более понятно, приведём несколько примеров:

1

До и после номера AS идут знаки “_”, означающие, что в AS-path номер 200 может стоять в начале, середине или конце, главное, чтобы он был.

2

“^” означает начало списка, а “$” – конец. То есть в AS-path всего лишь один номер AS – это означает, что маршрут был зарождён в AS 200 и оттуда сразу был передан нам.

3

“$” означает конец списка, то есть это самая первая AS, из неё маршрут и зародился, знак “_” говорит о том, что неважно, что находится дальше, хоть ничего, хоть 7 других AS.

4

Знак “^” означает, что ASN 200 была добавлена последней, то есть маршрут к нам пришёл из AS 200, но это не значит, что родился он в ней же – знак “_” говорит о том, что это может быть конец списка, а может пробел перед следующей AS.

5

Список AS-path пуст, значит маршрут локальный, сгенерированный внутри нашей AS.

Пример

Вот в нашей сети отфильтруем маршруты, которые зародились в AS 64501. То есть мы будем от соседа 101.0.0.1 получать все интернетовские маршруты, но не будем получать их локальные.

ip as-path access-list 100 deny ^64501$
ip as-path access-list 100 permit .*

router bgp 64500
neighbor 101.0.0.1 filter-list 100 in

Конфигурация устройств.

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

Last updated