Как роутер обрабатывает элементы acl

Обновлено: 05.07.2024

ACL- списки контроля доступа.

Можно назначить по одному списку на:
- каждый протокол
- каждый интерфейс
- входящий и исходящий трафик

ACL не оказывает никакого влияния на трафик, генерируемый самим маршрутизатором.

Бывают:
Стандартные ACL - фильтруют пакеты только по IP адресу источника
Расширенные ACL - фильтруют по:
- IP адресу источника
- IP адресу назначения
- TCP или UDP портам источника
- TCP или UDP портам назначения
- типу протокола (названию или номеру)

А также:
1. Нумерованные ACL:
- от 1 до 99 и от 1300 до 2000 - стандартные IP ACL
- от 100 до 199 и от 2000 до 2699 - расширенные IP ACL
2. Именованные - их более удобно применять, т.к. можно указать их назначение. Требования к именам:
- могут содержать буквы и цифры
- предполагается, что имена будут писаться заглавными буквами
- имена не могут содержать пробелы и знаки пунктуации
В именованные ACL можно добавлять и удалять записи.

Как применяются ACL
1. Создать ACL, указав номер или имя и указать условия.
2. Назначить ACL на интерфейс или терминальную линию.

Как работает стандартный ACL
1. На интерфейс поступает пакет
2. Проверяется, есть ли на входе интерфейса ACL.
3. Проверяется, стандартный ли ACL.
4. Сравнивается адрес источника с первой записью.
5. Если не совпадает, сравнивается со следующей записью.
6. Если не совпадает ни с одной записью, то отбрасывается.
7. Если совпадает с какой-то записью, пропускает или отбрасывает согласно правилу.
8. Если пропускает, ищет адрес назначения в таблице маршрутизации.
9. Если есть, отправляет на нужный интерфейс.
10. Если нет - отбрасывает.

Правила размещения ACL:
- Стандартные ACL надо располагать ближе к сети назначения
- Расширенные ACL- ближе к сети источника.

wildcard маска образуется путе вычитания маски необходимой сети из маски 255.255.255.0, например
255.255.255.255
-
255.255.15.0
=
0.0.240.255

В ACL вместо адреса источника можно указывать:
- вместо 0.0.0.0 255.255.255.255 - any
- вместо конкретного адреса хоста типа 192.168.5.12 0.0.0.0 - host 192.168.5.12

Редактирование нумерованных ACL
При редактировании нумерованных ACL записи вставляются в порядке ввода. Нельзя вставить новую запись между двумя уже введенными. Если это все-таки надо сделать, то:
- Копируем все правила из конфигурации в блокнот.
- Вставляем необходимые записи.
- Удаляем весь AC
- Копируем все записи из блокнота
- Вставляем в конфигурацию.


Расшр\иренные ACL
Расширенные списки доступа дают возможность более точно фильтровать трафик, поэтому и используются они чаще. Помимо адреса источника они еще проверяют:
- протокол (IP, ICMP, TCP, UDP и др)
- адрес назначения
- номер порта (не интерфейса)

Комплексные ACL
Стандартные и расширенные ACL могут быть основой для комплексных ACL для улучшения функциональности. Бывают:
- Динамические
- Рефлексивные
- С ограничением по времени

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

Введение

ACL (Access Control List) — это набор текстовых выражений, которые что-то разрешают, либо что-то запрещают. Обычно ACL разрешает или запрещает IP-пакеты, но помимо всего прочего он может заглядывать внутрь IP-пакета, просматривать тип пакета, TCP и UDP порты. Также ACL существует для различных сетевых протоколов (IP, IPX, AppleTalk и так далее). В основном применение списков доступа рассматривают с точки зрения пакетной фильтрации, то есть пакетная фильтрация необходима в тех ситуациях, когда у вас стоит оборудование на границе Интернет и вашей частной сети и нужно отфильтровать ненужный трафик.
Вы размещаете ACL на входящем направлении и блокируете избыточные виды трафика.

Теория

  • На интерфейсе: пакетная фильтрация
  • На линии Telnet: ограничения доступа к маршрутизатору
  • VPN: какой трафик нужно шифровать
  • QoS: какой трафик обрабатывать приоритетнее
  • NAT: какие адреса транслировать

Сам же ACL представляет собой набор текстовых выражений, в которых написано permit (разрешить) либо deny (запретить), и обработка ведется строго в том порядке в котором заданы выражения. Соответственно когда пакет попадает на интерфейс он проверяется на первое условие, если первое условие совпадает с пакетом, дальнейшая его обработка прекращается. Пакет либо перейдет дальше, либо уничтожится.
Ещё раз, если пакет совпал с условием, дальше он не обрабатывается. Если первое условие не совпало, идет обработка второго условия, если оно совпало, обработка прекращается, если нет, идет обработка третьего условия и так дальше пока не проверятся все условия, если никакое из условий не совпадает, пакет просто уничтожается. Помните, в каждом конце списка стоит неявный deny any (запретить весь трафик). Будьте очень внимательны с этими правилами, которые я выделил, потому что очень часто происходят ошибки при конфигурации.

  • Стандартные (Standard): могут проверять только адреса источников
  • Расширенные (Extended): могут проверять адреса источников, а также адреса получателей, в случае IP ещё тип протокола и TCP/UDP порты
  • Стандартные: от 1 до 99
  • Расширенные: от 100 до 199
