Аналогия: ACL — это охранник на входе со списком имен. Он читает сверху вниз и останавливается на первой подходящей строке — а тот, кого вообще нет в списке, просто не входит.
Пакет проверяется сверху вниз, и срабатывает первое совпавшее правило. Строка 10 блокирует SMB из гостевой сети к серверам, строка 20 разрешает HTTPS, строка 30 — DNS, а всё остальное отбрасывает скрытое правило implicit deny в конце списка. Standard ACL фильтрует только по источнику и ставится ближе к получателю, Extended ACL учитывает адрес, протокол и порт и ставится ближе к источнику.
Standard против Extended
- Standard (1–99) — проверяет только исходный адрес. Размещается близко к месту назначения, иначе блокирует слишком много.
- Extended (100–199) — проверяет источник, назначение, протокол и порт. Размещается близко к источнику, чтобы избежать ненужного трафика.
- Named ACL — имена вместо номеров, позволяет редактировать по номерам строк. Всегда рекомендуется.
- В конце каждого ACL существует implicit deny any — то, что не разрешено явно, блокируется.
- Возможен один ACL в одном направлении для каждого интерфейса (in / out).