Логика работы входящего ACL-списка
На рис. 1 проиллюстрирована логика работы входящего ACL-списка. Если данные в заголовке пакета соответствуют первой записи ACL-списка, остальные записи списка опускаются, и пакет принимается или отклоняется, в зависимости от условия, с которым он совпал. Если заголовок пакета не соответствует первой записи ACL-списка, пакет проверяется на соответствие следующей записи в списке. Этот процесс повторяется до тех пор, пока не будут проверены все записи списка.
Последней записью в конце каждого ACL-списка является косвенная команда «deny any». Данная запись не отображается в выходных данных. Команда «deny any» применяется ко всем пакетам, не удовлетворяющим условиям проверки. Последнее условие проверки соответствует всем оставшимся пакетам и инициирует в их отношении действие «запретить». Маршрутизатор отбрасывает все оставшиеся пакеты, не передавая их на интерфейс или из интерфейса. Последнюю запись списка часто называют «косвенным отказом deny any» или командой «запретить весь трафик». Из-за этой команды список контроля доступа должен иметь хотя бы одну разрешающую запись, в противном случае весь трафик будет блокироваться.
Логика работы исходящего ACL-списка
Рис. 2 иллюстрирует логику работы исходящего ACL-списка. Перед тем как пакет пересылается на исходящий интерфейс, маршрутизатор проверяет таблицу маршрутизации, чтобы определить, подлежит ли пакет маршрутизации. Если пакет не подлежит маршрутизации, он отбрасывается и не проверяется на соответствие записям ACE. Следующим этапом маршрутизатор проверяет, задан ли исходящий интерфейс в списке контроля доступа. Если интерфейс не задан, пакет отправляется в выходной буфер. Приведём несколько примеров принципа работы исходящего списка контроля доступа:
- ACL-список не применён на интерфейсе: если исходящий интерфейс не связан с исходящим ACL, пакет отправится непосредственно на исходящий интерфейс.
- ACL-список применён на интерфейсе: если исходящий интерфейс связан с исходящим ACL, пакет не будет отправлен на исходящий интерфейс до тех пор, пока не будет проверен комбинацией записей ACE, связанных с этим интерфейсом. В зависимости от результата проверки пакет принимается или отклоняется.
Для исходящих списков контроля доступа принятие означает отправку пакета в выходной буфер, а отклонение — отбрасывание пакета.