Prefix-List — различия между версиями
imported>Artem (Новая страница: «Инструмент '''prefix-list''' очень мощное средство для выполнения фильтрации маршрутов. Исполь...») |
imported>Artem |
||
| Строка 43: | Строка 43: | ||
При использовании в distibute-list нужно помнить о правиле '''implicit deny'''. | При использовании в distibute-list нужно помнить о правиле '''implicit deny'''. | ||
| + | |||
| + | Например, мы отфильтровали только часть сетей в обновлении и нужно разрешить оставшиеся сети. Вот наглядный пример как это сделать: | ||
| + | ip prefix-list EIGRP_OUT seq 5 deny 172.16.133.0/24 | ||
| + | ip prefix-list EIGRP_OUT seq 10 permit 0.0.0.0/0 le 32 | ||
Версия 08:37, 13 мая 2014
Инструмент prefix-list очень мощное средство для выполнения фильтрации маршрутов. Используется для фильтрации на основе префикса и его длины. Обычный синтаксис выглядит так:
ip prefix-list LIST permit w.x.y.z/len
Где w.x.y.z - точный префикс, а len - точная длина префикса.
ip prefix-list LIST permit 1.2.3.0/24 точное совпадение префикса 1.2.3.0 с маской подсети 255.255.255.0. 1.2.0.0/24 не попадает под это правило, и 1.2.3.4/32 тоже. Т.е. если в обновлении присутствует именно сеть 1.2.3.0/24, то она будет разрешена.
При использовании ключевых слов GE и LE в префикс-листах мы можем изменять значение len. Т.е. при использовании этих операторов задаётся значение того, сколько бит проверяется, начиная с наиболее старшего (т.е. левого, significant (leftmost))бита.
ip prefix-list LIST permit 1.2.3.0/24 le 32
Значит: проверить первые 24 бита префикса 1.2.3.0. Маска подсети должна быть меньше или равна (<=) 32.
Эквивалентная запись в виде ACL:
access-list 1 permit 1.2.3.0 0.0.0.255
ip prefix-list LIST permit 0.0.0.0/0 le 32
Означает: проверяем первые 0 бит префикса 0.0.0.0. Маска должна быть меньше или равна 32. Это эквивалентно любой записи.
ip prefix-list LIST permit 0.0.0.0/0
Означает: Точный префикс 0.0.0.0, с точной длиной 0. Т.е. деволтный маршрут.
ip prefix-list LIST permit 10.0.0.0/8 ge 21 le 29
Означает: Проверить первые 8 бит 10.0.0.0. Маска подсети должна быть больше-равно 21 и меньше-равно 29.
ip prefix-list CLASS_A permit 0.0.0.0/1 ge 8 le 8
Эта запись означает все адреса класса А с классовой маской (например, 10.0.0.0, 11.0.0.0). Проверяется первый бит префикса, он должен быть 0. Маска подсети должна быть больше или равна 8 и меньше или равна 8. То есть точно 8.
При использовании GE и LE должно удовлетворяться условие
Len < GE <= LE
Т.е. “ip prefix-list LIST permit 1.2.3.0/24 ge 8″ - некорректная запись листа.
Что нельзя проверить с помощью префикс-листов. Ну, нельзя проверить, например, чётный или нечётный номер, или что номер делиться на 15 и.т.п.
При использовании в distibute-list нужно помнить о правиле implicit deny.
Например, мы отфильтровали только часть сетей в обновлении и нужно разрешить оставшиеся сети. Вот наглядный пример как это сделать:
ip prefix-list EIGRP_OUT seq 5 deny 172.16.133.0/24 ip prefix-list EIGRP_OUT seq 10 permit 0.0.0.0/0 le 32