Виды ACL
Динамический (Dynamic ACL)
Рефлексивный (Reflexive ACL)

Здесь ситуация немножко отличается, когда узел в локальной сети отправляет TCP запрос в Интернет, у нас должен быть открытый проход, чтобы пришел TCP ответ для установки соединения. Если прохода не будет — мы не сможем установить соединение, и вот этим проходом могут воспользоваться злоумышленники, например проникнуть в сеть. Рефлексивные ACL работают таким образом, блокируется полностью доступ (deny any) но формируется ещё один специальный ACL, который может читать параметры пользовательских сессий, которые сгенерированны из локальной сети и для них открывать проход в deny any, в результате получается что из Интернета не смогут установить соединение. А на сессии сгенерированны из локальной сети будут приходить ответы.

Ограничение по времени (Time-based ACL)

Настройка

  • Обработка ведется строго в том порядке, в котором записаны условия
  • Если пакет совпал с условием, дальше он не обрабатывается
  • В конце каждого списка доступа стоит неявный deny any (запретить всё)
  • Расширенные ACL нужно размещать как можно ближе к источнику, стандартные же как можно ближе к получателю
  • Нельзя разместить более 1 списка доступа на интерфейс, на протокол, на направление
  • ACL не действует на трафик, сгенерированный самим маршрутизатором
  • Для фильтрации адресов используется WildCard маска
Стандартный список доступа
  • permit: разрешить
  • deny: запретить
  • remark: комментарий о списке доступа
  • address: запрещаем или разрешаем сеть
  • any: разрешаем или запрещаем всё
  • host: разрешаем или запрещаем хосту
  • source-wildcard: WildCard маска сети
  • log: включаем логгирование пакеты проходящие через данную запись ACL
Расширенный список доступа
  • protocol source: какой протокол будем разрешать или закрывать (ICMP, TCP, UDP, IP, OSPF и т.д)
  • deny: запретить
  • operator:
    A.B.C.D — адрес получателя
    any — любой конечный хост
    eq — только пакеты на этом порте
    gt — только пакеты с большим номером порта
    host — единственный конечный хост
    lt — только пакеты с более низким номером порта
    neq — только пакеты не на данном номере порта
    range — диапазон портов
  • port: номер порта (TCP или UDP), можно указать имя
  • established: разрешаем прохождение TCP-сегментов, которые являются частью уже созданной TCP-сессии
Прикрепляем к интерфейсу
  • in: входящее направление
  • out: исходящее направление
Именованные списки доступа
  • standard: стандартный ACL
  • extended: расширенный ACL
  • default: установить команду в значение по умолчанию
Ограничение доступа к маршрутизатору
Динамические списки доступа


Рефлексивные списки доступа
Ограничение по времени


Поиск проблем
Пример

Мы видим что у нас есть два ACL (стандартный и расширенный) под названиями nick и nick5. Первый список разрешает хосту 172.16.1.1 обращаться по IP (это значит что разрешены все протоколы работающие поверх IP) к хосту 10.0.0.5. Весь остальной трафик запрещен показывает команда deny ip any any. Рядом с этим условием в нашем примере пишет (16 match(es)). Это показывает что 16 пакетов попали под это условие.
Второй ACL разрешает проходить трафик от любого источника в сети 172.16.0.0/16.

Практика

Я собрал лабораторные работы для Packet Tracer с 5 главы курса CCNA 4 по теме ACL. Если у вас есть желание закрепить знания на практике, пожалуйста — ссылка, зеркало — FTP. Размер — 865.14 KB.

Расширенный ACL позволяет очень тонко настроить права доступа.

Именованные ACL

К именованным ACL обращаются по имени, а не по номеру, что даёт наглядность и удобство для обращения. Для создания именованного ACL имеется команда

и далее команды для создания элементов списка именно этого неименованного списка

Для завершения создания списка следует дать команду exit.

Имя именованного списка чувствительно к регистру. Команды для создания неименованного списка аналогичные командам для создания элементов нумерованного списка, но сам процесс создания отличен. Вы должны использовать ключевое слово ip перед главным ACL оператором и тем самым войти в режим конфигурации именно для этого именованного списка. В этом режиме вы начинаете с ключевых слов permit или deny и не должны вводить access-list в начале каждой строки.

Привязка именованных ACL к интерфейсу осуществляется командой

