Итак, продолжу разговор о списках доступа (ACL) на базе маршрутизаторов Cisco.
Я уже касался этой темы в статьях “ACL первое знакомство с маршрутизацией” и “ACL расширенная настройка” ранее на этом сайте. Пришла пора наконец подвести итоги по всем видам ACL и привести типовые конфигурации, чтобы не оставалось пробелов или белых пятен.
Как я уже говорил, списки доступа бывают нескольких видов:
- Стандартные;
- Расширенные;
- Динамические;
- …
Стандартные ACL.
В стандартных ACL есть одна особенность – возможность задать только IP адрес источника пакетов. Поэтому эти ACL очень просты.
Вот скриншот используемой топологии.
Две подсети, 192.168.0.0/24 и 10.0.0.0/24. Три узла имеют следующие настройки:
- IP адреса 192.168.0.11, 192.168.0.12 и 192.168.0.13 соответственно;
- Маска подсети общая 255.255.255.0;
- Шлюз по-умолчанию 192.168.0.1;
Маршрутизатор (интерфейс 0/0) настроен с адресом 192.168.0.1 и включен:
Router>en
Router#conf t
Router(config)#int fa0/0
Router(config-if)#ip addr 192.168.0.1 255.255.255.0
Router(config-if)#no shut
Router(config-if)#exit
Второй интерфейс маршрутизатора (0/1) настроен с адресом 10.0.0.1 и так же включен.
Router(config)#int fa0/1
Router(config-if)#ip addre 10.0.0.1 255.255.255.0
Router(config-if)#no shut
Ну и сервер, настроен с адресом 10.0.0.100, маска подсети 255.255.255.0 и адрес шлюза по-умолчанию 10.0.0.1.
Проверяем запросом Ping с любого узла на адрес сервера. Всё должно проходить свободно.
Если вдруг пакеты не доходят, проверьте следующие параметры:
- Шлюз по-умолчанию совпадает с адресом ближайшего интерфейса маршрутизатора;
- Интерфейс маршрутизатора поднят;
- IP-настройки верны;
Поскольку ломаться тут, собственно говоря, нечему, будем считать, что достигли рабочей конфигурации. Итак, стандартные списки доступа.
Задача. Разрешить доступ на сервер только узлу с адресом 192.168.0.12, остальным запретить.
Важно запомнить, что пока не задан список доступа на интерфейсе (который можно повесить только один, кстати), всё разрешено. Но стоит повесить хотябы один список, то действует механизм (сверху вниз) “Всё, что не разрешено, то запрещено”. То есть нам нет необходимости создавать в конце правило типа “остальным – запретить”, оно подразумевается автоматически. Итак, раз нам нужно пропустить пакеты с узла 192.168.0.12, то его и зададим в качестве источника.
Общий вид правила Standart ACL выглядит так:
Router(config)#access-list <номер правила, от 1 до 99> <действие, permit, deny> <источник, либо host IP, либо IP MASK либо any>
Router(config)#access-list 1 permit host 192.168.0.12
Итак, мы разрешили прохождение пакетов с адресом источника 192.168.0.12. Негласно, ниже прописалось невидимое правило deny всё остальное, поэтому запрещающее правило можно не создавать.
Применяется правило на интерфейс в зависимости от направления.
Router(config)#int fa0/0
Router(config-if)#ip access-group 1 in
Эта настройка означает, что список правил с номером 1 будет действовать на интерфейсе fa0/0 на входящем направлении.
После проверки легко убедиться в том, что теперь только узел с адресом 192.168.0.12 может посылать ping-запрос и получать ответ от сервера. Остальные узлы не могут.
Ну и теперь, предположим, нужно добавить новый узел в раздел “разрешённых”. Как это делаем? Повторяем команду, указывая просто новый IP адрес. Для отмены какого-либо правила – повторяем его с приставкой “no ” перед командой. Тогда это правило исключается из конфигурации.
А для того, чтобы просмотреть созданные ACL, воспользуемся командой show access-lists
Router#sh access-lists
Standard IP access list 1
permit host 192.168.0.12 (11 match(es))
Кстати, эта команда даёт нам весьма ценную информацию (11 match(es)), это значит, что прошло 11 пакетов, попадающих под это правило. Ну чем не статистика?
Продолжение следует.
А где продолжение? )
Как-то руки не доходят всё ACL-ы доделать. Поможешь в этом?
Попробую.