Как удалить access list cisco

от admin

How to Add, Delete and Renumber a Cisco Access Control List (ACL)

One of the things that took me a while to get was how to edit an ACL after I had configured it. I used to just copy/paste the ACL from the running config into notepad, make my edits, then delete it out of the router, then paste it back in. Sometimes that’s still the fastest way if you have lots of changes- but for the little stuff knowing how to edit and resequence is helpful. Here’s a quick guide:

Create a Simple Standard Access List:

Router(config)#access-list 10 permit host 192.168.1.2
Router(config)#access-list 10 deny any log
Router(config)#exit

Verify the Access List:

Router#show access-lists
Standard IP access list 10
10 permit 192.168.1.2
20 deny any log

Add a Line in Between Existing Entries:

To insert a line in between entries, you just need to find a number in between, then add the line starting with that number. So if we have lines 10 and 20, we can use 15 (or 11, or 17, you get the idea) and just add it directly.

Router(config)#ip access-list standard 10
Router(config-std-nacl)#15 permit host 192.168.1.5

Router(config-std-nacl)#do show access-lists
Standard IP access list 10
10 permit 192.168.1.2
15 permit 192.168.1.5
20 deny any log

Delete an Existing Entry:

Killing a line is easy, just put “no” in front of the line number.

Router(config)#ip access-list standard 10
Router(config-std-nacl)#no 15
Router(config-std-nacl)#do show access-lists
Standard IP access list 10
10 permit 192.168.1.2
20 deny any log

Renumber an Access List:

If you happen to have a list with many edits, you may actually run out of room to insert additional entries. If you do, just renumber the list. You specify the access list number, starting number, and increment. Here’s how that works:

Router#show access-lists
Standard IP access list 10
10 permit 192.168.1.2
15 permit 192.168.1.5
20 deny any log

Router(config)#ip access-list resequence 10 100 10
Router(config)#do show access-list
Standard IP access list 10
100 permit 192.168.1.2
110 permit 192.168.1.5
120 deny any log

IP списки доступа Cisco IOS

Access-lists, Access-control-lists (ACL) – списки контроля доступа. Существует несколько разновидностей аксесс-листов, применяемых на маршрутизаторах и коммутаторах Cisco. Аксесс-листы используются для фильтрации трафика или для определения классов трафика при применении политик. Список доступа представляет собой набор строк вида условие-действие. Строка аксесс-листа называется access-control-entry (ACE). Условием может быть соответствие пакета определенному протоколу или набору параметров. Действием может быть разрешение пакета (permit), либо запрещение (deny). Для списков доступа справедливы следующие правила:

  • Созданный список доступа не действует, пока он не применен к конкретному интерфейсу.
  • Список доступа применяется на интерфейсе в конкретном направлении – для исходящего, либо входящего трафика (inbound/outbound).
  • К интерфейсу можно применить только по одному аксесс-листу на протокол (ip), на направление (in/out).
  • Список доступа проверяется строка за строкой до первого совпадения. Оставшиеся строки игнорируются.
  • В конце любого IP аксесс-листа подразумевается запрещающее правило (implicit deny). Пакет, не попавший ни под одно условие в списке, отбрасывается, в соответствии с правилом implicit deny.
  • Рекомендуется более специфические правила указывать в начале аксесс-листа, а более общие – в конце.
  • Новые строки по умолчанию дописываются в конец списка.
  • Отдельную строку можно удалить из именованного аксесс-листа, другие ACL удаляются лишь целиком.
  • Список доступа должен иметь по крайней мере один permit, иначе он будет блокировать весь трафик.
  • Интерфейс, которому назначен несуществующий аксесс-лист не фильтрует трафик.
  • IP Extended Access-lists применяются как можно ближе к источнику трафика.

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

Стандартный Access-list

Фильтрует только по ip адресу источника. Должен иметь номер в диапазоне 1-99. Пример:

Расширенный Access-list

Фильтрует по адресам источника и получателя, по протоколам 3, 4 уровня. Должен иметь номер в диапазоне 100-199. Пример:

Применение к интерфейсу

Применение к линиям доступа telnet

Именованный расширенный Access-list

Фильтрует по адресам источника и получателя, по протоколам 3, 4 уровня. Должен иметь имя. Возможно удалять отдельные строки. Пример:

Строки доступа нумеруются с шагом 10 по-умолчанию. Можно перенумеровать аксесс-лист с другим шагом. Можно добавить строку пронумеровав – она попадет в указанное место, по нумерации.

Просмотр расширенного аксесс-листа:

Как видим — строки пронумерованы с шагом 10. Можно вставить новую строку в произвольное место листа, используя номер:

Удалить отдельную строчку из листа можно по номеру, или по полному указанию строки с префиксом «no». Например так:

Полностью удалить список доступа можно указав соответствующую команду и «no»:

Расширенные параметры ACE

permit icmp vs. permit ip

Deny ACEs that check Layer 4 information never match a fragment unless the fragment contains Layer 4 information.

Классификация трафика с помощью ACL

Отладка IP ACL

Vlan-ACL (VACL)

VLAN map применяется для всех отбриджованных пакетов. Router ACL только для маршрутизированных. Если

ACL: списки контроля доступа в Cisco IOS

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

Введение

ACL (Access Control List) — это набор текстовых выражений, которые что-то разрешают, либо что-то запрещают. Обычно ACL разрешает или запрещает IP-пакеты, но помимо всего прочего он может заглядывать внутрь IP-пакета, просматривать тип пакета, TCP и UDP порты. Также ACL существует для различных сетевых протоколов (IP, IPX, AppleTalk и так далее). В основном применение списков доступа рассматривают с точки зрения пакетной фильтрации, то есть пакетная фильтрация необходима в тех ситуациях, когда у вас стоит оборудование на границе Интернет и вашей частной сети и нужно отфильтровать ненужный трафик.
Вы размещаете ACL на входящем направлении и блокируете избыточные виды трафика.

Теория
  • На интерфейсе: пакетная фильтрация
  • На линии Telnet: ограничения доступа к маршрутизатору
  • VPN: какой трафик нужно шифровать
  • QoS: какой трафик обрабатывать приоритетнее
  • NAT: какие адреса транслировать

Сам же ACL представляет собой набор текстовых выражений, в которых написано permit (разрешить) либо deny (запретить), и обработка ведется строго в том порядке в котором заданы выражения. Соответственно когда пакет попадает на интерфейс он проверяется на первое условие, если первое условие совпадает с пакетом, дальнейшая его обработка прекращается. Пакет либо перейдет дальше, либо уничтожится.
Ещё раз, если пакет совпал с условием, дальше он не обрабатывается. Если первое условие не совпало, идет обработка второго условия, если оно совпало, обработка прекращается, если нет, идет обработка третьего условия и так дальше пока не проверятся все условия, если никакое из условий не совпадает, пакет просто уничтожается. Помните, в каждом конце списка стоит неявный deny any (запретить весь трафик). Будьте очень внимательны с этими правилами, которые я выделил, потому что очень часто происходят ошибки при конфигурации.

  • Стандартные (Standard): могут проверять только адреса источников
  • Расширенные (Extended): могут проверять адреса источников, а также адреса получателей, в случае IP ещё тип протокола и TCP/UDP порты
  • Стандартные: от 1 до 99
  • Расширенные: от 100 до 199
Виды ACL
Динамический (Dynamic ACL)

Позволяет сделать следующее, например у вас есть маршрутизатор, который подключен к какому-то серверу и нам нужно закрыть доступ к нему из внешнего мира, но в тоже время есть несколько человек, которые могут подключаться к серверу.
Мы настраиваем динамический список доступа, прикрепляем его на входящем направлении, а дальше людям, которым нужно подключиться, подключаться через Telnet к данному устройству, в результате динамический ACL открывает проход к серверу, и уже человек может зайти скажем через HTTP попасть на сервер. По умолчанию через 10 минут этот проход закрывается и пользователь вынужден ещё раз выполнить Telnet чтобы подключиться к устройству.

Читать:
Как оплатить google adwords
Рефлексивный (Reflexive ACL)