ACL обрабатываются сверху вниз. Наиболее часто повторяющийся трафик должен быть обработан в начале списка. Как только обрабатываемый списком пакет удовлетворяет элементу списка, обработка этого пакета прекращается. Стандартные ACLs следует помещать ближе к точке назначения, где трафик должен фильтроваться. Выходные (out) расширенные ACLs следует помещать как можно ближе к источнику фильтруемых пакетов, а входные следует помещать ближе к точке назначения, где трафик должен фильтроваться.

Именованный ACLs разрешает вам себя редактировать. Для этого надо набрать команду, которая была использована для его создания

С помощью клавиш с вертикальными стрелками найти строку списка, которую вы хотите изменить. Изменить её, используя горизонтальные стрелки. Нажать ввод. Новая строка добавится в конец списка. Старая не уничтожится. Для её уничтожения следует ввести no в начале строки.

Для редактирования числовых ACLs следует его уничтожить и создать заново или изменить список офлайн и загрузить в устройство с помощью.

Практическая часть.

1. Загрузим в симулятор топологию, изображённую на рисунке 2.


Назначим адреса интерфейсам (маска 255.255.255.240) согласно таблице. Не забудьте на DCE устройстве последовательного соединения задать синхронизацию.

Router2 Router1 Router4
Ethernet 24.17.2.2 24.17.2.1
Serial 24.17.2.17 24.17.2.18

Осуществим конфигурацию RIP маршрутизации

Проверьте свою сеть с помощью команды ping и, в частности, что вы можете пинговать интерфейс Ethernet0 (24.17.2.2) маршрутизатора 2 из маршрутизатора 4

Создадим стандартный список доступа, который не позволит пинговать маршрутизатор 2 из маршрутизатора 4. Для этого блокируем единственный адресс 24.17.2.18 маршрутизатора 4 и разрешим остальной трафик. Список создадим на маршрутизаторе 2 командами

Применим список к интерфейсу Ethernet маршрутизаторе 2

Проверим, что список доступа запущен. Для этого просмотрим работающую конфигурацию

Мы также можем видеть, что список применён к интерфейсу, используя команду “show ip interface”. Найдите в выводимой информации с строку “Innbound access list is 1”.

Команда “show access-lists” покажет нам содержимое созданного списка доступа.


Отметим, что host 24.17.2.18 равносильно 24.17.2.18 0.0.0.0. Теперь при попытке пинговать интерфейс Ethernet0 (24.17.2.2) роутера 2 из роутера 4


Получим строку “UUUUU”, которая означает, что список доступа работает корректно.

  1. Создадим и загрузим в симулятор топологию на рисунке 10.3,


Назначим адреса интерфейсам (маска 255.255.255.0) согласно таблице

Router2 Router1 Router3 Router4
Ethernet 0 160.10.1.2 160.10.1.1 175.10.1.2 180.10.1.2
Ethernet 1 175.10.1.1 180.10.1.1

Осуществим конфигурацию OSPF маршрутизации

Для проверки пропингуйте крайние точки

Создадим стандартный список доступа для фильтрации трафика, приходящего на интерфейс ethernet0 1-го маршрутизатора router1 и разрешает трафик от подсети 175.10.1.0 (router3) и блокирует трафик от других устройств.

Проверьте, что он создался


Присоедините список как входной к интерфейсу Ethernet 1

Проверьте присоединение командой

Проверьте связь между 3 и 2 маршрутизаторами и между 4 и 2 .

Связь между 3 и 2-м роутерами должна быть, а между 4 и 2 - нет.

Изменим список доступа и разрешим трафик от подсети 180.10.1.0 (router4) и блокируем трафик от других устройств.

Проверьте, что он изменился


Присоедините список как входной к интерфейсу Ethernet 1

Проверьте присоединение командой

Проверьте связь между 3 и 2 маршрутизаторами и между 4 и 2.

Связь между 4 и 2-м роутерами должна быть, а между 3 и 2 - нет.

3. Осуществите и проверьте конфигурацию IP для сети на рисунке 1 и примените OSPF для организации динамической маршрутизации.

Для маршрутизатора router 1

Для маршрутизатора router 2

Проверте работоспособность сети: вы должны из любого устройства пинговать любой интерфейс. Или проще: все компьютеры A, B, C, D, PC5 должны взаимно попарно пинговаться.

Создадим список доступа из теоретической части

3.1 На маршрутизаторе router 1 создадим список доступа

и применим его к интерфейсу Ethernet0 как выходной

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

Попарно пропингуем A, B, C, PC5, D. В результате должна получиться следующая матрица доступа

Из\В A B C E D
A + + + - -
B + + + + +
C + + + + +
E - + + + +
D - + + + +

Видим, что политика безопасности из теоретической части полностью реализована.

3.2 Удалим ACL c интерфейса е0 и применим как входной к интерфейсу s0

Попарно пропингуем A, B, C, PC5, D. В результате должна получиться следующая матрица доступа

