Использование object-groups в ACL на Cisco IOS
В качестве памятки себе, решил оформить статью по использованию object-groups при создании ACL на Cisco IOS. Все ниже описанные действия будут производится на CISCO2911/K9 с версией прошивки 15.4(3)M9.
object-groups бывают двух типов:
- network — Сетевые объекты (network group). Сетевые объекты позволяют группировать IP-адреса хоста, Подсети, Диапазоны IP-адресов и другие группы сетевых объектов.
- service — (service group). Сервисные объекты позволяют указать исходные и целевые порты протокола (такие как Telnet или SNMP), Типы ICMP (такие как echo, echo-reply или host-unreachable), протоколы верхнего уровня (такие как TCP, UDP или ESP) и другие группы сервисных объектов.
Использование object-groups в ACL, позволяет легко добавлять / удалять записи, сохраняя при этом упорядоченную и читаемую структуру ACL. Так же object-groups обеспечивает простой и интуитивно понятный механизм для настройки и управления большими списками ACL, особенно тех, которые часто меняются.
Рассмотрим на примере, как настроить 2 отдела (прим. SALES и HR) для доступа к тому или иному серверу (прим. PROXY или MAIL), по определенным портам (прим. WEB-PORTS и MAIL-PORTS).
Сперва в object-groups определим сетевые объекты отделов, которым будет предоставлен доступ:
object-group network SALES host 10.20.20.1 range 10.50.1.23 10.50.1.45 object-group network HR host 10.20.20.50 10.240.12.0 255.255.255.0
Теперь определяем в object-groups, сервера, к которым необходим доступ из отделов:
object-group network PROXY host 10.10.10.100 host 10.10.10.200 object-group network MAIL 10.10.10.16 255.255.255.240
Далее определим сервисные типы объектов, по которым будет разрешен доступ на сервера и отделов:
object-group service WEB-PORTS tcp www tcp 8080 tcp 443 object-group service MAIL-PORTS tcp smtp tcp pop3
Выполним следующую конструкцию ACL:
- Доступ к серверам (PROXY), по портам (WEB-PORTS) имеют хосты из SALES.
- Доступ к серверам (MAIL), по портам (MAIL-PORTS) имеют хосты из HR.
ip access-list ext My-OBJECT-ACL permit object-group WEB-PORTS object-group SALES object-group PROXY permit object-group MAIL-PORTS object-group HR object-group MAIL
Посмотреть имеющиеся object-groups и access-list, можно командами:
sh object-group sh ip access-list
Здравствуйте! А что будет, если к ACL привязать пустую object-group? как себя поведет ACL? Не пропустит ничего по этому правилу, или пропустить все?
Никак, посмотрит пусто и пойдет дальше.