Здесь ситуация немножко отличается, когда узел в локальной сети отправляет TCP запрос в Интернет, у нас должен быть открытый проход, чтобы пришел TCP ответ для установки соединения. Если прохода не будет — мы не сможем установить соединение, и вот этим проходом могут воспользоваться злоумышленники, например проникнуть в сеть. Рефлексивные ACL работают таким образом, блокируется полностью доступ (deny any) но формируется ещё один специальный ACL, который может читать параметры пользовательских сессий, которые сгенерированны из локальной сети и для них открывать проход в deny any, в результате получается что из Интернета не смогут установить соединение. А на сессии сгенерированны из локальной сети будут приходить ответы.

Ограничение по времени (Time-based ACL)

Обычный ACL, но с ограничением по времени, вы можете ввести специальное расписание, которое активирует ту или иную запись списка доступа. И сделать такой фокус, например пишем список доступа, в котором запрещаем HTTP-доступ в течении рабочего дня и вешаем его на интерфейс маршрутизатора, то есть, сотрудники предприятия пришли на работу, им закрывается HTTP-доступ, рабочий день закончился, HTTP-доступ открывается,
пожалуйста, если хотите — сидите в Интернете.

Настройка
  • Обработка ведется строго в том порядке, в котором записаны условия
  • Если пакет совпал с условием, дальше он не обрабатывается
  • В конце каждого списка доступа стоит неявный deny any (запретить всё)
  • Расширенные ACL нужно размещать как можно ближе к источнику, стандартные же как можно ближе к получателю
  • Нельзя разместить более 1 списка доступа на интерфейс, на протокол, на направление
  • ACL не действует на трафик, сгенерированный самим маршрутизатором
  • Для фильтрации адресов используется WildCard маска
Стандартный список доступа
  • permit: разрешить
  • deny: запретить
  • remark: комментарий о списке доступа
  • address: запрещаем или разрешаем сеть
  • any: разрешаем или запрещаем всё
  • host: разрешаем или запрещаем хосту
  • source-wildcard: WildCard маска сети
  • log: включаем логгирование пакеты проходящие через данную запись ACL
Расширенный список доступа
  • protocol source: какой протокол будем разрешать или закрывать (ICMP, TCP, UDP, IP, OSPF и т.д)
  • deny: запретить
  • operator:
    A.B.C.D — адрес получателя
    any — любой конечный хост
    eq — только пакеты на этом порте
    gt — только пакеты с большим номером порта
    host — единственный конечный хост
    lt — только пакеты с более низким номером порта
    neq — только пакеты не на данном номере порта
    range — диапазон портов
  • port: номер порта (TCP или UDP), можно указать имя
  • established: разрешаем прохождение TCP-сегментов, которые являются частью уже созданной TCP-сессии
Прикрепляем к интерфейсу
  • in: входящее направление
  • out: исходящее направление
Именованные списки доступа
  • standard: стандартный ACL
  • extended: расширенный ACL
  • default: установить команду в значение по умолчанию
Ограничение доступа к маршрутизатору

R(config)#line vty 0 4 — переходим в режим настройки виртуальных линий.
R(config-line)#password <пароль>
R(config-line)#login
R(config-line)#access-class 21 in — настраиваем логин и пароль, а также закрепляем список доступа с разрешенными IP-адресами.

Динамические списки доступа

R3(config)#username Student password 0 cisco — создаем пользователей для подключения через Telnet.
R3(config)#access-list 101 permit tcp any host 10.2.2.2 eq telnet
R3(config)#access-list 101 dynamic testlist timeout 15 permit ip 192.168.10.0 0.0.0.255 192.168.30.0 0.0.0.255 — разрешаем подключаться к серверу по Telnet всем узлам.
R3(config)#interface serial 0/0/1
R3(config-if)#ip access-group 101 in — закрепляем 101 ACL за интерфейсом в входящем направлении.
R3(config)#line vty 0 4
R3(config-line)#login local
R3(config-line)#autocommand access-enable host timeout 5 — как только пользователь аутентифицируеться, сеть 192.168.30.0 будет доступна, через 5 минут бездействия сеанс закроется.

Рефлексивные списки доступа


