1. Главная страница » Компьютеры

Acl cisco packet tracer

Автор: | 16.12.2019

Материал из Xgu.ru

Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

Если вы считаете, что её стоило бы доработать как можно быстрее, пожалуйста, скажите об этом.

Автор: Наташа Самойленко

Содержание

[править] Стандартные и расширенные ACL

Именованные ACL могут быть стандартные и расширенные. У них немного отличается синтаксис с нумерованными:

В конце любого ACL есть невидимое правило deny ip any any.

[править] Стандартные ACL

Стандартный ACL позволяет указывать только IP-адрес отправителя:

Применение ACL на интерфейсе:

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

Пример стандартного нумерованного ACL, который запрещает хосту 10.0.3.2 доступ в сегмент сервера, но разрешает всем остальным:

Применение ACL на интерфейсе (если применить ACL на интерфейсе fa0/0 в направлении in, то он заблокирует и доступ хоста 10.0.3.2 в интернет):

Тот же пример только с именованным ACL:

Применение ACL на интерфейсе:

[править] Применение ACL к vty

К vty ACL применяется другой командой:

Для ограничения доступа к маршрутизатору, по протоколам telnet или SSH, можно использовать стандартный ACL и применить его к vty.

Данный пример ACL разрешает подключаться к маршрутизатору только с адреса 4.4.4.4:

[править] Расширенные ACL

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

Расширенный ACL, при указании протоколов TCP или UDP, позволяет указывать и порты отправителя и/или получателя:

[править] Пример настройки расширенного ACL

Задание для расширенного ACL:

  • запретить хосту 10.0.3.2 доступ к серверу по RDP,
  • запретить хосту 10.0.3.1 доступ по HTTP,
  • разрешить всем остальным из сети 10.0.3.0 всё,
  • запретить всем остальным хостам (хотя в конце и так есть невидимое deny ip any any, его часто дописывают в конце правил, чтобы явно видеть по срабатыванию счетчиков, что трафик заблокировал ACL):

Пример расширенного нумерованного ACL:

Применение ACL на интерфейсе:

Расширенный именованный ACL:

Применение ACL на интерфейсе:

[править] Команды просмотра

[править] Другие виды ACL

[править] Динамические ACL

[править] Пример настройки динамических ACL

Создание обычного ACL (в нём разрешён telnet для того чтобы пользователи могли пройти аутентификацию):

Создание динамического ACL:

Если необходимо чтобы параметр any при применении ACL был заменен на IP-адрес инициатора telnet-соединения, то в команде access-enable host необходимо указать параметр host.

Дополнительно можно настроить временной интервал, после которого динамическая запись будет удалена независимо от активности пользователя:

Применение ACL на интерфейсе:

Настройка доступа telnet:

Команда access-enable host активирует динамический ACL:

  • host — указывает, что запись будет создана для хостов, которые инициировали сессию telnet,
  • timeout — настройка периода времени после которого, в случае не использования динамической записи, запись будет удалена.

[править] Проверка работы

Проверка связи до активирования динамического ACL:

Просмотр информации на dyn1 до активирования динамического ACL:

После активирования динамического ACL (qua7 пингуется, а интерфейс dyn1 по-прежнему нет):

Просмотр информации на dyn1 после активирования динамического ACL:

Если команда access-enable указана без параметра timeout, то запись будет оставаться постоянно. Удалить её можно с помощью команды clear ip access-template. Например, очистить запись в динамическом ACL:

[править] Пример конфигурации маршрутизатора

[править] Reflexive ACL

Reflexive ACl могут быть настроены только с расширенными именованными ACL. Сами RACL не применяются к интерфейсу, они применяются к ACL.

[править] Настройка RACL

Схема сети такая же как и для динамических ACL.

Создание ACL для исходящего трафика:

Создание ACL для входящего трафика:

[править] Настройка таймеров

Значение глобального таймера по умолчанию 300 секунд:

Изменение значения глобального таймера:

Можно для каждой записи указать своё значение таймера, например:

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

[править] Пример конфигурации

[править] Временные интервалы для ACL

Применение временных интервалов к правилам ACL может быть полезно, например, в таких случаях:

  • правилами компании разрешается различный тип доступа в зависимости от времени рабочего дня,
  • необходимо создать временное правило

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

