Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дибров М.В. Маршрутизаторы.pdf
Скачиваний:
674
Добавлен:
06.03.2016
Размер:
5.01 Mб
Скачать

нового правила в указанное место списка или удаления конкретного правила при помощи параметра sequence-number.

Необходимо обратить особое внимание при работе как с нумерованными, так и с именованными списками доступа на тот факт, что по алгоритму работы в каждом списоке доступа в неявной форме указано правило deny 0.0.0.0 0.0.0.0, которое запрещает все, что не было разрешено в явном виде. Это связано с тем, что первоначально правила доступа применялись для фильтрации трафика проходящего через маршрутизатор, и такое правило было полезным с точки зрения обеспечения безопасности и удобства администрирования.

18.2.2 Фильтрация сетей получателей по длине префикса

Длина префикса сети получателя это важный его компонент. Иногда единственным отличием между двумя сетями получателями является длина их сетевого префикса, поэтому возможность сравнивания длин сетевых префиксов должна присутствовать в механизмах фильтрации маршрутной информации (Рисунок 18.8).

10. 1.0.0/28

10. 1.0.0/24

/2

4

1 0.1. 0.0/24

>

/2

4

 

 

10. 1.0.0/26

R1R2

Рисунок 18.8 – Фильтрация маршрутной информации по длине префикса сети получателя

Как мы обсуждали в предыдущем пункте, стандартные списки доступа IP, применяемые в качестве маршрутных фильтров, не позволяют производить сравнение длин сетевых префиксов сетей получателей. Следовательно, должен существовать какой-то другой способ установления соответствия между длинами сетевых префиксов.

Для этого были, разработаны списки префиксов IP. Они представляют собой логические выражения, которые могут устанавливать соответствие с указанными начальными наборами битов в сетевых префиксах IP и длинами этих сетевых префиксов. Подобно спискам доступа, списки префиксов IP состоят из одного или нескольких выражений, каждое из которых определяет критерий соответствия. Как и правила списков доступа, выражения списков префиксов возвращают результат permit или deny. Однако, в отличие от выражений нумерованных списков доступа, выражения списков префиксов имеют порядковые номера, что позволяет удалять или добавлять в нужное место отдельные выраже-

302

ния списка, не затрагивая весь список целиком, подобно тому как это делается в именованных списках доступа.

Списки префиксов IP могут использоваться только как маршрутные фильтры.

Настройка списка префиксов IP, осуществляется последовательным добавлением в конфигурацию маршрутизатора правил списка префиксов, используя команду ip prefix-list. Синтаксис команды приводится в примере 18.6.

Пример 18.6 – Синтаксис команды ip prefix-list

(config)# ip prefix-list {list-name | list-number} [seq number] {deny network/length | permit network/length} [ge ge-length] [le le-length]

(config)# no ip prefix-list {list-name | list-number} [seq number] {deny network/length | permit network/length} [ge ge-length] [le le-length]

Описание параметров команды ip prefix-list приводиться в таблице 18.5.

Таблица 18.5 – Параметры команды ip prefix-list

Параметр

Описание

list-name

Имя списка префиксов, к которому

list-number

принадлежит выражение.

Номер списка префиксов, к которому

seq number

принадлежит выражение.

Последовательный номер выражения в

deny

списке префиксов.

Отбросить сеть получатель при поло-

 

жительном выполнении условия опи-

network/length

санного в выражении.

Указывает начальные биты, которые

 

будут сравниваться с соответствующи-

 

ми начальными битами сетевых пре-

permit

фиксов из маршрутных обновлений.

Пропустить сеть получатель при поло-

 

жительном выполнении условия опи-

ge ge-length

санного в выражении.

Максимальная длина сетевого префик-

le le-length

са сети получателя.

Минимальная длина сетевого префик-

 

са сети получателя.

Правила, которые использует маршрутизатор при сравнении сетевых префиксов из маршрутного обновления со списком префиксов IP таковы:

303

1.Маршрутизатор рассматривает список префиксов как упорядоченный список. Маршрутизатор сначала сравнивает сетевые префиксы с выражениями