Из\В A B C E D
A + + + - -
B + + + - -
C + + + + +
E - - + + +
D - - + + +

Видим, что теперь трафик между сетями 10.1.1.0/25 и 10.1.1.128/25 запрещен. Невозможен также трафик между сетью 10.1.1.0/25 и сетью 15.1.1.0/24 за исключением компьютера С с адресом 15.1.1.5.

4. Используем топологию и конфигурацию пункта 1 этой лабораторной работы

Отменим конфигурацию доступа, сделанную в пункте 1

Применим список к интерфейсу Ethernet маршрутизаторе 2

Разрешим заходить на router1 телнетом на его два интерфейса с паролем router1

Наши EACL будут делать пару различных вещей. Первое мы разрешим только телнет из подсети последовательного соединения 24.17.2.16/240 для входа на router1

Опция log заставит маршрутизатор показывать выход при срабатывании списка доступа.

Разрешим на маршрутизаторе router1 весь трафик из Ethernet 0 подсети 24.17.2.0/240

Проверим установку списков


Теперь применим списки к интерфейсам для входящих пакетов

Для проверки, что EACL присутствуют на интерфейсах, используйте команду

Проверим функционирования EACL. Присоединимся к router4 и попытаемся безуспешно пропинговать интерфейс Serial2/0 на router1

EACL номер 101 блокировал ping. Но должен разрешить telnet


Посмотрим номер сессии и убьём телнет соединение

Присоединимся к router2 и посмотрим, можем ли мы пропинговать интерфейс Serial0 на router4.

Почему неудачно? Пакет стартует в Router2, идёт через Router1 (о срабатывании EACL 102 на router1 нам укажет лог


) и приходит на Router4. На Router4 он переформируется и отсылается обратно к Router1. Когда Router4 переформирует пакет, адрес источника становится адресом приёмника и адрес приёмника становится адресом источника. Когда пакет приходит на интерфейс Serial0 на router1 он отвергается, так как его адрес источника равен IP адресу интерфейса Serial0 на router4 24.17.2.17, а здесь разрешён лишь tcp.

Присоединимся к router2 и посмотрим, можем ли мы пропинговать интерфейс Ethernet0 на router1.

Успешно. Аналогично и для телнета

EACL работают успешно. О срабатывании EACL 102 на router1 нам укажет лог.


Заметим, что лог так же постоянно показывает RIP обновления


5. Именованные ACL

Отменим на router1 привязку EACL к интерфейсам

и отменим на router1 EACL

Поставим задачу запретить по всей сети лишь пинги от router4 на router2. Список доступа можно расположить и на router1 и на router2. Хотя рекомендуют располагать ACL ближе к источнику (для сокоащения трафика), в этом примере расположим именованный список с именем deny_ping на router2.

Первая команда указывает, что мы создаём именованный расширенный список доступа с именем deny_ping. Вторая команда указывает на запрещение ICMP трафика с адресом источника строго 24.17.2.18 и адресом приёмника строго 24.17.2.2. Третья команда разрешает остальной IP трафик.

Проверим создание списка


Всё правильно, мы видим в первой строке просто другую форму представления команды deny icmp 24.17.2.18 0.0.0.0 24.17.2.2 0.0.0.0 log.

Применим список для входного трафика интерфейса Ethernet0 на router2

Присоединимся к router4 и пропингуем роутер2

Неудача. Присоединимся к router1 и пропингуем роутер2


6. Рассмотрим более сложные вопросы расширенных списков доступа. Создадим топологию


.

Используйте коммутаторы модели 1912. Маршрутизатор Router1 - модели 805. Маршрутизатор Router2 - модели 1605.

Назначим IP адреса маршрутизаторам

Router1 Router2
Fa0/0 1.1.3.1/24 1.1.1.129/25
Fa1/0 1.1.1.1/25
Serial2/0 1.1.2.1/24 1.1.2.2/24

Hostname IP на ethernet0 Шлюз
PC1 1.1.3.2 255.255.255.0 1.1.3.1
PC2 1.1.1.130 255.255.255.128 1.1.1.129
PC3 1.1.1.131 255.255.255.128 1.1.1.129
PC4 1.1.1.2 255.255.255.128 1.1.1.1
PC5 1.1.1.3 255.255.255.128 1.1.1.1

На Router1 и Router2 конфигурируем RIP

Интерфейсы всех устойств должны пинговаться со всех устройств.

6.1. Список доступа сеть-сеть.

Создадим список, который разрешает трафик от локальной сети компьютеров PC4 и PC5 в локальную сеть компьютера PC1 и запрещает трафик от локальной сети компьютеров PC2 и PC3 в локальную сеть компьютера PC1. Так как трафик приходит от router2 к router1 , то следует поместить список доступа на интерфейс serial2/0 router1 для входного трафика