Второй вариант может возникнуть, например, когда в компании периодически необходимо предоставлять сотрудникам временный доступ к ресурсам. Например, в компании неделю работает подрядчик и ему нужен доступ к каким-то из серверов компании. Если создать правило сразу с временным интервалом, то оно перестанет работать (станет неактивным) в строго определенное время и можно не бояться забыть его удалить. К сожалению, ACL со временем, как правило, сильно разрастаются и в них остаются «мертвые» правила. Такой подход с временными интервалами хотя бы немного позволит упростить поддержание ACL в актуальном виде.

[править] Настройка параметров временного интервала

Пример настройки временного интервала для рабочих дней:

Пример настройки временного интервала для выходных дней:

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

Второй интерфейс маршрутизатора (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 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 подробней. Как взрослые люди, начнём делать серьёзные вещи. Да и я, наконец, собрался с мыслями и поковырял эту тему.

В данной статье мы рассмотрим простые типовые конфигурации для списков управления доступом на базе Cisco ACL, которые фильтруют IP-пакеты в зависимости от следующих данных:

  • адрес источника (source address);
  • адрес назначения (destination address);
  • тип пакета (протокол верхнего уровня);

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

Что такое Access Control List?

IP ACL – последовательный набор правил разрешающих или запрещающих прохождение пакета. Маршрутизатор последовательно проверяет каждый пакет на соответствие правилам. После первого же совпадения принимается решение и дальше правила не обрабатываются.

Если ни одно из правил не подошло, то пакет отбрасывается из-за неявного последнего правила deny all.

Какие бывают ACL?

Можно выделить следующие виды списков контроля доступа:

Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 107ms, Maximum = 125ms, Average = 116ms

Запрещаем FTP трафик.

Задача: разрешить доступ к FTP для узла 192.168.1.2 и запретить для узла 192.168.1.3.

На сервере 10.0.1.3 поднят FTP сервис (дефолтные cisco:cisco). Убедимся, что узел доступен и FTP работает.

Subnet Mask. 255.255.255.0
Default Gateway. 192.168.1.1

Trying to connect. 10.0.1.3
Connected to 10.0.1.3
220- Welcome to PT Ftp server
Username:cisco
331- Username ok, need password
Password:
230- Logged in
(passive mode On)
ftp>dir

0 : c1841-advipservicesk9-mz.124-15.T1.bin 33591768
1 : c1841-ipbase-mz.123-14.T7.bin 13832032
2 : c1841-ipbasek9-mz.124-12.bin 16599160
3 : c2600-advipservicesk9-mz.124-15.T1.bin 33591768
4 : c2600-i-mz.122-28.bin 5571584
5 : c2600-ipbasek9-mz.124-8.bin 13169700
6 : c2800nm-advipservicesk9-mz.124-15.T1.bin 50938004
7 : c2800nm-ipbase-mz.123-14.T7.bin 5571584
8 : c2800nm-ipbasek9-mz.124-8.bin 15522644
9 : c2950-i6q4l2-mz.121-22.EA4.bin 3058048
10 : c2950-i6q4l2-mz.121-22.EA8.bin 3117390
11 : c2960-lanbase-mz.122-25.FX.bin 4414921
12 : c2960-lanbase-mz.122-25.SEE1.bin 4670455
13 : c3560-advipservicesk9-mz.122-37.SE1.bin 8662192
14 : pt1000-i-mz.122-28.bin 5571584
15 : pt3000-i6q4l2-mz.121-22.EA4.bin 3117390
ftp>quit

PC>221- Service closing control connection.

Команды и настройка FTP-сервера есть на нашем сайте тут.

Убедимся, что доступ есть как с узла 192.168.1.2, так и с 192.168.1.3. У меня всё по плану. Если у вас вдруг нет доступа, убедитесь, что каждому узлу назначен IP и маска, а так же прописан шлюз по-умолчанию. И не перепутали ли вы интерфейсы?

Router(config-ext-nacl)#permit tcp 192.168.1.2 0.0.0.0 10.0.1.3 0.0.0.0 eq 20
Router(config-ext-nacl)#deny tcp 192.168.1.3 0.0.0.0 10.0.1.3 0.0.0.0 eq 21
Router(config-ext-nacl)#deny tcp 192.168.1.3 0.0.0.0 10.0.1.3 0.0.0.0 eq 20

Здесь мы видми по 2 разрешающих и по 2 запрещающих правила для указанных направлений и портов 21 и 20. Это служба FTP, передача команд и данных.

А теперь применяем наш список к интерфейсу со стороны сети 192.168.1.0/24 на вход (потому что трафик ВХОДИТ на роутер со стороны интерфейса 192.168.1.1):

Router(config-if)#ip access-group 101 in

Как видите, мы просто применили наше правило с номером 101.

Проверяем коннект. С узла 192.168.1.3 видим следующее:

Trying to connect. 10.0.1.3

А с узла 192.168.1.2 по прежнему коннект!

«>стандартные ACL;

  • расширенные ACL (об этом речь пойдёт ниже);
  • динамические ACL (ключ и замок);
  • именованные IP-списки ACL;
  • рефлексивные ACL;
  • синхронизируемые списки ACL, использующие временные диапазоны;
  • прокси-аутентификации;
  • Turbo ACL;
  • контекстно-ориентированные ACL;
  • откомментированные записи IP ACL;
  • распределённые синхронизируемые ACL;
  • Всему своё время, а мы рассмотрим самое распространённое – стандартные и расширенные списки контроля доступа.

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

    Формат синтаксиса команды стандартного ACL выглядит так:

    # access-list number

    • permit – пропускаем пакет.
    • deny – отбрасываем пакет.
    • host – конкретный IP-адрес узла
    • sourcesource-wildcard – IP и его обратная маска. Надо несколько слов сказать про обратную маску. Здесь применяется инвертированная маска сети, которая показывает, какие биты изменяются.
    • any – любой хост.

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

    Ну и чтобы лучше понять параметры, приведу несколько примеров:

    1. Задача: разрешаем прохождение трафика от узла 10.0.0.10
    1. Задача: запрещаем прохождение пакетов из подсети 10.0.1.0/24
    1. Задача: разрешить доступ только админу (10.0.0.9), остальным запретить.

    # access-list 3 deny any

    И здесь очень важно написать правила именно в таком порядке. Я не зря сказал, что правила проверяются последовательно, до первого совпадения.

    Здесь, если пакет принадлежит IP 10.0.0.9, то первая строчка соответствует и пакет пропустится.

    А если написать правила в обратном порядке, то первой же строкой будет deny any, что отбросит любой пакет (даже 10.0.0.9) и дальше правила применяься не будут. Поэтому нужно быть очень внимательным в этом.

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

    Расширенные списки управляют трафиком, сравнивая адреса источника и назначения пакетов с адресами, заданными в списке. Это более тонкая фильтрация трафика по следующим критериям:

    • протокол;
    • номер порта;
    • значение DSCP;
    • приоритет;
    • состояние бита SYN;

    Синтаксис расширенных списков ACL.

    # access-list number [dynamic dynamic-name [timeout minutes]][source-port] [precedence precedence] [tos tos] [log | log-input] [time-range time-range-name] [fragments]

    Уже представляю ваши глаза “О_О”. Да, вот такой расширенный список, действительно, параметров немного больше.

    Примеры расширенных ACL

    Я составил типовую конфигурацию в Cisco Packet Tracer, две подсети 10.0.1.0/24 и 192.168.1.0/24.

    Узлы подсети 10.0.1.0/24 имеют шлюз по умолчанию 10.0.1.1, а 192.168.1.0/24 соответственно 192.168.1.1.

    Настраиваем роутер.

    router> en
    router# conf t
    router(config)# int fast 0/0
    router(config-if)# ip address 10.0.1.1 255.255.255.0
    router(config-if)# no shut

    Аналогично настраиваем и второй инерфейс (fast 0/1), только в качестве адреса указываем не 10.0.1.1, а 192.168.1.1.

    Приступим к настройке ACL-ов.

    Сначала убедимся, что сеть коммутируется и все узлы доступны друг для друга:

    Pinging 10.0.1.3 with 32 bytes of data:

    Reply from 10.0.1.3: bytes=32 time=125ms TTL=127
    Reply from 10.0.1.3: bytes=32 time=107ms TTL=127
    Reply from 10.0.1.3: bytes=32 time=125ms TTL=127
    Reply from 10.0.1.3: bytes=32 time=109ms TTL=127

    Ping statistics for 10.0.1.3:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
    Minimum = 107ms, Maximum = 125ms, Average = 116ms

    Запрещаем FTP трафик.

    Задача: разрешить доступ к FTP для узла 192.168.1.2 и запретить для узла 192.168.1.3.

    На сервере 10.0.1.3 поднят FTP сервис (дефолтные cisco:cisco). Убедимся, что узел доступен и FTP работает.

    PC>ipconfig
    IP Address………………….: 192.168.1.2
    Subnet Mask…………………: 255.255.255.0
    Default Gateway……………. 192.168.1.1

    PC>ftp 10.0.1.3
    Trying to connect…10.0.1.3
    Connected to 10.0.1.3

    220- Welcome to PT Ftp server

    331- Username ok, need password

    Password:
    230- Logged in

    (passive mode On)
    ftp>dir

    Listing /ftp directory from 10.0.1.3:
    0 : c1841-advipservicesk9-mz.124-15.T1.bin 33591768
    1 : c1841-ipbase-mz.123-14.T7.bin 13832032
    2 : c1841-ipbasek9-mz.124-12.bin 16599160
    3 : c2600-advipservicesk9-mz.124-15.T1.bin 33591768
    4 : c2600-i-mz.122-28.bin 5571584
    5 : c2600-ipbasek9-mz.124-8.bin 13169700
    6 : c2800nm-advipservicesk9-mz.124-15.T1.bin 50938004
    7 : c2800nm-ipbase-mz.123-14.T7.bin 5571584
    8 : c2800nm-ipbasek9-mz.124-8.bin 15522644
    9 : c2950-i6q4l2-mz.121-22.EA4.bin 3058048
    10 : c2950-i6q4l2-mz.121-22.EA8.bin 3117390
    11 : c2960-lanbase-mz.122-25.FX.bin 4414921
    12 : c2960-lanbase-mz.122-25.SEE1.bin 4670455
    13 : c3560-advipservicesk9-mz.122-37.SE1.bin 8662192
    14 : pt1000-i-mz.122-28.bin 5571584
    15 : pt3000-i6q4l2-mz.121-22.EA4.bin 3117390
    ftp>quit

    Packet Tracer PC Command Line 1.0
    PC>221- Service closing control connection.

    Убедимся, что доступ есть как с узла 192.168.1.2, так и с 192.168.1.3. У меня всё по плану. Если у вас вдруг нет доступа, убедитесь, что каждому узлу назначен IP и маска, а так же прописан шлюз по-умолчанию. И не перепутали ли вы интерфейсы?

    Router(config)#ip access-list extended 101
    Router(config-ext-nacl)#permit tcp 192.168.1.2 0.0.0.0 10.0.1.3 0.0.0.0 eq 21
    Router(config-ext-nacl)#permit tcp 192.168.1.2 0.0.0.0 10.0.1.3 0.0.0.0 eq 20
    Router(config-ext-nacl)#deny tcp 192.168.1.3 0.0.0.0 10.0.1.3 0.0.0.0 eq 21
    Router(config-ext-nacl)#deny tcp 192.168.1.3 0.0.0.0 10.0.1.3 0.0.0.0 eq 20

    Здесь мы видми по 2 разрешающих и по 2 запрещающих правила для указанных направлений и портов 21 и 20. Это служба FTP, передача команд и данных.

    А теперь применяем наш список к интерфейсу со стороны сети 192.168.1.0/24 на вход (потому что трафик ВХОДИТ на роутер со стороны интерфейса 192.168.1.1):

    Router(config)#int fa 0/1
    Router(config-if)#ip access-group 101 in

    Как видите, мы просто применили наше правило с номером 101.

    Проверяем коннект. С узла 192.168.1.3 видим следующее:

    PC>ftp 10.0.1.3
    Trying to connect…10.0.1.3

    Читайте также:  Mac не видит монитор

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *