Prefix-List — различия между версиями

Материал из Cisco CCNP
Перейти к навигации Перейти к поиску
imported>Artem
imported>Artem
 
(не показана 1 промежуточная версия этого же участника)
Строка 1: Строка 1:
−
Инструмент '''prefix-list''' очень мощное средство для выполнения фильтрации маршрутов. Используется для фильтрации на основе префикса и его длины. Обычный синтаксис выглядит так:
+
Инструмент '''prefix-list''' очень мощное средство для выполнения фильтрации маршрутов. Используется для фильтрации на основе префикса и его длины. По своим возможностям очень похож на Extended ACL. Первая часть проверяет сеть (0.0.0.0/0), вторая - маску (ge 15, к примеру).
 +
Обычный синтаксис выглядит так:
  
 
  ip prefix-list LIST permit w.x.y.z/len
 
  ip prefix-list LIST permit w.x.y.z/len
Строка 19: Строка 20:
  
 
Означает: проверяем первые 0 бит префикса 0.0.0.0. Маска должна быть меньше или равна 32. Это эквивалентно любой записи.
 
Означает: проверяем первые 0 бит префикса 0.0.0.0. Маска должна быть меньше или равна 32. Это эквивалентно любой записи.
 +
 +
ip prefix-list TEST permit 0.0.0.0/1 ge 24 le 24
 +
 +
Первый бит должен равняться 0
 +
т.е. первый октет будет находится в диапазоне:
 +
*от  00000000 =  0
 +
*до  01111111 = 127
 +
остальные могу применять любое значение.
 +
ge 24 le 24 - говорит нам что маска должна быть не больше и не меньше 24, другими словами маска должна быть жестко равна 24м.
 +
В итоге получаем список сетей которые разрешит данный prefix-list: 0.0.0.0/24  - 127.255.255.0/24
  
 
  ip prefix-list LIST permit 0.0.0.0/0
 
  ip prefix-list LIST permit 0.0.0.0/0
  
 
Означает:
 
Означает:
−
Точный префикс 0.0.0.0, с точной длиной 0. Т.е. деволтный маршрут.
+
Точный префикс 0.0.0.0, с точной длиной 0. Т.е. дефолтный маршрут. Разберём его получше.
  
 
  ip prefix-list LIST permit 10.0.0.0/8 ge 21 le 29
 
  ip prefix-list LIST permit 10.0.0.0/8 ge 21 le 29

Текущая версия на 12:08, 13 мая 2014

Инструмент prefix-list очень мощное средство для выполнения фильтрации маршрутов. Используется для фильтрации на основе префикса и его длины. По своим возможностям очень похож на Extended ACL. Первая часть проверяет сеть (0.0.0.0/0), вторая - маску (ge 15, к примеру). Обычный синтаксис выглядит так:

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 TEST permit 0.0.0.0/1 ge 24 le 24

Первый бит должен равняться 0 т.е. первый октет будет находится в диапазоне:

  • от 00000000 = 0
  • до 01111111 = 127

остальные могу применять любое значение. ge 24 le 24 - говорит нам что маска должна быть не больше и не меньше 24, другими словами маска должна быть жестко равна 24м. В итоге получаем список сетей которые разрешит данный prefix-list: 0.0.0.0/24 - 127.255.255.0/24

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