Первая команда непосредственно решает поставленную задачу, а вторая разрешает широковещание RIP протоколов. Проверим создание


Применим список доступа к интерфейсу.

Для тестирования списка доступа, попытайтесь пропинговать PC1 от PC2, PC3, PC4 и PC5.

Для PC2 и PC3 пинги не пойдут. Для PC4 и PC5 пинги пойдут. Список доступа работает. Посмотрите логи на router1


.

6.2.Список доступа хост-хост.

Создадим на router2 список доступа, который блокирует доступ к PC5 только с PC2. Контролировать попытки доступа можно по логам на router2.


Применим список доступа к fast Ethernet интерфейсу router2

Присоединитесь к PC2 и проверьте, что вы не можете пиновать PC5

На router2 появится лог


Присоединитесь к PC3 и проверьте, что вы можете пиновать PC5.

На router2 появится лог


6.3.Список доступа сеть-хост.

Вначале удалим предыдущие списки доступа с интерфейсов Router1 и Router2.

Создадим расширенный список доступа, который блокирует весь трафик к PC1 из локальной сети компьютеров PC2 и PC3. Так как мы блокируем весь трафик, то будем использовать IP протокол.


Применим список к исходящему трафику на интерфейсе Serial2/0 Router2

Для проверки списка попытайтесь пропинговать PC1 (1.1.3.2) из PC2 и PC3. Пинги не пройдут. Симулятор почему-то не даёт лог на консоли Router2. Но эффект выможете увидеть так


Вы видите после каждого неудачного пинга количество отслеженных (matches) пакетов возрастает.

Контрольные вопросы

1. Что такое ACL?

2. Какой адрес является критерием для разрешения/запрещения пакета?

3. Где применяются ACL?

4. Как задать элемент ACL и что такое инверсная маска?

5. Как роутер обрабатывает элементы ACL?

6. Какой элемент всегда неявно присутствует в ACL?

7. Как ACL применить к интерфейсу и затем его отменить?

8. Чем отличается входной ACL от выходного?

9. Где в сети рекомендуется размещать ACL?

10. Какими тремя командами можно проверить содержимое ACL и привязку к интерфейсу.

11. Что фильтруют расширенные ACL?

12.Какую дополнительную функциональность имеютрасширенные ACL по сравнению со стандартными?

13. Можно ли, используя расширенные ACL, наложить ограничения на трафик к определённой TCP/IP службе?

14. Опишите процедуру создания именованного ACL.

15. Как отредактировать конкретную строку в числовом ACL?

16. Как отредактировать конкретную строку в именованном ACL?

17. Чем отличается форматы команд для ввода элементов числового и именованного ACL?



Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого.


Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций.

В этом документе объясняется принцип применения списков контроля доступа (ACL) IP для фильтрации сетевого трафика. Также в нем содержатся краткие описания типов IP ACL, доступности функций и примеры использования в сети.

RFC 1700 содержит назначенные номера общеизвестных портов. RFC 1918 содержит выделение адресов для частных Интернет- и IP-адресов, которые не должны отображаться в Интернете.

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

Требования

Для данного документа нет особых требований. Обсуждаемые ключевые понятия справедливы для программного обеспечения Cisco IOS ® Releases 8.3 и выше. Это указано ниже каждой функции в списке доступа.

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

В данном документе обсуждаются различные типы списков ACL. Некоторые из них существуют с версии Cisco IOS Releases 8.3, а другие были внедрены в более поздних программных версиях. Это указано в обсуждении каждого типа списков.

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

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

Ключевые понятия ACL

В этом разделе описываются ключевые понятия списков ACL.

Маски

Маски используются с IP-адресами в IP-списках ACL для выбора разрешенных и запрещенных элементов. Маски предназначены для настройки IP-адресов на интерфейсах, начинающихся с 255 и имеющих большие значения в левой части, например, IP-адрес 209.165.202.129 с маской 255.255.255.224. Маски, используемые для списков доступа для IP, являются обратными (например, маска 0.0.0.255). Это иногда называется инвертированной маской или шаблоном маски. Когда значение маски разбивается на двоичный код (нули и единицы), результаты определяют, какие биты адреса следует учитывать при обработке трафика. Значение 0 указывает, что биты адреса необходимо учитывать (точное соответствие); 1 в маске означает "безразличный" разряд. В этой таблице ключевые понятия объясняются более подробно.

сетевой адрес (трафик, который необходимо обрабатывать)

сетевой адрес (двоичный)

00001010.00000001.00000001.00000000

00000000.00000000.00000000.11111111

На основе двоичной маски можно увидеть, что первые три набора (октета) должны точно соответствовать указанному двоичному сетевому адресу (00001010.00000001.00000001). Единицы последнего набора цифр (байт) означают "безразличные" разряды (.11111111). Поэтому учитывается весь трафик, который начинается с 10.1.1., так как последний октет может быть любым. Поэтому с данной маской обрабатываются сетевые адреса с 10.1.1.1 до 10.1.1.255 (10.1.1.x).