сменьшим seq number, а затем – с большим. Первое сравнение производится

свыражением с наименьшим номером.

2.Маршрутизатор ищет лишь первое совпадение. При нахождении совпадения просмотр списка префиксов прекращается. После этого результат, указанный в строчке выражения по которому было получено совпадение, возвращается в качестве результата сравнения сетевого префикса со всем списком префиксов.

3.При сравнении сетевого префикса с выражением из списка маршрутизатор сначала проверяет, является ли длина сетевого префикса, назовем ее L, большей или равной параметру length указанному в строчке выражения. Если это так, то маршрутизатор сравнивает первые length бит сети получателя с первыми length битами параметра network Если все биты равны используются

следующие правила:

Если не указаны ни ge ge-length ни le le-length, выражение дает совпадение только в том случае, если длина сетевого префикса сети получателя равна параметру length, т.е. L = length;

Если указано только ge ge-length, то L ≥ ge-length;

Если указано только le le-length, то L ≥ le-length;

Если указанны оба параметра, то le-length ≥ L ≥ ge-length.

4. В конце каждого списка префиксов имеется неявное выражение deny 0.0.0.0/0 le 32, которое соответствует любому сетевому префиксу, который не совпал ни с одним из явных выражений.

18.2.3 Использование списков доступа и списков префиксов при фильтрации маршрутной информации

После настройки списка, по которому будет производиться фильтрация маршрутной информации, необходимо связать этот список с процессом маршрутизации и указать параметры ее обработки.

Для связи списка доступа или списков префиксов с процессом маршрутизации применяются команды distribute-list in и distribute-list out, в зависимости от направления распространения маршрутной информации. Синтаксис команды distribute-list in представлен в примере 18.7.

Пример 18.7 – Синтаксис команды distribute-list in

(config-router)# distribute-list [access-list-number | name | prefix-list

{list-name | list-number}] | [route-map map-tag] in [interface-type |inter-

face-number]

(config)# no distribute-list [access-list-number | name| prefix-list {listname | list-number}]] | [route-map map-tag] in [interface-type interface-num-

ber]

304

Описание параметров команды приводиться в таблице 18.6.

Таблица 18.6 – Параметры команды distribute-list in

Параметр

Описание

access-list-number

Номер списка доступа, который будет

 

применяться для фильтрации входяще-

 

го маршрутного обновления.

name

Имя списка доступа, который будет

 

применяться для фильтрации входяще-

 

го маршрутного обновления.

list-name

Имя списка префиксов, который будет

 

применяться для фильтрации входяще-

 

го маршрутного обновления.

list-number

Номер списка префиксов, который бу-

 

дет применяться для фильтрации вхо-

 

дящего маршрутного обновления.

route-map map-tag

Имя используемой маршрутной карты

 

при фильтрации маршрутных обновле-

 

ний. Параметр применяется только для

 

протокола OSPF.

interface-type interface-number

Тип и номер интерфейса маршрутиза-

 

тора, к которому применяется правило

 

фильтрации. Если параметр не указан

 

правило фильтрации применяется ко

 

всем интерфейсам маршрутизатора, на

 

которых запущен соответствующий

 

протокол маршрутизации.

Синтаксис команды distribute-list out представлен в примере 18.8.

Пример 18.8 – Синтаксис команды distribute-list out

(config-router)# distribute-list {access-list-number | access-list-name | pre- fix-list {list-name | list-number}]} out [interface-name | routing-process |

as-number]

(config)# no distribute-list {access-list-number | access-list-name | prefixlist {list-name | list-number}]} out [interface-name | routing-process | asnumber]

Описание параметров команды приводиться в таблице 18.7.

305

Таблица 18.7 – Параметры команды distribute-list out

Параметр

Описание

access-list-number

Номер списка доступа, который будет

 

применяться для фильтрации входяще-

 

го маршрутного обновления.

Name

Имя списка доступа, который будет

 

применяться для фильтрации входяще-

 

го маршрутного обновления.

list-name

Имя списка префиксов, который будет

 