R2(config)#ip access-list extended OUTBOUNDFILTERS
R2(config-ext-nacl)#permit tcp 192.168.0.0 0.0.255.255 any reflect TCPTRAFFIC
R2(config-ext-nacl)#permit icmp 192.168.0.0 0.0.255.255 any reflect ICMPTRAFFIC — заставляем маршрутизатор отслеживать трафик, который инициировался изнутри.
R2(config)#ip access-list extended INBOUNDFILTERS
R2(config-ext-nacl)#evaluate TCPTRAFFIC
R2(config-ext-nacl)#evaluate ICMPTRAFFIC — создаем входящую политику, которая требует, чтобы маршрутизатор проверял входящий трафик, чтобы видеть инициировался ли изнутри и связываем TCPTRAFFIC к INBOUNDFILTERS.
R2(config)#interface serial 0/1/0
R2(config-if)#ip access-group INBOUNDFILTERS in
R2(config-if)#ip access-group OUTBOUNDFILTERS out — применяем входящий и исходящий ACL на интерфейс.

Ограничение по времени

R1(config)#time-range EVERYOTHERDAY
R1(config-time-range)#periodic Monday Wednesday Friday 8:00 to 17:00 — создаем список времени, в котором добавляем дни недели и время.
R1(config)#access-list 101 permit tcp 192.168.10.0 0.0.0.255 any eq telnet time-range EVERYOTHERDAY — применяем time-range к ACL.
R1(config)#interface s0/0/0
R1(config-if)#ip access-group 101 out — закрепляем ACL за интерфейсом.

Поиск проблем

R#show access-lists — смотрим информацию о списке доступа.
R#show access-lists — смотрим все списки доступа на маршрутизаторе.

Пример

Router#show access-lists
Extended IP access list nick
permit ip host 172.168.1.1 host 10.0.0.5
deny ip any any (16 match(es))
Standard IP access list nick5
permit 172.16.0.0 0.0.255.255

Мы видим что у нас есть два ACL (стандартный и расширенный) под названиями nick и nick5. Первый список разрешает хосту 172.16.1.1 обращаться по IP (это значит что разрешены все протоколы работающие поверх IP) к хосту 10.0.0.5. Весь остальной трафик запрещен показывает команда deny ip any any. Рядом с этим условием в нашем примере пишет (16 match(es)). Это показывает что 16 пакетов попали под это условие.
Второй ACL разрешает проходить трафик от любого источника в сети 172.16.0.0/16.

Практика

Я собрал лабораторные работы для Packet Tracer с 5 главы курса CCNA 4 по теме ACL. Если у вас есть желание закрепить знания на практике, пожалуйста — ссылка, зеркало — FTP. Размер — 865.14 KB.

Волчье логово / Ulvens Lair / Wolfshöhle / Wolfs Lair

Необходимо помнить, что состав команд будет зависеть от того, что именно в списке меняется. Если удаляются ремарки — вид такой, как показано выше. если изменяются сами правила, то необходимо сначала добавить объекты и группы объектов, на которым впоследствии будет ссылаться правило листа. Их так же можно отредактировать в блокноте, после чего вставить перед списком доступа для последующей заливки. Т.е. последовательность действий такая же, как и при настройке в CLI вручную шаг за шагом.
6) Перед заливкой в консоль желательно выставить скорость отправки команд. В разных программах-терминалах это выставляется по-разному. Например, в SecureCRT — Options>Session options>Terminal>Emulation>Advanced>Send Delay options:Line send delay — выставить чуть больше, чем стандартное значение 5 мс. Зачем это нужно — в случае отправки в консоль большого количества строк может произойти ошибка, при которой строки наложатся друг на друга, в итоге не будут приняты ОС. Такое случается редко, и строк должно быть действительно много.
7) Копируем из блокнота полученное в пункте 5, вставляем в терминал.
8) Проверяем, что все в порядке, что старый лист удалился, новый имеет требуемый вид, лист применился к интерфейсу.
9) Сохраняем конфиг командой write.

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

BONUS: если в конфиге много объектов, которые не нужны и не входят в группы объектов, а так же много групп объектов, которые не используются нигде в списках контроля доступа, в правилах NAT, и вам нужно удалить и группы, и объекты, можно использовать команду clear config object-group и clear config object. Первая удалит все неиспользуемые группы объектов. Вторая удалит все неиспользуемый (не входящие в группы) объекты. При этом будет выдано предупреждение с перечнем групп и объектов, которые не могут быть удалены по причине использования:

Особенно актуально для любителей насоздавать тестовых групп с последующим забыванием про них и необходимостью ревизии и чистки конфига.

Похожие статьи