Для определения обратной маски ACL вычтите обычную маску из 255.255.255.255. Пример определения обратной маски для сетевого адреса 172.16.1.0 с обычной маской 255.255.255.0:

255.255.255.255 - 255.255.255.0 (обычная маска) = 0.0.0.255 (обратная маска)

Учтите эти эквиваленты ACL.

IP-адрес источника/маска подсети 0.0.0.0/255.255.255.255 означает "любой"

Источник и маска 10.1.1.2/0.0.0.0 аналогичны "host 10.1.1.2"

Уплотнение ACL

Примечание. Маски подсетей можно также представить в виде записи фиксированной длины. Например, 192.168.10.0/24 соответствует 192.168.10.0 255.255.255.0.

В данном списке указан принцип уплотнения диапазона сетей в единую сеть для оптимизации списка ACL. Учитывайте такие сети.

Первые два октета и последний октет одинаковы для каждой сети. Данная таблица служит пояснением принципа уплотнения сетей в единую сеть.

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

Поскольку первые пять бит совпадают, предыдущие восемь сетей могут быть уплотнены в единую сеть (192.168.32.0/21 или 192.168.32.0 255.255.248.0). Все восемь возможных сочетаний этих трех бит младших разрядов соответствуют диапазону рассматриваемых сетей. Данная команда определяет список ACL, разрешающий данную сеть. Если вычесть 255.255.248.0 (обычную маску) из 255.255.255.255, результат будет равен 0.0.7.255.

Запомните этот набор сетей для дальнейшего рассмотрения.

Первые два октета и последний октет одинаковы для каждой сети. Данная таблица служит пояснением принципа уплотнения этих сетей.

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

Эти сети, в отличие от предыдущего примера, невозможно уплотнить в единую сеть. Необходимо как минимум две сети. Предыдущие сети можно уплотнить в следующие две сети:

Для сетей 192.168.146.x и 192.168.147.x совпадают все биты за исключением одного, представляющего "безразличный" разряд. Это может быть записано следующим образом: 192.168.146.0/23 (или 192.168.146.0 255.255.254.0);

Для сетей 192.168.148.x и 192.168.149.x совпадают все биты за исключением одного, представляющего "безразличный" разряд. Это может быть записано следующим образом: 192.168.148.0/23 (или 192.168.148.0 255.255.254.0).

Эти выходные данные определяют уплотненный список ACL для вышеуказанных сетей.

Обработка списков ACL

Трафик, поступающий на маршрутизатор, сравнивается с записями ACL на основе очередности появления записей в маршрутизаторе. Новые записи добавляются в конец списка. Маршрутизатор продолжает поиск до нахождения соответствия. Если маршрутизатор доходит до конца списка, не найдя соответствий, трафик не принимается. По этой причине наиболее часто используемые записи должны располагаться в начале списка. Существует неявный запрет на трафик, который не разрешен. Список ACL с единственной записью “deny” приводит к запрету всего трафика. Необходимо использовать как минимум одну разрешающую запись ACL, иначе весь трафик будет блокироваться. Результаты применения этих двух списков ACL (101 и 102) аналогичны.

В этом примере достаточно последней записи. В первых трех записях нет необходимости, поскольку протокол TCP содержит протокол Telnet, а протокол IP содержит протоколы TCP, UDP и ICMP.

Маршрутизатор может отображать описательный текст по некоторым общеизвестным портам. Используйте команду ? для получения справки.

Применение списков ACL

Можно определить ACL без их применения. Но эффекта от списков ACL не будет до тех пор, пока они не применены к интерфейсу маршрутизатора. Рекомендуется применять ACL на интерфейсе, который ближе других расположен к источнику трафика. Как отображено в следующем примере, при попытке блокировать трафик от источника до места назначения можно применить входящий список ACL до E0 на маршрутизаторе A вместо исходящего списка E1 на маршрутизаторе C.

Определение входа, выхода, источника и места назначения

Термины "вход", "выход", "источник" и "место назначения" используются относительно маршрутизатора. Трафик в маршрутизаторе можно сравнить с трафиком на магистрали. Предположим, вы сотрудник правоохранительных органов в Твери и хотите остановить автомобиль, который движется из Москвы в Петербург. Источником фургона является Москва, а местом назначения - Петербург. Можно организовать контрольно-пропускной пункт на границе Тверской области и Ленинградской области (на въезде) или на границе Московской и Тверской области (на выезде).

Относительно маршрутизатора данные термины имеют указанные значения.

Выход – трафик, который уже прошел через маршрутизатор и уходит с интерфейса. Источник, где он находился, на другой стороне маршрутизатора, и место назначения, куда он направляется.

Изменение списков ACL

При изменении списка ACL требуется особое внимание. Например, при попытке удалить указанным ниже образом определенную строку из нумерованного списка ACL будет удален весь список ACL.