применяться для фильтрации входяще-

 

го маршрутного обновления.

list-number

Номер списка префиксов, который бу-

 

дет применяться для фильтрации вхо-

 

дящего маршрутного обновления.

interfacename

Интерфейс маршрутизатора, к которо-

 

му применяется правило фильтрации.

 

Если параметр не указан правило

 

фильтрации применяется ко всем ин-

 

терфейсам маршрутизатора, на кото-

 

рых запущен соответствующий прото-

 

кол маршрутизации.

routing-process

Процесс маршрутизации, в который

 

осуществляется фильтрация перерас-

 

пределяемой маршрутной информа-

 

ции.

as-number

Номер автономной системы протокола

 

маршрутизации. Параметр применяет-

 

ся только с протоколом EIGRP.

На рисунке 18.9 приводится пример использования списка доступа для фильтрации исходящих маршрутных обновлений.

Маршрутизатор R2 является пограничным маршрутизатором сетей 172.16.0.0/16 и 192.168.1.0/24, кроме этого он получает от маршрутизатора R1 маршрутную информацию о сети 10.0.0.0/8.

Необходимо, чтобы маршрутизатор R3 получал от маршрутизатора R2 маршрутную информацию только о подсетях принадлежащих сети 172.16.0.0/16. Для этого используется правило доступа, которое производит фильтрацию маршрутных обновлений, поступающих маршрутизатору R3, при котором, маршрутизатор R3 получает маршрутную информацию обо всех подсетях сети 172.16.0.0/16, а подсети сети 10.0.0.0/8 остаются ему, неизвестны.

306

10.0.0.0/8

172.16.0.0/16

S0

192.168.1.0/24

 

R1

R2

 

R3

r2#

router eigrp 200 network 172.16.0.0

network 192.168.1.0

distribute-list 1 out Serial 0

!

access-list 1 permit 172.16.0.0 0.0.255.255

Рисунок 18.9 – Фильтрация исходящих маршрутных обновлений

На рисунке 18.10 приводится пример использования списка доступа для фильтрации входящих маршрутных обновлений.

 

 

 

r2#

 

 

 

 

router eigrp 200

 

 

 

 

network 172.16.0.0

 

 

 

 

distribute-list 1 in Serial 0

 

 

 

 

!

 

 

 

 

access-list 1 permit 172.16.0.0 0.0.255.255

10.0.0.0/8

172.16.0.0/28

 

172.16.0.0/16

 

 

S0

 

R1

 

R2

R3

 

 

r2# show ip route

.. .. ..

172.16.0.0/28 is subnetted, 3 subnets

O 172.16.0.32 [110/60] via 172.16.0.18, 00:10:35, Serial1

C172.16.0.16 is directly connected, Serial1

C172.16.0.0 is directly connected, Serial0

r3# show ip route

.. .. ..

172.16.0.0/28 is subnetted, 3 subnets

O172.16.0.32 is directly connected, Serial2 C 172.16.0.16 is directly connected, Serial1

C 172.16.0.0 [110/60] via 172.16.0.18, 00:10:35, Serial1 10.0.0.0/8 is variably subnetted, 30 subnets, 2 masks

O10.89.2.80/28 [110/101] via 172.16.0.18, 00:09:45, Serial1

O10.89.1.80/28 [110/101] via 172.16.0.2, 00:10:35, Serial1

O10.89.2.64/28 [110/101] via 172.16.0.18, 00:09:47, Serial1

O10.89.1.64/28 [110/101] via 172.16.0.2, 00:10:36, Serial1

Рисунок 18.10 – Фильтрация входящих маршрутных обновлений

На маршрутизаторе R2 используется входящий фильтр маршрутных обновлений, который пропускает только подсети сети 172.16.0.0/16. Следовательно, вывод таблицы маршрутизации содержит только данные подсети.

Тем не менее, таблица маршрутизации маршрутизатора R3 содержит маршруты ко всем сетям получателям.

Как говорилось ранее, это происходит потому, что маршрутные фильтры в протоколе OSPF не влияют на топологические таблицы, строящиеся маршру-

307