Для редактирования нумерованных списков ACL скопируйте конфигурацию маршрутизатора на сервер TFTP или в текстовый редактор, например, блокнот. Затем внесите нужные изменения и скопируйте конфигурацию обратно на маршрутизатор.

Также можно сделать следующее.

Удаляемые элементы вырезаются из списка ACL, а необходимые дополнения вставляются в конец списка.

Также можно добавлять строки в стандартные нумерованные списки ACL или расширенные нумерованные списки ACL с помощью их порядковых номеров в Cisco IOS. Пример конфигурации:

Настройте расширенный список ACL следующим образом:

Введите команду show access-list для просмотра записей ACL. Также отобразятся порядковые номера, такие как 10, 20 и 30.

Добавьте запись для списка доступа 101 с порядковым номером 5.

В выходных данных команды show access-list порядковый номер 5 добавляется в качестве первой записи для списка доступа 101.

Аналогичным образом можно настроить стандартный список доступа:

Основным отличием стандартного списка доступа является то, что Cisco IOS добавляет записи по убыванию IP-адресов, а не порядковых номеров.

В данном примере отображены различные записи, в т.ч. для разрешения IP-адреса (192.168.100.0) или сетей (10.10.10.0).

Добавьте запись в список доступа 2 для разрешения IP-адреса 172.22.1.1:

Данная запись добавляется сверху списка для указания приоритета конкретного IP-адреса, а не сети.

Примечание. Предыдущие версии списков ACL не поддерживаются программными средствами Security Appliance, например брандмауэром ASA/PIX.

Поиск и устранение неисправностей

Как удалить список ACL из интерфейса?

Перейдите в режим настройки и введите no перед командой access-group, как показано в данном примере, для удаления списка ACL из интерфейса.

Что делать, когда слишком большое количество трафика отвергается?

Если отвергается слишком большое количество трафика, то проанализируйте принципы существующего списка для определения и применения расширенного списка. Команда show ip access-lists выводит счетчик пакетов, отображающий, к какой записи списка ACL выполняется обращение.

Ключевое слово log в конце отдельных записей ACL отображает помимо информации о порте номер ACL и факт разрешения или отвержения пакета.

Примечание. Ключевое слово log-input существует в ПО Cisco IOS Release 11.2 и выше, а также в некоторых типах ПО на основе Cisco IOS Release 11.1, созданных специально для рынка поставщиков услуг. Старое ПО не поддерживает это ключевое слово. Использование этого ключевого слова предполагает отображение, по возможности, входного интерфейса и MAC-адреса источника.

Как отладить уровень пакетов, использующий маршрутизатор Cisco?

В данной процедуре объясняется процесс отладки. Прежде всего, необходимо убедиться в отсутствии действующих списков ACL, в наличии списка ACL и в активации режима быстрой коммутации.

Примечание. Будьте предельно осторожно при отладке системы с высокой информационной загрузкой. Используйте список ACL для отладки определенного трафика. Но будьте осторожны с процессом и потоком трафика.

Используйте команду access-list для получения необходимых данных.

В данном примере получение данных настроено на адрес места назначения 10.2.6.6 или исходный адрес 10.2.6.6.

Отключите быструю коммутацию на вовлеченных интерфейсах. Если быстрая коммутация не отключена, видимым будет только первый пакет.

Введите команду debug ip packet 101 или debug ip packet 101 detail, чтобы начать процесс отладки.

Используйте команду no debug all в режиме "enable" и команду interface configuration, чтобы прервать процесс отладки.

Типы списков ACL для IP

В данном разделе документа описываются типы списков ACL.

Схема сети

Стандартные списки ACL

Стандартные списки ACL - это самый старый тип ACL. Их появление датируется выпуском ПО Cisco IOS Release 8.3. Стандартные списки ACL управляют трафиком, сравнивая адрес источника IP-пакетов с адресами, заданными в списке.

Ниже приведен формат синтаксиса команд стандартного списка ACL.

Во всех версиях программного обеспечения номер access-list-number может варьироваться от 1 до 99. В ПО Cisco IOS Release 12.0.1 стандартные списки ACL начали использовать дополнительные номера (от 1300 до 1999). Эти дополнительные номера относятся к расширенным спискам ACL для IP. Программное обеспечение Cisco IOS Release 11.2 предоставило возможность использовать имя списка (поле name) в стандартных ACL.

Параметр source/source-wildcard, равный 0.0.0.0/255.255.255.255, можно указать как any. В случае, когда используются только нули, шаблон можно опустить. Поэтому сервер 10.1.1.2 0.0.0.0 аналогичен серверу 10.1.1.2.

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

Ниже приведен пример использования стандартного списка ACL для блокирования всего трафика за исключением трафика из источника 10.1.1.x.

Расширенные списки ACL

Расширенные списки ACL появились в ПО Cisco IOS Release 8.3. Расширенные списки ACL управляют трафиком, сравнивая адреса источника и места назначения IP-пакетов с адресами, заданными в списке.

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

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

В этой лекции обсуждаются основы списков ACL IPv4 и, в частности, один тип ACL IP: стандартные нумерованные списки ACL IP. Стандартные нумерованные списки ACL используют простую логику, сопоставление только по полю IP-адреса источника и используют стиль конфигурации, который ссылается на ACL с помощью номера. Эта лекция призвана помочь сначала изучить этот более простой тип ACL. Следующая лекция, по теме "Расширенные списки управления доступом IPv4", завершает обсуждение описанием других типов списков контроля доступа IP. В других типах ACL используются функции, основанные на концепциях, которые вы изучаете в этой лекции, но с большей сложностью и дополнительными параметрами конфигурации.

ОСНОВЫ ACCESS CONTROL LISTS IPV4

Access Control Lists IPv4 (IP ACL) дают системным администраторам возможность идентифицировать различные типы пакетов. Для этого в настройках ACL перечислены значения, которые роутер может видеть в заголовках IP, TCP, UDP и других. Например, ACL может соответствовать пакетам с исходным IP-адресом 1.1.1.1 или пакетам, чей целевой IP-адрес является некоторым адресом в подсети 10.1.1.0/24, или пакетам с портом назначения TCP-порта 23 ( Telnet ).

Access Control Lists IPv4 выполняют множество функций в роутерах Cisco, чаще всего используются в качестве фильтра пакетов. Системные администраторы могут включить Access Control Lists на роутере, чтобы эти списки управления находились на пути пересылки пакетов, проходящих через роутер. После его включения маршрутизатор определяет, будет ли каждый IP-пакет отброшен или разрешен для продолжения, как если бы ACL не существовал.

Однако списки ACL можно использовать и для многих других функций IOS . Например, списки ACL могут использоваться для сопоставления пакетов для применения функций качества обслуживания ( QoS ). QoS позволяет роутеру предоставлять одним пакетам лучшее обслуживание, а другим - худшее. Например, пакеты, содержащие оцифрованный голос, должны иметь очень низкую задержку, чтобы списки ACL могли соответствовать голосовым пакетам, а логика QoS, в свою очередь, пересылает голосовые пакеты быстрее, чем пакеты данных.

В этом первом разделе представлены списки управления доступом IP, используемые для фильтрации пакетов, с упором на эти аспекты списков управления доступом: расположение и направление включения списков управления доступом, сопоставление пакетов путем проверки заголовков и выполнение действий после сопоставления пакета.

МЕСТА И НАПРАВЛЕНИЕ ДЕЯТЕЛЬНОСТИ ACL

Маршрутизаторы Cisco могут применять логику ACL к пакетам в точке, в которой IP-пакеты входят в интерфейс, или в точке, в которой они выходят из интерфейса. Другими словами, ACL связывается с интерфейсом и направлением потока пакетов (входящий или исходящий). То есть ACL может применяться для входящего трафика к роутеру до того, как маршрутизатор принимает решение о пересылке ( маршрутизации ), или для исходящего, после того как маршрутизатор примет решение о пересылке и определит выходной интерфейс для использования.

Стрелки на рис. 1 показывают места, в которых вы можете фильтровать пакеты, идущие слева направо в топологии. Например, представьте, что вы хотите разрешить отправку пакетов хостом A на сервер S1, но отклонить пакеты, отправленные хостом B на сервер S1. Каждая линия со стрелкой представляет местоположение и направление, в котором маршрутизатор может применить ACL, фильтруя пакеты, отправленные хостом B.

Четыре линии со стрелками на рисунке указывают местоположение и направление потоков с интерфейсов роутера, используемых для пересылки пакета от хоста B к серверу S1. В данном конкретном примере эти интерфейсы и направление являются входящими на интерфейсе F0/0 маршрутизатора R1, исходящими данными на интерфейсе S0/0/0 роутера R1, входящими данными на интерфейсе S0/0/1 роутера и исходящими данными на интерфейсе F0/0 роутера R2. Если, например, вы включили ACL на порту R2 F0/1 в любом направлении, этот ACL не сможет фильтровать пакет, отправленный с хоста B на сервер S1, потому что интерфейс R2 F0/1 не является частью маршрута от B к S1.

Короче говоря, для фильтрации пакета необходимо включить ACL на интерфейсе, который обрабатывает пакет, в том же направлении, в котором пакет проходит через этот интерфейс. Если этот параметр включен, маршрутизатор обрабатывает каждый входящий или исходящий IP-пакет, используя этот ACL. Например, если он включен на R1 для пакетов, входящих на интерфейс F0/0, R1 будет сравнивать каждый входящий IP-пакет на F0/0 с ACL, чтобы решить судьбу этого пакета: продолжать без изменений или отбрасывать.

Читайте также: