Разное

Access list cisco настройка: списки контроля доступа в Cisco IOS / Хабр

Содержание

списки контроля доступа в Cisco IOS / Хабр

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

Введение

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

Вы размещаете ACL на входящем направлении и блокируете избыточные виды трафика.

Теория

Функционал ACL состоит в классификации трафика, нужно его проверить сначала, а потом что-то с ним сделать в зависимости от того, куда ACL применяется. ACL применяется везде, например:

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

Для применения ACL для всех этих компонентов нужно понять как они работают. И мы в первую очередь будем касаться пакетной фильтрации. Применительно к пакетной фильтрации, ACL размещаются на интерфейсах, сами они создаются независимо, а уже потом они прикручиваются к интерфейсу. Как только вы его прикрутили к интерфейсу маршрутизатор начинает просматривать трафик. Маршрутизатор рассматривает трафик как входящий и исходящий. Тот трафик, который входит в маршрутизатор называется входящим, тот который из него выходит — исходящий. Соответственно ACL размещаются на входящем или на исходящем направлении.

Из вашей частной сети приходит пакет на интерфейс маршрутизатора fa0/1, маршрутизатор проверяет есть ли ACL на интерфейсе или нет, если он есть, то дальше обработка ведется по правилам списка доступа

строго в том порядке, в котором записаны выражения

, если список доступа разрешает проходить пакету, то в данном случае маршрутизатор отправляет пакет провайдеру через интерфейс fa0/0, если список доступа не разрешает проходить пакету, пакет уничтожается. Если списка доступа нет — пакет пролетает без всяких ограничений. Перед тем как отправить пакет провайдеру, маршрутизатор ещё проверяет интерфейс fa0/0 на наличие исходящего ACL. Дело в том, что ACL может быть прикреплен на интерфейсе как входящий или исходящий. К примеру у нас есть ACL с правилом запретить всем узлам в Интернете посылать в нашу сеть пакеты.

Так на какой интерфейс прикрепить данную ACL? Если мы прикрепим ACL на интерфейс fa0/1 как исходящий, это будет не совсем верно, хотя и ACL работать будет. На маршрутизатор приходит эхо-запрос для какого-то узла в частной сети, он проверяет на интерфейсе fa0/0 есть ли ACL, его нет, дальше проверяет интерфейс fa0/1, на данном интерфейсе есть ACL, он настроен как исходящий, всё верно пакет не проникает в сеть, а уничтожается маршрутизатором. Но если мы прикрепим ACL за интерфейсом fa0/0 как входящий, то пакет будет уничтожатся сразу как пришел на маршрутизатор. Последнее решение является правильным, так как маршрутизатор меньше нагружает свои вычислительные ресурсы.

Расширенные ACL нужно размещать как можно ближе к источнику, стандартные же как можно ближе к получателю

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

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

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

ACL разделяются на два типа:

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

Обозначаются списки доступа либо номерами, либо символьными именами. ACL также используются для разных сетевых протоколов. Мы в свою очередь будем работать с IP. Обозначаются они следующим образом, нумерованные списки доступа:

  • Стандартные: от 1 до 99
  • Расширенные: от 100 до 199

Символьные ACL разделяются тоже на стандартные и расширенные. Расширенные напомню могут проверять гораздо больше, нежели стандартные, но и работают они медленнее, так как придется заглядывать внутрь пакета, в отличии от стандартных где мы смотрим только поле Source Address (Адрес отправителя). При создании ACL каждая запись списка доступа обозначается порядковым номером, по умолчанию в рамках десяти (10, 20, 30 и т.д). Благодаря чему, можно удалить конкретную запись и на её место вставить другую, но эта возможность появилась в Cisco IOS 12.3, до 12.3 приходилось ACL удалять, а потом создать заново полностью.

Нельзя разместить более 1 списка доступа на интерфейс, на протокол, на направление

. Объясняю: если у нас есть маршрутизатор и у него есть интерфейс, мы можем на входящее направление для IP-протокола разместить только один список доступа, например под номером 10. Ещё одно правило, касающееся самих маршрутизаторов,

ACL не действует на трафик, сгенерированный самим маршрутизатором

.

Для фильтрации адресов в ACL используется WildCard-маска. Это обратная маска. Берем шаблонное выражение: 255.255.255.255 и отнимаем от шаблона обычную маску.

255.255.255.255-255.255.255.0, у нас получается маска 0.0.0.255, что является обычной маски 255.255.255.0, только 0.0.0.255 является WildCard маской.

Виды ACL

Динамический (Dynamic ACL)

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

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

Рефлексивный (Reflexive ACL)

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

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

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

пожалуйста, если хотите — сидите в Интернете.

Настройка

Сами ACL создаются отдельно, то есть это просто некий список, который создается в глобальном конфиге, потом он присваивается к интерфейсу и только тогда он и начинает работать. Необходимо помнить некоторые моменты, для того, чтобы правильно настроить списки доступа:

  • Обработка ведется строго в том порядке, в котором записаны условия
  • Если пакет совпал с условием, дальше он не обрабатывается
  • В конце каждого списка доступа стоит неявный deny any (запретить всё)
  • Расширенные ACL нужно размещать как можно ближе к источнику, стандартные же как можно ближе к получателю
  • Нельзя разместить более 1 списка доступа на интерфейс, на протокол, на направление
  • ACL не действует на трафик, сгенерированный самим маршрутизатором
  • Для фильтрации адресов используется WildCard маска
Стандартный список доступа

Router(config)#access-list <номер списка от 1 до 99> {permit | deny | remark} {address | any | host} [source-wildcard] [log]

  • permit: разрешить
  • deny: запретить
  • remark: комментарий о списке доступа
  • address: запрещаем или разрешаем сеть
  • any: разрешаем или запрещаем всё
  • host: разрешаем или запрещаем хосту
  • source-wildcard: WildCard маска сети
  • log: включаем логгирование пакеты проходящие через данную запись ACL

Расширенный список доступа

Router(config)#access-list <номер списка от 100 до 199> {permit | deny | remark} protocol source [source-wildcard] [operator operand] [port <порт или название протокола> [established]

  • 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-сессии

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

Router(config-if)#ip access-group <номер списка или имя ACL> {in | out}

  • in: входящее направление
  • out: исходящее направление

Именованные списки доступа

Router(config)#ip access-list {standard | extended} {<номер ACL> | <имя ACL>}
Router(config-ext-nacl)# {default | deny | exit | no | permit | remark}

  • 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

{ACL номер | имя} — смотрим информацию о списке доступа.

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.

Литература

CCNA Exploration: Accessing the WAN (5 chapter)

Cisco IOS ACLs / Хабр

Всем доброго дня!

В этой статье я бы хотел поговорить про возможности Cisco IOS Access Control Lists (ACLs). Тема многим из вас должна быть знакомой, поэтому мне хочется обобщить информацию по разным типам ACLs. Я кратко пробегусь по основам, а затем поговорим про специальные типы ACLs: time-based (на основе времени), reflexive (отражающие), dynamic (динамические). Итак, начнем…

Основы: Вспомнить все…

Быстренько пробежимся по основным понятиям, синтаксису, чтобы потом проще можно было перейти к более интересным вещам. ACL’ы на роутерах Cisco позволяют решать две группы задач:

  • фильтрация трафика;
  • классификация трафика.

Эта статья посвящена в основном фильтрации, т.е. использованию ACL в качестве firewall. Классификация позволяет вам отобрать пакеты, для последующей обработки. Например, шифровать только определенный трафик при создании VPN, применять политики качества обслуживания, транслировать только определенные адреса и т.д.

ACL’ы можно отнести к брандмауэрам пакетной фильтрации (packet filtering firewall). Т.е. они позволяют выполнять фильтрацию пакетов по пяти параметрам:

  • IP адрес источника
  • IP адрес назначения
  • Протокол, инкапсулированный в IP-пакет
  • Порт источника
  • Порт назначения

ACL’ы делятся на 2 типа:

  • Стандартные (Standard)
  • Расширенные (Extended)

Стандартные ACL’ы позволяют фильтровать трафик по одному единственному критерию – IP адрес источника. Расширенные ACL’ы фильтруют по всем пяти перечисленным параметрам.

ACL состоит из набора правил. В каждом правиле вы определяете параметры фильтрации (адреса, порты и т.д.) и действие, выполняемое над пакетом, если он соответствует всем критериям правила. Действий два: разрешить (permit) и запретить (deny). При разрешении пакет обрабатывается дальше, при запрете – сбрасывается. Правила проверяются последовательно, пока не будет найдено то, которому соответствует пакет. Над пакетом выполняется действие (permit/deny) и дальнейшая проверка правил прекращается. В конце любого ACL неявно находится правило, запрещающее весь трафик. Т.е. используется ограничивающий (restrictive) контроль доступа: запрещено все, что явно не разрешено.

Синтаксис

Два способа создания ACL:

  • «Старый» синтаксис. Для идентификации ACL используются номера. За стандартными ACL закреплены номера 1-99 и 1300-1999, за расширенными – 100-199 и 2000-2699.
  • Синтаксис именованных ACL. Для идентификации используется имя, выбранное администратором.

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

Приведу несколько примеров стандартных ACL:

access-list 1 permit 192.168.1.0 0.0.0.255
!
access-list 2 permit any
!
access-list 3 permit host 10.1.1.1
!
access-list 4 permit 10.1.1.0 0.0.0.15
access-list 4 permit 192.168.0.0 0.0.31.255

Первый ACL (1) разрешает трафик из сети 192.168.1.0/24. Второй (2) ACL разрешает весь трафик. Третий (3) разрешает трафик от хоста 10.1.1.1. И последний четвертый, в первой строке разрешает трафик от хостов 10.1.1.0 – 10.1.1.15, во второй строке разрешает трафик из сетей 192.168.0.0 – 192.168.31.0. Обращаю внимание, что здесь приведены примеры четырех разных ACL’а, а не 5 правил одного ACL.

И несколько расширенных ACL:

access-list 100 permit tcp 10. 1.1.0 0.0.0.255 any eq 80
access-list 101 permit udp host 1.1.1.1 eq 500 host 2.2.2.2 eq 555
access-list 102 permit icmp any any echo
access-list 103 permit ip any any

ACL 100 разрешает TCP-трафик из сети 10.1.1.0/24 в любые сети, порт назначения 80. Т.е. разрешаем веб-серфинг из локальной сети. ACL 101 разрешает UDP трафик с хоста 1.1.1.1, порт 500 на хост 2.2.2.2, порт 555. ACL 102 разрешает «пинги» откуда угодно, куда угодно. И, наконец, последний ACL 103 разрешает весь трафик.

Аналогичные стандартные и расширенные ACL’ы, но уже с использованием нового синтаксиса:

ip access-list standard LIST1
 permit 192.168.1.0 0.0.0.255
!
ip access-list standard LIST2
 permit any
!
ip access-list standard LIST3
 permit host 10.1.1.1
!
ip access-list standard LIST1
 permit 10.1.1.0 0.0.0.15
 permit 192.168.0.0 0.0.31.255
!
ip access-list extended LIST100
 permit tcp 10.1.1.0 0.0.0.255 any eq 80
!
ip access-list extended LIST101
 permit udp host 1.1.1.1 eq 500 host 2. 2.2.2 eq 555
!
ip access-list extended LIST102
 permit icmp any any echo
!
ip access-list extended LIST103
 permit ip any any

Редактирование ACL стало намного удобнее, начиная я IOS 12.3,. Если вы дадите команду:

show access-list

Вы увидите список ACL’ов и их содержимое:

R0(config-ext-nacl)#do sh access-li
Standard IP access list LIST1
   <b> 10</b> permit 192.168.1.0, wildcard bits 0.0.0.255
   <b> 20</b> permit 10.1.1.0, wildcard bits 0.0.0.15
   <b> 30</b> permit 192.168.0.0, wildcard bits 0.0.31.255
Standard IP access list LIST2
    10 permit any
Standard IP access list LIST3
    10 permit 10.1.1.1
Extended IP access list LIST100
    10 permit tcp 10.1.1.0 0.0.0.255 any eq www
Extended IP access list LIST101
    10 permit udp host 1.1.1.1 eq isakmp host 2.2.2.2 eq 555
Extended IP access list LIST102
    10 permit icmp any any echo
Extended IP access list LIST103
    10 permit ip any any

Обратите внимание, что строки ACL пронумерованы. Для добавления новых строк в определенную позицию, войдите в режим редактирования нужного ACL и перед вводом нового правила укажите номер строки:

ip access-list standard LIST1
 25 permit …

Причем не играет роли, как вы создавали ACL – с помощью старого синтаксиса или по-новому, просто вместо имени ACL укажите его номер. Добавление и удаление строк выполняется абсолютно аналогично.

Для удаления строк используется команда no с указанием номера строки:

ip access-list standard LIST103
 no 25 

Вы можете выполнить перенумерацию строк:

ip access-list resequence LIST103 10 50

В приведенном выше примере, для ACL с именем LIST103 будет выполнена перенумерация и номер первой строки будет 10, а последующие строки нумеруются с шагом 50. Т.е. 10, 60, 110, 160 …

И, наконец, после создания ACL его необходимо будет применить в соответствии с вашими целями и задачами. То что, касается фильтрации, то ACL применяется на интерфейсе. При применении надо будет указать направление фильтрации: in (вход) – трафик приходит с провода на интерфейс роутера, out (выход) – трафик с интерфейса уходит на провод. В примере, ACL применяется для фильтрации входящего трафика:

interface fa0/0
 ip access-group LIST103 in

Все это, я надеюсь, известные вещи. Если есть какие-то вопросы, задавайте, я постараюсь ответить. Если вопросов наберется много, то можно будет сделать отдельный пост. Теперь давайте посмотрим на дополнительные возможности, которыми обладают ACL на роутерах Cisco.

Time-based ACLs

Начнем с ACLs, в которых вы можете использовать время, как дополнительный критерий, по которому будет фильтроваться или классифицироваться трафик. К примеру, в рабочее время веб-серфинг запрещен, а в обеденное время и после работы – пожалуйста. Что требуется для создания time-based ACL? Все очень просто:

  1. Создать один или несколько «календарей» — временных диапазонов;
  2. Использовать эти «календари» в правилах расширенных ACL.

Для создания «календаря» используется команда time-range, в которой указывается произвольное имя, присваиваемое календарю. На это имя вы будете впоследствии ссылаться в правилах ваших ACL. В примере я создаю «календарь» с именем WORK_DAYS:

time-range WORK_DAYS
 absolute start 00:00 01 January 2012 end 23:59 31 December 2012
 periodic weekdays 9:00 to 18:00
 periodic ?
  Friday     Friday
  Monday     Monday
  Saturday   Saturday
  Sunday     Sunday
  Thursday   Thursday
  Tuesday    Tuesday
  Wednesday  Wednesday
  daily      Every day of the week
  weekdays   Monday thru Friday
  weekend    Saturday and Sunday

В режиме конфигурирования «календаря» вы определяете временные диапазоны. Два типа диапазонов:

  • Абсолютный (указываются конкретные даты и время).
  • Периодический (указываются дни недели, рабочие или выходные дни, но без привязки к конкретной дате).

В приведенном выше примере создаются два временных интервала: абсолютный (определяет время с 00:00 01 Января 2012 года по 23:59 31 декабря 2012 года) и относительный (определяет дни с понедельника по пятницу, с 9:00 по 18:00). Для периодических интервалов, как видите, вы можете использовать названия дней недели, daily – ежедневно, weekdays – рабочие дни, weekend – выходные.
Для просмотра созданных «календарей» дайте команду show time-tange:

R0#sh time-range
time-range entry: WORK_DAYS <b>(active)</b>
   absolute start 00:00 01 January 2012 end 23:59 31 December 2012

Слово active рядом с названием «календаря» говорит о том, что он активен, т.е. время «календаря» соответствует сейчас текущему времени на роутере.

Теперь давайте используем наш «календарь» в правилах ACL:

ip access-list extended TIME_BASED_ACL
permit tcp 10.0.0.0 0.255.255.255 any eq www <b>time-range WORK_DAYS</b>
permit tcp 10.0.0.0 0.255.255.255 any eq ftp-data <b>time-range ANOTHER_RANGE</b>

Как видите, вы можете использовать разные «календари» для разных правил одного ACL’а. «Календари» вы можете использовать только в расширенных ACL.

Reflexive ACL

Отражающие или зеркальные ACL позволяют несколько расширить возможности фильтрации. По сути, они превращают ACL из packet filtering в stateful inspection брандмауэр. Т.е. теперь роутер будет отслеживать состояние сессий, инициированных из внутренней сети компании, и создавать соответствующие возвратные правила.

Поясню на примере типичной ситуации. Есть внутренняя сеть 192.168.1.0/24. Разрешаем доступ из этой сети в интернет (http) – «зеленый» ACL. Т.е. с помощью этого ACL мы определяем политики выхода из внутренней сети во внешнюю сеть. С помощью второго, «красного» ACL мы защищаем внутреннюю сеть от вторжений извне. Но необходимо разрешить ответы на сессии, инициированные из внутренней сети, поэтому разрешаем возвратный трафик. Вроде бы все логично: разрешили запросы туда, разрешили ответы оттуда. Но при такой конфигурации, мы сильно раскрываем внутреннюю сеть. Любой TCP пакет с 80 порта беспрепятственно попадает во внутреннюю сеть. Добро пожаловать, атакам типа SYN Flood и прочим. Данная проблема легко решается с помощью stateful inspection firewall (CBAC или IOS Firewall), но что делать, если ваша редакция IOS не поддерживает этот функционал? На помощь приходят зеркальные ACL.

Идея состоит в том, что теперь из одного ACL (обычно, «зеленый» — внутренний), пакеты прошедшие проверку будет зеркалироваться или отражаться в правила специального временного ACL, который в свою очередь будет проверяться внешним («красным») ACL.

Посмотрите пример. Для определенных правил в «зеленом» ACL мы используем параметр reflect и указываем имя временного ACL (в примере, MIRROR), куда будут отражаться правила. В «красном» ACL мы проверяем временный зеркальный ACL: команда evaluate. Можете рассматривать эту команду, как возможность проверить один ACL внутри другого, т.е. команда будет заменена набором правил из временного ACL.

Пока не открыты сессии из внутренней сети, зеркальный ACL пустой, не содержит никаких правил:

Extended IP access list EXTERNAL
    10 evaluate MIRROR
    20 deny ip any any log
Extended IP access list INTERNAL
    10 permit ip any any reflect MIRROR (2 matches)
Reflexive IP access list MIRROR

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

R1#sh access-li
Extended IP access list EXTERNAL
    10 evaluate MIRROR
    20 deny ip any any log (5 matches)
Extended IP access list INTERNAL
    10 permit ip any any reflect MIRROR (36 matches)
Reflexive IP access list MIRROR
     permit icmp host 2.2.2.2 host 192.168.1.1  (19 matches) (time left 289)
     permit tcp host 192.168.2.1 eq telnet host 192.168.1.1 eq 62609 (30 matches) (time left 286)
     permit ospf host 224.0.0.5  host 192.168.1.1  (6 matches) (time left 297)

В примере из внутренней сети с адреса 192.168.1.1 был запущен пинг на адрес 2.2.2.2, затем открыто telnet-соединение с внутреннего адреса 192.168.1.1 на внешний адрес 192.168.2.1. На примере telnet-соединения хорошо видна выполненная последовательность действий:

  1. Внутренний хост инициирует соединение с адреса 192.168.1.1 и случайно выбранного порта 62609 на адрес внешнего хоста 192.168.2.1, порт 23 (telnet).
  2. Пакеты проверяются INTERNAL ACL, разрешены строкой: 10 permit ip any any reflect MIRROR
  3. Отражаются в MIRROR ACL: permit tcp host 192.168.2.1 eq telnet host 192.168.1.1 eq 62609
  4. Ответы извне проверяются EXTERNAL ACL, содержащим ссылку на MIRROR ACL: evaluate MIRROR.

Возвратный трафик в итоге разрешен. Если бы произошла попытка отрыть любое соединение до внутренней сети извне, то оно было бы запрещено: deny ip any any log.

В общем, легким движением руки ACL почти превратился в stateful inspection firewall.

Dynamic (Lock-and-Key) ACLs

Следующая категория ACL – динамические. В основном, эти ACL используются для удаленных подключений к сети компании, но можете и использовать их тогда, когда подключение к различным ресурсам требует предварительной аутентификации. Представьте, что администраторам требуется постоянные подключения к сети компании, но подключаться они будут из разных мест, с разных IP-адресов. Идея динамических ACL, состоит в том, что человек должен сначала пройти аутентификацию и только в случае успеха будет применен ACL, разрешающий доступ к ресурсам сети. Алгоритм следующий:

Пользователь подключается к роутеру с любого (настраивается) адреса.
Пользователь проходит аутентификацию.
После успешной аутентификации, на интерфейсе активируются специальные правила динамического ACL.
Правила остаются активными в течение настраиваемого периода времени.

Что требуется для конфигурации динамических ACL:

  • Создать расширенный ACL, разрешающий telnet или SSH подключения к роутеру. Эти протоколы будут использоваться для подключения к роутеру.
  • Определить параметры аутентификации. Поддерживается локальная аутентификация, AAA, пароль на vty портах.
  • Настроить параметры динамического ACL.

Давайте все разберем на следующем примере:

Пользователю требуется подключение к серверу 192.168.1.1 на порт 80 во внутренней сети. Адреса, с которых будет происходить подключение, нам не известны. Первым делом, создаем расширенный ACL, разрешающий telnet подключения к роутеру (адрес 1.1.1.1) и содержащий записи динамического ACL, затем применяем его на нужный интерфейс:

ip access-list extended TELNET-IN						
 permit tcp any host 1.1.1.1 eq telnet										(1)
 dynamic DYNAMIC-ACL-NAME permit tcp any host 192.168.1.1 eq www		(4)
 deny ip any any
!
int s0/0
 description CONNECTED TO EXTERNAL NETWORK
 ip address 1.1.1.1 255.255.255.0
 ip access-group TELNET-IN in

Следующим шагом настраиваем аутентификацию. Я буду использовать локальную аутентификацию, поэтому создаю пользователя root и включаю локальную аутентификацию на vty портах:

username root secret USERS_PASSWORD						(2)
!
line vty 0 4
 login local													(2)
 autocommand access-enable host timeout 10					(3)	

Команда autocommand access-enable активирует аутентификацию и включает записи динамического ACL. Параметр host является опциональным. При его использовании any в качестве IP-адреса источника в динамическом ACL будут заменены на адрес, с которого пользователь подключается. Параметр timeout определяет период бездействия в минутах для данной сессии, по умолчанию — бесконечен.

Как будет происходить процесс получения доступа в приведенном примере:

  • Пользователь открывает telnet подключение к роутеру на адрес 1.1.1.1. Разрешено правилом расширенного ACL (1).
  • Фаза локальной аутентификации (2).
  • В случае успешной аутентификации, автоматически выполняется команда access-enable (3), активирующая правила динамического ACL (4). Telnet соединение закрывается.
  • Пользователь получает доступ в соответствии с правилами динамического ACL.
Заключение

Как видите ACL в Cisco IOS обладают очень интересными возможностями, учитывая, что это базовый функционал фактически любого IOS. Очень многое конечно осталось за кадром: ACL и QoS, rate limits. И тем более, такие темы как CBAC, Zone-based Firewall и д.р. Спасибо за прочтение.

Начальная настройка маршрутизатора Cisco. Доступ в Интернет.

Read the article BASIC CONFIGURATION OF THE CISCO ROUTER. ACCESS TO THE INTERNET in English

Рассмотрим схему подключения офиса к сети Интернет с помощью маршрутизатора Cisco. Для примера возьмем модель Cisco 881. Команды для настройки других маршрутизаторов (1841, 2800, 3825…) будут аналогичными  Различия могут быть в настройке интерфейсов, вернее в их названиях и нумерации.

В схеме присутствуют:

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

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

Шаг 0. Очистка конфигурации

Первое, с чего стоит начать настройку нового маршрутизатора – полностью очистить стартовую конфигурацию устройства. (Выполнять только на новом или тестовом оборудовании!) Для этого нужно подключиться с помощью специального кабеля к консольному порту  маршрутизатора, зайти в командную строку и выполнить следующее:

Войти в привилегированный режим(#), возможно потребуется ввести логин/пароль.
router> enable
Удалить стартовую конфигурацию
router# write erase
/подтверждение/

Перезагрузить маршрутизатор
router# reload
/подтверждение/

После выполнения маршрутизатор должен перезагрузиться в течение 3ех минут, а при старте вывести запрос о начале базовой настройки. Следует отказаться.
Would you like to enter the basic configuration dialog (yes/no): no
В текущей конфигурации маршрутизатора будут только технологические строки по умолчанию, и можно приступать к основной настройке.

Шаг 1. Имя устройства

Задание имени маршрутизатора для удобства последующего администрирования выполняется командой hostname «название устройства»
router#conf t
router (config)#hostname R-DELTACONFIG
R-DELTACONFIG(config)#

Шаг 2. Настройка интерфейсов

Необходимо настроить 2 интерфейса: внешний и внутренний.
Через внешний интерфейс будет осуществляться связь с Интернет. На нем будут те ip адрес и маска сети, которые предоставил Интернет провайдер.
Внутренний интерфейс будет настроен для локальной сети  192.168.0.0 /24

Предположим, что оператор связи предоставил нам следующие адреса:

  • Сеть 200.150.100.0
  • Маска подсети 255.255.255.252 или /30
  • Шлюз по умолчанию 200.150.100.1

Настроим внешний интерфейс: зададим ip адрес и сетевую маску,  и включим его командой no shut
R-DELTACONFIG#conf t
R-DELTACONFIG (config)#
interface Fa 4
ip address 200.150.100.2 255.255.255.252
no shutdown

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

Сначала собственный интерфейс
R-DELTACONFIG#ping 200.150.100.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 200.150.100.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/4 ms

Затем соседний адрес — шлюз провайдера
R-DELTACONFIG#ping 200.150.100.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 200.150.100.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 2/4/10 ms

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

В локальной сети будет использоваться следующая адресация

  • Сеть 192.168.0.0
  • Маска подсети 255.255.255.0
  • Внутренний адрес маршрутизатора, который выполняет роль шлюза в Интернет для всех хостов в сети, 192.168.0.1
  • Диапазон внутренних  адресов сети (пользователи, принтеры, серверы и.т.д.) советую начинать с адреса 192.168.0.5
  • Максимально возможный доступный для использования адрес в этой сети будет 192.168.0.254
  • Адреса с 192.168.0.2 до 192.168.0.4 оставим про запас для непредвиденных технологических нужд

Для настройки внутреннего интерфейса локальной сети следует зайти в режим конфигурирования виртуального интерфейса Vlan 1, задать на нем ip адрес и соотнести ему один из физических интерфейсов маршрутизатора (Fa 0).
R-DELTACONFIG#conf t
interface Vlan 1
Ip address 192.168.0.1 255.255.255.0
no shutdown

Выбираем физический интерфейс маршрутизатора и соотносим его с виртуальным Vlan
interface Fa 0
switchport access vlan 1
no shutdown

Для наглядности:

ip address => interface Vlan X => interface Fastethernet Y
Ip адрес присваивается виртуальному интерфейсу Vlan X, а он привязывается к физическому интерфейсу Fastethernet Y.

Интерфейс маршрутизатора Fa 0 нужно соединить с коммутатором, где располагаются рабочие станции локальной  сети или напрямую с рабочей станцией администратора. После этого проверить доступность этого интерфейса маршрутизатора с помощью ping из командной строки.

Шаг 3 Настройка удаленного доступа к маршрутизатору

Получить доступ к консоли маршрутизатора можно не только с помощью консольного кабеля, но и удаленно с помощью протоколов Telnet(данные передаются в открытом виде) или SSH(защищенное соединение).
Рассмотрим настройку безопасного подключения.
Включаем протокол SSH 2 версии и задаем произвольное имя домена
R-DELTACONFIG (config)#
ip ssh ver 2
ip domain-name xxx.ru

Генерируем ключи rsa, необходимые для подключения. При запросе указываем 1024.
crypto key generate rsa
How many bits in the modulus [512]: 1024

Задаем имя пользователя с правами администратора и его пароль (*****)
username admin privilege 15 secret 0 *****
Включаем авторизацию через локальную базу устройства (тот пользователь, которого создали строчкой выше)
line vty 0 4
login local

Задаем пароль на привилегированный режим
enable secret 0 *****
После этого при помощи специальной программы, поддерживающей протокол SSH можно зайти в командную строку маршрутизатора удаленно с любой из рабочих станций локальной сети. При авторизации следует ввести логин и пароль, которые были задан. Подробнее про доступ на устройство по протоколу SSH написано в этой статье.

Шаг 4. Шлюз по умолчанию

Для маршрутизации пакетов в сеть Интернет на устройстве необходимо указать шлюз по умолчанию(default gateway).
R-DELTACONFIG (config)#
ip route 0.0.0.0 0.0.0.0 200.150.100.1

После этого можно проверить не только доступность оборудования провайдера, но и полностью канала в Интернет. Для этого необходимо запустить ping до любого адреса во внешней сети в цифровой форме(DNS для локальной сети лучше настраивать после настройки маршрутизатора). Для примера возьмем адрес лидера на рынке ping – www.yandex.ru (93.158.134.3)
R-DELTACONFIG#ping 93.158.134.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 93.158.134.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/5/10 ms

Важно!
Обратите внимание, что на данный момент ping внешних адресов работает только(!) будучи запущенным из консоли управления маршрутизатором. Рабочие станции локальной сети все еще не имеют доступа в Интернет.

Шаг 5 Настройка трансляции адресов (NAT)

Для доступа в Интернет из локальной сети необходимо динамически транслировать все  внутренние адреса в определенный внешний ip адрес. В нашем случае, так как провайдер предоставляет только один внешний адрес 200.150.100.2 (определяется маской подсети /30 в условиях примера), то все адреса локальной сети должны транслироваться в него.
Указываем список внутренних адресов, которые будем транслировать во внешний адрес.
R-DELTACONFIG (config)#
ip access-list standard ACL_NAT
permit 192.168.0.0 0.0.0.255

Указываем внутренний интерфейс для процедуры трансляции
Interface Vlan 1
ip nat inside

Указываем внешний интерфейс для процедуры трансляции
Interface Fa 4
ip nat outside

Создаем правило трансляции (NAT)
ip nat inside source list ACL_NAT interface fa4
В результате должен появиться доступ с любой рабочей станции локальной сети в Интернет при условии, что шлюзом по умолчанию указан внутренний ip адрес маршрутизатора (192.168.0.1). Проверить можно с помощью команды ping до адреса в Интернет из командной строки. Желательно, чтобы проверяемый адрес был в цифровом виде, чтобы исключить потенциальные проблемы с DNS именами.

Важно!
В указанном примере меняется собственный адрес источника. Если в процессе работы необходимо транслировать адрес назначения — пускать траффик на вымышленный адрес, чтобы попасть на некий настоящий, то прочитайте статью ip nat outside.

Важно!
Не стоит оставлять полный доступ в Интернет со всех адресов локальной сети. Советую после проверки работоспособности соединения для безопасности ограничить доступ в Интернет  и разрешить его только с конкретных адресов — например с прокси сервера и рабочих станций администратора и/или директора. О том как это сделать можно прочитать в статье «немного об access lists«.

Важно!

Не забудьте сохранить конфигурацию на всех устройствах командой write или copy run start. Иначе после перезагрузки все изменения будут потеряны.
R-DELTACONFIG#write
Building configuration...
[OK]

Перейти к оглавлению

Основы настройки Cisco ASA | Deltaconfig.ru

Февраль 26, 2015

Read the article BASIC CONFIGURATION OF CISCO ASA in English

Рассмотрим пример подключения офиса к сети Интернет с помощью межсетевого экрана Cisco ASA. Для примера будем использовать самую младшую модель – Cisco ASA 5505. От более старших она отличается тем, что здесь присутствует встроенный коммутатор на 8 портов. Каждый из них – порт второго уровня модели OSI, на котором нельзя задать IP адреса. Чтобы получить интерфейсы 3 уровня, необходимо создать виртуальный интерфейсы Vlan, задать ip адреса на них и после этого привязать к физическим интерфейсам.

В примере используются:

— канал в Интернет со статическим  ip адресом
— несколько компьютеров в локальной сети офиса
— межсетевой экран Cisco ASA 5505
— коммутатор (используется для организации локальной сети офиса, без дополнительных настроек)

 

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

 

Шаг 0. Очистка конфигурации

(Выполняется только с новым или тестовым оборудованием, так как ведет к полному удалению существующей конфигурации)

Если на устройстве с заводскими настройками будет запрошен пароль для привилегированного режима (#)  enable, то просто нажмите клавишу «Enter».
ciscoasa> enable
Password: /нажмите Enter/
ciscoasa#

Далее полностью очистим стартовую конфигурацию с устройства. Для этого подключаемся с помощью консольного кабеля к консольному порту  устройства, заходим в командную строку и вводим следующие команды:
ciscoasa(config)# clear configure all
После чего подтверждаем удаление всей текущей конфигурации.

В отличии от маршрутизаторов Cisco перезагрузка для сброса конфигурации не требуется. После выполнения команды «clear configure all» на межсетевом экране останутся только технологические строки заводской конфигурации и можно приступать к основной настройке.

Шаг 1. Имя устройства

Задание имени устройства для удобства последующего администрирования выполняется командой hostname «название устройства»
ciscoasa# hostname FW-DELTACONFIG
FW-DELTACONFIG#

Шаг 2. Настройка интерфейсов

Необходимо настроить 2 интерфейса: внешний и внутренний.

Через внешний интерфейс outside будет осуществляться связь с Интернет. На нем будут те ip адрес и маска сети, которые выделил Интернет провайдер.
FW-DELTACONFIG (config)#
interface Vlan1
nameif outside
security-level 0
ip address 200.150.100.2 255.255.255.252
no shut

Внутренний интерфейс inside будет настроен для локальной сети.
FW-DELTACONFIG (config)#
interface Vlan2
nameif inside
security-level 100
ip address 192.168.10.1 255.255.255.0
no shut

После этого необходимо привязать виртуальные интерфейсы Vlan к реальным интерфейсам Ethernet.
Привязка внешнего интерфейса outside к интерфейсу Ethernet0/0
FW-DELTACONFIG (config)#
interface Ethernet0/0
switchport access vlan 1
description --- WAN ---
no shut

Важно!
Обратите внимание, что строка с командой «switchport access vlan 1» не будет отображаться в конфигурации устройства (просмотр конфигурации командой  «sh run»), так как Vlan 1 привязан к каждому интерфейсу по умолчанию.

Привязка внутреннего интерфейса inside к интерфейсу Ethernet0/1
FW-DELTACONFIG (config)#
interface Ethernet0/1
switchport access vlan 2
description --- LAN ---
no shut

Шаг 3. Настройка удаленного доступа к устройству

Для удаленного доступа администратора к устройству по протоколу SSH необходимо выполнить следующее:
Создать пароль для привилегированного режима (#). Вместо XXXXX необходимо ввести пароль.
FW-DELTACONFIG(config)#
enable password XXXXX

Создать учетную запись администратора. Вместо YYYYY необходимо ввести пароль для пользователя admin).
FW-DELTACONFIG(config)#
username admin password YYYYY privilege 15

Далее указывается метод аутентификации и генерируются ключи rsa
FW-DELTACONFIG(config)#
aaa authentication ssh console LOCAL
crypto key generate rsa modulus 1024
/подтвердите замену клавишей y

Указывается ip адрес рабочей станции администратора, с которого возможно удаленное управление через SSH, а также интерфейс, со стороны которого будут приниматься запросы (inside). При необходимости можно указать несколько адресов или даже задать сети управления.
FW-DELTACONFIG(config)#
ssh 192.168.10.100 255.255.255.255 inside

После этого доступ к межсетевому экрану по протоколу SSH будет доступен с компьютера с адресом 192.168.10.100 .

Шаг 4. Настройка шлюза по умолчанию

Для маршрутизации пакетов в сеть Интернет на устройстве необходимо указать шлюз по умолчанию(ближайший к устройству адрес провайдера) и интерфейс, через который он доступен (outside)
FW-DELTACONFIG(config)#
route outside 0.0.0.0 0.0.0.0 200.150.100.1

После этого можно проверить не только доступность оборудования провайдера, но и доступность канала связи с Интернет. Для этого необходимо запустить ping с устройства  до любого адреса во внешней сети. Для примера возьмем адрес лидера на рынке сервиса icmp запросов – www.yandex.ru (93.158.134.3)
FW-DELTACONFIG#ping 93.158.134.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 93.158.134.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 3/8/15 ms

Важно!
Обратите внимание, что на данный момент ping внешних адресов работает только из консоли управления Cisco ASA. Рабочие станции и устройства локальной сети все еще не имеют доступа в Интернет.

Шаг 5 Настройка трансляции адресов (NAT)

Настройка трансляции адресов различается для разных версий прошивки устройств. Версию прошивки можно узнать из вывода команды «sh ver»
FW-DELTACONFIG#sh ver
Cisco Adaptive Security Appliance Software Version 8.2(1)11

Важно!

Принципы использования и настройки NAT не только для Cisco ASA, но и для маршрутизаторов описаны в статье Как использовать NAT. Прочитайте ее, если не уверены какой именно тип вам нужен.

 

Шаг 5.1 NAT для доступа из локальной сети наружу (PAT)

Для доступа из локальной сети в Интернет необходимо, чтобы частные (серые) адреса офисной сети были транслированы в публичный (белый) адрес.

Для версии 8.2.X и старше

FW-DELTACONFIG(config)#
global (outside) 1 interface
nat (inside) 1 192.168.10.0 255.255.255.0

Для версии 8.3.X и новее

FW-DELTACONFIG(config)#
object network OBJ_NAT_LAN
subnet 192.168.10.0 255.255.255.0
nat (inside,outside) dynamic interface

Итог:

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

Важно!
Трафик можно также транслировать  в определенный ip адрес (если провайдер выделил вам сеть больше, чем /30), однако в этом случае это не должен быть адрес самого интерфейса outside.

  • Либо трансляция будет в адрес внешнего интерфейса как в примере
  • Либо в другой адрес, принадлежащий сети внешнего интерфейса, но отличный от него

Иначе NAT не будет осуществляться корректно, если вообще заработает.

Шаг 5.2 Для доступа из Интернет на адрес в локальной сети (static NAT)

Для доступа из сети Интернет внутрь локальной сети, например на веб сервер организации, необходимо настроить статическую трансляцию адресов (static NAT).

Для версии 8.2.X и старше

FW-DELTACONFIG(config)#
static (inside,outside) interface 192.168.10.200 netmask 255.255.255.255

Важно!
Обратите внимание на последовательность интерфейсов и адресов. В скобках идет внутренний-внешний, а после них адрес внешнего-адрес внутреннго. Наоборот!

Для версии 8.3.X и новее

FW-DELTACONFIG(config)#
host object network OBJ_NAT_SERVER
host 192.168.10.200
nat (inside,outside) static interface

Итог:

В этом случае любые запросы на внешний интерфейс межсетевого экрана будут переадресовываться на внутренний адрес 192.168.10.200

ИЛИ

Для версии 8.2.X и старше

FW-DELTACONFIG(config)#
static (inside,outside) tcp interface www 192.168.10.200 www netmask 255.255.255.255

Для версии 8.3.X и новее

host object network OBJ_NAT_SERVER
host host 192.168.10.200
nat (inside,outside) static interface service tcp www www

Итог:

В этом случае запросы на внешний интерфейс межсетевого экрана только по порту TCP 80 (протокол HTTP) будут переадресовываться на внутренний адрес 192.168.10.200.

Важно!
Вместо слова interface можно указывать конкретный адрес, отличный от адреса самого интерфейса outside, однако в нашем примере это невозможно, так как по условиям провайдер предоставляет сеть на 4 адреса 200.150.100.0 /30, из которой для использования доступны и уже заняты всего два адреса: 200.150.100.1 занимает провайдер, а 200.150.100.2 настроен на внешнем интерфейсе. Соответственно доступных свободных адресов в этой сети больше нет.
Если бы была предоставлена сеть большего размера, например с тем же префиксом 200.150.100.0, но с маской подсети /29, то для использования были бы доступны 6 из 8 адресов 200.150.100.1 – 200.150.100.6. Два адреса из шести доступных были бы заняты как в примере выше, а еще 4 доступны для использования. В этом случае можно настроить трансляцию адреса сервера из локальной сети в свободный адрес из сети 200.150.100.0 /29, например в 200.150.100.3.

Для версии 8.2.X и старше

FW-DELTACONFIG(config)#
static (inside,outside) tcp 200.150.100.3 www 192.168.10.200 www netmask 255.255.255.255

Для версии 8.3.X и новее

host object network OBJ_NAT_SERVER
host 192.168.10.200
nat (inside,outside) static 200.150.100.3 service tcp www www

Важно!
Обратите внимание, что правила трансляции не открывают доступ к тем или иным ресурсам сами собой. Для этой цели необходимо также создать списки доступа (access lists) и привязать их к соответствующим интерфейсам.

Важно!
Более подробное описание настроек для настройки Static NAT также именуемой как «проброс портов» приведены в статье Cisco ASA. «Проброс портов» или static NAT.

Шаг 6. Настройка правил доступа (access list)

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

Важно!
Хотя все правила доступа возможно записать, используя только цифровые ip адреса, для удобства дальнейшего администрирования вначале создаются группы объектов с обозначениями и все строки правил записываются уже с их помощью. Это удобно и практично.
Начнем с access list, разрешающего доступ из внутренней сети в Интернет. Условия будут следующими:

— Каждый пользователь или устройство должны иметь доступ в Интернет для просмотра веб сайтов.
— Рабочие станции администратора и директора фирмы должны иметь доступ в Интернет без каких-либо ограничений.
— Рабочая станция ответственного сотрудника должна иметь доступ к частному ресурсу в сети по порту TCP 9443

Создадим группы объектов:

NET_LAN – все пользователи и устройства локальной сети.
USER_CEO – адрес рабочей станции директора
USER_ADMIN – адрес рабочей станции администратора
USER_PRIVELEDGED – адрес рабочей станции сотрудника, который должен иметь некий расширенный доступ
HOST_X — адрес внешнего ресурса, к которому требуется открыть доступ.
USERS_FULL_ACCESS – группа, которой будет разрешен полный доступ в Интернет
SERVICE_HTTP_HTTPS –  группа портов для веб доступа
HOST_DNS – адрес внешнего сервера DNS
SERVICE_DNS – группа портов для доступа к службам DNS
FW-DELTACONFIG(config)#
object-group network NET_LAN
network-object 192.168.10.0 255.255.255.0
object-group network USER_CEO
network-object host 192.168.10.10
object-group network USER_ADMIN
network-object host 192.168.10.100
object-group network USERS_FULL_ACCESS
group-object USERS_CEO
group-object USERS_ADMIN
 
object-group network USER_PRIVELEDGED
network-object host 192.168.10.50
network-object host 192.168.10.51
 
object-group network HOST_X
network-object host 1.1.1.1
object-group network HOST_DNS
network-object host 8.8.8.8
 
object-group service SERVICE_HTTP_HTTPS
service-object tcp eq http
service-object tcp eq https
 
object-group service SERVICE_DNS
service-object tcp eq 53
service-object udp eq 53

Создаем список доступа ACL_INSIDE_IN, в котором описываем все правила^

Полный доступ адресов из группы USERS_FULL_ACCESS в Интернет
FW-DELTACONFIG(config)#
access-list ACL_INSIDE_IN extended permit ip object-group USERS_FULL_ACCESS any

Доступ адресов из группы USER_PRIVELEDGED к ресурсу с адресом из группы HOST_X по порту TCP 9443
FW-DELTACONFIG(config)#
access-list ACL_INSIDE_IN extended permit tcp object-group USER_PRIVELEDGED object-group HOST_X eq 9443

Доступ в интернет по портам TCP 80(http) и TCP 443(https) для всех устройств локальной сети
FW-DELTACONFIG(config)#
access-list ACL_INSIDE_IN extended permit object-group SERVICE_HTTP_HTTPS object-group NET_LAN any

Разрешение доступа всем устройствам локальной сети к серверу DNS Google.
FW-DELTACONFIG(config)#
access-list ACL_INSIDE_IN extended permit object-group SERVICE_DNS object-group NET_LAN object-group HOST_DNS

Разрешение протокола icmp для запуска Ping с любого устройства локальной сети.
FW-DELTACONFIG(config)#
access-list ACL_INSIDE_IN extended permit icmp object-group NET_LAN any

Явный запрет любых других соединений. Благодаря слову log в конце строки в журнал устройства будут попадать все попытки доступа, которые не были разрешены этим access list.
FW-DELTACONFIG(config)#
access-list ACL_INSIDE_IN extended deny ip any any log

Последовательность строк очень важна! Вначале обрабатывается самая верхняя строка, за ней следующая и так до совпадения условия(правила) в этой строке или конца списка доступа. Если поставить запрещающее правило не в самый низ, а в середину списка, то строки после него обрабатываться не будут, а доступ будет закрыт.

После описания всех необходимых правил для фильтрации трафика необходимо привязать список доступа ACL_INSIDE_IN ко внутреннему интерфейсу inside. До привязки он никак не влияет на проходящий через межсетевой экран трафик. Для привязки используется следующая команда:
FW-DELTACONFIG(config)#
access-group ACL_INSIDE_IN in interface inside

Дополнительно разрешаем автоматический прием обратных пакетов icmp
FW-DELTACONFIG(config)#
policy-map global_policy
class inspection_default
inspect icmp

Для доступа извне список доступа будет меньше так как в нем нам необходимо разрешить только доступ на веб сервер офиса. Это правило будет дополнять правила трансляции адресов, а именно строку, которая транслирует внутренний адрес веб сервера в адрес внешнего интерфейса межсетевого экрана.

Создаем список доступа ACL_OUTSIDE_IN и привязываем его ко внешнему интерфейсу outside по аналогии с тем, как сделали это в примере выше.
FW-DELTACONFIG(config)#
access-list ACL_OUTSIDE_IN extended permit tcp any interface outside eq 80
access-list ACL_OUTSIDE_IN extended deny ip any any log
access-group ACL_OUTSIDE_IN in interface outside

Не забываем про статический NAT

Для версии 8.2.X и старше

FW-DELTACONFIG(config)#
static (inside,outside) interface 192.168.10.200 netmask 255.255.255.255

Для версии 8.3.X и новее

FW-DELTACONFIG(config)#
host object network OBJ_NAT_SERVER
host 192.168.10.200
nat (inside,outside) static interface

Теперь в конфигурации присутствуют как правила трансляции (static NAT), так и строки в списках доступа (access lists), разрешающие трафик. Поэтому при обращении любого хоста из сети Интернет к адресу внешнего интерфейса межсетевого экрана outside (200.150.100.2) по порту TCP 80(http) запрос будет разрешен и трансформирован в запрос ко внутреннему адресу веб сервера фирмы (192.168.10.200).

Все описанные выше функции и настройки присутствуют в конфигурациях практически каждого межсетевого экрана Cisco ASA. Надеюсь, что этот простой пример поможет Вам.  Не стесняйтесь написать мне, если у Вас возникли вопросы.

Важно!

Не забудьте сохранить конфигурацию командой write или copy run start. Иначе после перезагрузки все изменения будут потеряны.
FW-DELTACONFIG-1#write
Building configuration...
[OK]

Видео на английском языке о базовой настройке Cisco ASA. Немного отличается в деталях от того, что описано в статье, однако все ключевые моменты настройки выполнены точно по этой инструкции.

Перейти к оглавлению

Настройка ACL в Cisco

ACL (Access Control List) – это список управления доступом. Списки доступа позволяют сетевым инженерам идентифицировать пакеты различных типов.  Для этого в конфигурации ACL перечисляют значения, которые маршрутизатор Cisco может найти в заголовках IP, TCP, UDP и др. Например, список доступа может распознать пакет с IP-адресом отправителя 1.1.1.1, или пакеты IP-адрес получателя которых находится в подсети 10.1.1.0/24, или пакеты с портом получателя TCP 23 (Telnet). Чаще всего списки доступа применяют как фильтр пакетов.

ACL применяется на:

  1. Интерфейсе: для фильтрации пакетов
  2. Telnet: для ограничения доступа к маршрутизатору
  3. VPN: для определения трафика, подлежащего шифрованию
  4. QoS: для определения трафика, который необходимо обработать
  5. NAT: для определения IP-адресов, которые необходимо транслировать

Сами по себе списки доступа представляют из себя список выражений, которые что-то разрешают, либо запрещают. ACL применяется на определенном интерфейсе и на одном направлении (входящем или исходящем).  Таким образом, списки ACL могут быть применены к входящим на маршрутизатор пакетам раньше, чем он примет решение о их перенаправлении. Либо к исходящим пакетам, после того, как маршрутизатор примет решение о перенаправлении и направит пакет на данный интерфейс.

Рассмотрим простой пример. Когда из LAN1 (локальная внутренная сеть) приходит пакет на интерфейс f0/0 роутер проверяет входящий трафик по ACL строго в том порядке, в котором записаны выражения. Если ACL разрешает проходить пакету, то роутер отправляет на интерфейс f0/1. Перед отправкой пакета маршрутизатор проверяет исходящий трафик по ACL и только после этого принимает решение о его передаче в сторону ISP (Internet Service Proiver – провайдер).

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

Списки доступа ACL бывают двух видов:

  1. Стандартные (standart) – могут проверять только IP-адреса отправителей пакетов
  2. Расширенные (extended) – могут проверять адреса источников/получателей, тип протокола, UDP/TCP порты

ACL обозначаются порядковыми номерами (стандартные от 1 до 99, расширенные от 100 до 199), а также символьными именами.

Рассмотрим несколько важных правил, касающихся ACL:

  1. Нельзя разместить более одного списка доступа на интерфейс, протокол, направление;
  2.  ACL не действует на трафик сгенерированный самим маршрутизатором;
  3. Для фильтрации пакетов используется обратная WildCard-маска (например 0.0.255.255 соответствует 255.255.0.0)
  4. Как только обнаруживается соответствие пакета в одной из строк списка ACL, маршрутизатор предпринимает действие, указанное в этой строке списка, и прекращает дальнейшее сравнение
  5. В конце каждого списка доступа стоит неявное deny any – запретить все

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

access-list {1-99} {permit | deny} {address | any | host} {source-wildcard)

Каждый нумерованный список доступа ACL содержит одну или несколько команд access-list с любым номером из диапазона, представленного в строке синтаксиса выше. Помимо номера ACL, каждая команда содержит выбранное действие (permit или deny) и логику распознавания. Параметры команды access-list:

  1. permit – разрешить
  2. deny – запретить
  3. adress – запрещаем или разрешаем конкретную сеть (указываем ее Ip-адрес)
  4. any – запрещаем или разрешаем все
  5. host – запрещаем или разрешаем хост (указываем его Ip-адрес)
  6. source-wildcard – обратная маска

После создания списка доступа его необходимо применить на определенном интерфейсе:

ip access-group {номер или имя ACL} {in | out}

Где in – входящее направление, out – исходящее направление.

Перейдем теперь к практике. Для начала настроем простую сеть, в которой будут ноутбук администратора, компьютеры обычных пользователей и сервер. Необходимо сделать так. чтобы  доступ к серверу имел только администратор. Ip-план и схема прилагаются.

Категория хостаIp-подсетьНомер VLAN
Администратор172.16.0.0/242
Сервера172.16.1.0/243
Пользователи172.16.2.0/2410

По  традиции для тех кто будет собирать эту схему Packet tracer я привожу полную конфигурацию всех устройств с описанием команд.

Switch>enable - переходим в расширенный режим
Switch#configure terminal - переходим в режим конфигурации
Switch(config)#vlan 2 - создаем vlan 2
Switch(config-vlan)#name Admin - название для vlan 2
Switch(config)#vlan 3 - создаем vlan 3
Switch(config-vlan)#name Server - название для vlan 3
Switch(config)#vlan 10 - создаем vlan 10
Switch(config-vlan)#name User's - название для vlan 10
Switch(config)#interface range fa0/1 - fa0/9 - настраиваем интерфейсы в сторону Пользователей
Switch(config-if-range)#description User's - описание интерфейса 
Switch(config-if-range)#switchport mode access - настраиваем порт на тегированный режим
Switch(config-if-range)#switchport access vlan 10 - тегируем кадры 10 VLAN
Switch(config-if-range)#exit
Switch(config)#interface fa0/10 - настраиваем интерфейсы в сторону Сервера
Switch(config-if)#description Server - описание интерфейса 
Switch(config-if)#switchport mode access - настраиваем порт на тегированный режим
Switch(config-if)#switchport access vlan 3 - тегируем кадры 3 VLAN
Switch(config-if)#exit
Switch(config)#interface fa0/20 - настраиваем интерфейсы в сторону Админа
Switch(config-if)#description Admin - описание интерфейса 
Switch(config-if)#switchport mode access - настраиваем порт на тегированный режим
Switch(config-if)#switchport access vlan 2 - тегируем кадры 2 VLAN
Switch(config-if)#exit
Switch(config)#interface fa0/24 - настраиваем интерфейсы в сторону Роутера
Switch(config-if)#description Router - описание интерфейса 
Switch(config-if)#switchport mode trunk - настраиваем порт на нетегированный режим
Switch(config-if)#switchport trunk allowed vlan 2-3,10 - пропускаем VLAN 2-3,10
Switch(config-if)#exit
Switch(config)#do write - сохраняем конфигурацию

Конфигурация для маршрутизатора:

Router>enable - переходим в расширенный режим
Router#configure terminal - переходим в режим конфигурации
Router(config)#interface fa0/0 - настаиваем порт в сторону Свича
Router(config-if)#description Switch - описание интерфейса
Router(config-if)#no shutdown - включаем интерфейс физически
Router(config-if)#exit
Router(config)#interface fa0/0.2 - настраиваем сабинтерфейс для подсети Админа
Router(config-subif)#description Admin - описание интерфейса
Router(config-subif)#encapsulation dot1q 2 - тегируем 2 VLAN'ом
Router(config-subif)#ip address 172.16.0.1 255.255.255.0 - задаем шлюз по-умолчанию для Админа
Router(config-subif)#exit
Router(config)#interface fa0/0.3 - настраиваем сабинтрфейс для подсети Серверов
Router(config-subif)#description Server - описание интерфейса
Router(config-subif)#encapsulation dot1q 3 - тегируем 3 VLAN'ом
Router(config-subif)#ip address 172.16.1.1 255.255.255.0 - задаем шлюз по-умолчанию для Серверов
Router(config-subif)#exit
Router(config)#interface fa0/0.10 - настраиваем сабинтрфейс для подсети Пользователей
Router(config-subif)#description User's - описание интерфейса
Router(config-subif)#encapsulation dot1q 10 - тегируем 10 VLAN'ом
Router(config-subif)#ip address 172.16.2.1 255.255.255.0 - задаем шлюз по-умолчанию для Серверов
Router(config-subif)#exit

Запускаем пинг с пользовательского компа до сервера

Как видим доступ есть. Нам же необходимо, чтобы доступ имел только админ. Для этого нам необходимо создать список доступа (пусть он будет иметь порядковый номер 10), в котором мы разрешим всем пакетам от администратора (172.16.0.100) доступ в подсеть серверов (172.16.1.0/24). После чего применим это правило на сабинтерфейсе fa0/0.3 (для серверов) для всех исходящих пакетов.

Router(config)#access-list 10 permit host 172.16.0.100 - создаем список доступа, в котором разрешаем хосту админа
Router(config)#interface fa0/0.3 - настраиваем сабинтерфейс для Серверов
Router(config-subif)#ip access-group 10 out - применяем настройки списка доступа на сабинтерфейсе

Тестируем настройки. Запускаем пинг с пользовательского компьютера в сторону сервера.

Пишет Destination host unreachable – хост назначения недоступен.

Запускаем пинг с компьютера администратора.

Пинг идет – значит ACL настроили правильно. Что происходит когда мы пингуем сервер с ноутбука администратора? Пакет сначала поступает на саибинтерфейс  fa0/0.2 маршрутизатора. На данном интерфейсе не настроены списки доступа значит пакет проходит далее. Роутер смотрит в свою таблицу маршрутизации и видит что подсеть серверов находится на сабинтерфейсе fa0/0.3. Перед отправкой пакета маршрутизатор видит, что к данному интерфейсу прикреплен ACL 10. В данном списке доступа всего одна запись – разрешить отправку пакетов только хосту 172.16.0.100 (ноут админа). Маршрутизатор смотрит в Ip-пакет и видит адрес отправителя 172.16.0.100 после чего отправляет пакет в подсеть серверов. Ip-пакет с любым отличным от 172.16.0.100 будет отбрасываться, так как в конце ACL 10 стоит неявный deny any – запретить все.

Теперь перейдем к расширенным спискам доступа. Пользователям в нашей сети необходимо иметь доступ к файловому хранилищу и веб-сайту. Мы же ранее полностью ограничили им доступ к серверу. Необходимо исправить ситуацию и в этом нам помогут расширенные списки доступа. Расширенные списки доступа могут проверять Ip-адреса источника/отправителя, тип протокола, UDP/TCP-порты. В нашей ситуации необходимо будет проверять номера портов. Если пользователь обращается к серверу по разрешенному порту, то маршрутизатор пропускает такой пакет. Разрешенные порты: 80 (HTTP – доступ к веб-сайту), 21 (FTP – доступ к файловому хранилищу). Протоколы HTTP и FTP работают поверх TCP. Также для распознавания доменных имен на нашем сервере поднят DNS. DNS-сервер работает на порту 53.

Размещать расширенный список доступа будем на сабинтерфейсе fa0/0.3. Но на этом интерфейсе уже размещен список доступа. Вспоминаем правило: Нельзя разместить более одного списка доступа на интерфейс. Так что придется удалить созданный ранее список доступа. Правило, созданное для администратора перенесем в новый расширенный список с именем Server-out.

Конфигурация для маршрутизатора:

Router(config)#no access-list 10 permit host 172.16.0.100 - удаляем предыдущий список доступа
Router(config)#interface fa0/0.3 - настраиваем сабинтерфейс для Серверов
Router(config-subif)#no ip access-group 10 out - удаляем предыдущие настройки списка доступа
Router(config-subif)#exit
Router(config)#ip access-list extended Server-out - создаем расширенный список доступа
Router(config-ext-nacl)#permit ip host 172.16.0.100 host 172.16.1.2 - даем админу полный доступ к серверу
Router(config-ext-nacl)#permit tcp any host 172.16.1.2 eq 80 - разрешаем любому хосту доступ по HTTP к серверу
Router(config-ext-nacl)#permit tcp any host 172.16.1.2 eq 21 - разрешаем любому хосту доступ по FTP к серверу
Router(config-ext-nacl)#permit tcp any host 172.16.1.2 eq 53 - разрешаем любому хосту доступ по DNS к серверу
Router(config-ext-nacl)#exit
Router(config)#interface fa0/0.3
Router(config-if)#ip access-group Server-out out

С компьютера админа пинг до сервера есть:

С компьютера пользователя пинга нет:

Проверим с компьютера пользователя проходят ли DNS-запросы до сервера. Для этого запустим утилиту nslookup – которая определяет Ip-адрес до доменному имени.

DNS-запросы проходят без проблем. Проверим доступ к нашему условному Web-сайту через браузер:

Напоследок подключимся к FTP-серверу:

Подключение прошло успешно!

Помогла ли вам статья?

Да
Нет
Стоп

Спасибо! Ваш голос учтен.

Настройка с примерами ACL Cisco vlan

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

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

Оглавление:

  1. Введение
  2. Стандартные списки ACL
  3. Расширенные ACL
  4. Заключение
  5. Наши рекомендации
  6. Стоит почитать

Введение

Итак представим, что наша небольшая локальная сеть создана, и в ней в качестве активного оборудования используется маршрутизатор Cisco. Через него проходит большое количество самого разного трафика. И сетевому инженеру необходимо его фильтровать. Здесь и начинается знакомство со списками управления доступом.

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

ACL разделяют на стандартные и расширенные.

Основные особенности

  • Фильтрация трафика возможно как на входе, так и на выходе трафика из выбранного интерфейса
  • Для данных, которые должны быть допущены, применяется атрибут permit. Для тех, которые следует отбросить — deny
  • Списки управления доступом настраиваются таким образом, что если трафик не попадает не под одно правило, указанное в списке, он автоматически будет запрещен

На рисунке ниже указана логика фильтрации пакетов, относительно расположения ACL на маршрутизаторе.

Таким образом, когда трафик начинает свое движение, маршрутизатор проверяет поля пакета, на соответствие списку правил из ACL. Если они будут найдены, то применится действие, настроенное для такого типа пакета — разрешить или запретить. Если соответствие не будет найдено — трафик автоматически заблокируется.

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

Команда для настройки на маршрутизаторах Cisco имеет следующий синтаксис.

access-list номер-списка {deny | permit} отправитель [инвертированная маска отправителя]

Вы можете последовательно указывать несколько правил, для одного ACL, указывая его номер в соответствующем месте.

Обратите внимание. Нумерация стандартных списков ACL доступна в диапазоне 1-99 и 1300-1999.

Таким образом, алгоритм настройки можно описать следующим образом:

  1. Определяем место расположения списка ACL — интерфейс и направленность данных
  2. В режиме глобальной конфигурации указываем правила, используя команду access-list. Используйте справку «?», для просмотра доступных параметров.
  3. В режиме конфигурацирования интерфейса назначаем для него соответствующий список — ip access-group number {in | out}

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

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

Настройка

Общий принцип не изменился. Вам нужно определить интерфейс и направление трафика, затем задать список параметров фильтрации. Сам список создается и настраивается следующим образом:

IP

    access-list access-list-number [dynamic dynamic-name [timeout minutes]]
    {deny | permit} protocol source source-wildcard
    destination destination-wildcard [precedence precedence] 
    [tos tos] [log | log-input] [time-range time-range-name]

ICMP

    access-list access-list-number [dynamic dynamic-name [timeout minutes]] 
    {deny | permit} icmp source source-wildcard 
    destination destination-wildcard 
    [icmp-type | [[icmp-type icmp-code] | [icmp-message]] 
    [precedence precedence] [tos tos] [log | log-input] 
    [time-range time-range-name] 

TCP

    access-list access-list-number [dynamic dynamic-name [timeout minutes]]
    {deny | permit} tcp source source-wildcard [operator [port]] 
    destination destination-wildcard [operator [port]] [established]
    [precedence precedence] [tos tos] [log | log-input] 
    [time-range time-range-name] 

UDP

    access-list access-list-number [dynamic dynamic-name [timeout minutes]] 
    {deny | permit} udp source source-wildcard [operator [port]] 
    destination destination-wildcard [operator [port]] 
    [precedence precedence] [tos tos] [log | log-input] 
    [time-range time-range-name]

cisco.com

Видео к статье:

Заключение

Списки контроля доступа ACL Cisco — мощное средство обеспечения безопасности в сети. Используйте его, чтобы фильтровать ваш трафик. Но помните про особенности. Если вы некорректно укажите параметры фильтрации, «правильный» трафик может не попасть к адресату.

Наши рекомендации

Настройка маршрутизатора cisco выполняется техническими специалистами.

Настройка IPsec vpn позволит повысить уровень безопасности.

Для выхода в интернет нескольких компьютеров, используется технология NAT.

Стоит почитать

Зачем искать информацию на других сайтах, если все собрано у нас?

Настроить стандартный список доступа на маршрутизаторе Cisco

Здесь мы настраиваем стандартный список доступа на маршрутизаторах Cisco. Стандартный список доступа (ACL) на маршрутизаторе Cisco разрешает или запрещает различать все сетевые протоколы хоста. Все эти решения основаны на исходном IP-адресе, который фильтрует сетевой трафик, исследуя исходный IP-адрес в пакете. Мы можем создать стандартный список доступа IP, используя команду access-list с номерами от 1 до 99 или в расширенном диапазоне от 1300 до 1999.

Я использую Cisco Packet Tracer для выполнения этой задачи. Вы можете создать свою собственную топологию сети с помощью средства трассировки пакетов Cisco или использовать лучший сетевой симулятор GNS3. Если вы новичок в GNS3, я рекомендовал прочитать темы установки GNS3 «Пошаговая установка GNS3 Network Simulator в Windows» и статью о конфигурации «Основная конфигурация GNS3 для Cisco Lab», они помогут вам сориентироваться в использовании GNS3.

Здесь я делюсь своей собственной созданной топологией для стандартного списка доступа IP с трассировщиком пакетов.Скачайте и протестируйте. Загрузите CCNA Lab: настройка стандартного списка доступа.

CCNA Lab — Настройка стандартного списка доступа

Попробуйте настроить его с использованием любого протокола маршрутизации, который вам нужен. Статический маршрут, RIP или OSPF. Эта статья «Настройка статической маршрутизации в Packet Tracer» может помочь вам настроить статическую маршрутизацию для CCNA.

Настроить стандартный список доступа на маршрутизаторе Cisco

Давайте протестируем стандартный список доступа в нашей сети, запретив доступ из подсети 192.168.10.0 в сеть 192.168.0.0, который подключил каталог к ​​маршрутизатору R1 и просто разрешил ПК2 получить доступ к сети 192.168.0.0/24.

Настройка стандартного списка доступа на маршрутизаторе и коммутаторе Cisco — Technig

В маршрутизаторе R1 создайте список доступа « access-list 10 allow 192.168.10.3 0.0.0.0 », а затем установите его на FastEthernet 0/0, который является шлюзом. в сеть.

 R1> включить
R1 # настроить терминал
Введите команды конфигурации, по одной в каждой строке. Закончите CNTL / Z.
R1 (config) # список доступа 10 разрешение 192.168.10.3 0.0.0.0
R1 (конфигурация) #interface FastEthernet 0/0
R1 (config-if) #ip access-group 10 out
R1 (config-if) # выход 

Команда « список доступа 10 разрешить 192.168.10.3 0.0.0.0 » запрещает всем хостам в сети 192.168.10.0 , но разрешает только PC3. Мы используем подстановочный знак 0.0.0.0 для PC3. Разрешен только конкретный хост с IP-адресом 192.168.10.3 .

Команда « IP access-group 10 out » просто применяет этот исходящий трафик к этой сети.

Помните, что мы установили команду access list в глобальной конфигурации и установили IP access-gorup в конфигурацию интерфейса.

Теперь проверьте соединение с помощью ping от PC3 до любого хоста в сети 192.168.0.0/24 . Он должен успешно пинговать, но не разрешен для других ПК в сети 192.168.10.0/24 .

Вы также можете настроить его со следующей конфигурацией.

 R1> включить
R1 # настроить терминал
Введите команды конфигурации, по одной в каждой строке.Закончите CNTL / Z.
R1 (config) # список доступа 10 запретить 192.168.10.3 0.0.0.0
R1 (config) # access-list 10 разрешить любой
R1 (конфигурация) #interface FastEthernet 0/0
R1 (config-if) #ip access-group 10 out 

Работать со стандартным списком доступа на маршрутизаторе Cisco легко и просто. Просто попробуйте попрактиковаться, чтобы стать экспертом. Если вы хотите узнать и протестировать другие команды списка доступа, просто введите вопросительный знак (?) Перед своей командой.

 R2 (config) # список доступа?
<1-99> стандартный список доступа IP
<100-199> Расширенный список доступа IP
R2 (config) # список доступа 10?
deny Укажите пакеты для отклонения
разрешение Укажите пакеты для пересылки
примечание комментарий к записи списка доступа
R2 (config) # список доступа 10 разрешить?
А.B.C.D адрес для соответствия
любой Любой исходный хост
host Один адрес хоста
R2 (config) # список доступа 10 разрешить любой?
 

Надеюсь, это поможет вам понять стандартный список доступа IP на маршрутизаторах Cisco.

Пошаговое руководство по настройке расширенного списка контроля доступа

В этом руководстве подробно объясняется, как настроить и управлять расширенным списком управления доступом, шаг за шагом. Узнайте, как создавать, включать, редактировать, проверять, обновлять, удалять (отдельные или все) и удалять операторы и условия расширенного ACL на простом языке с примерами трассировщика пакетов.

В демонстрационных целях я буду использовать программу-симулятор сети с трассировщиком пакетов.
Вы можете использовать его или любое другое программное обеспечение для моделирования сети, такое как Boson, NetSim, GNS и т. Д.

При необходимости вы можете загрузить последнюю и более раннюю версию Packet Tracer отсюда. Скачать Packet Tracer

Создайте топологию, как показано на следующем рисунке.

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

Загрузить практическую топологию для расширенной конфигурации ACL

В этой лаборатории: —

  • IP-адрес назначается всем конечным устройствам.
  • На всех используемых интерфейсах (в обоих маршрутизаторах) настроено

  • IP-адреса.
  • RIPv2 (или любой другой протокол маршрутизации) настроен

Подробную информацию об этой топологии см. В третьей части этой статьи. Это та же топология сети, которую я
используется для объяснения стандартного ACL.В этой статье я предполагаю, что в симуляторе сети используется указанная выше топология сети.
программное обеспечение с указанными выше основными конфигурациями

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

Эта сеть имеет следующие требования безопасности.

  • Компания имеет три сервера. Назначьте по одному серверу для каждого раздела; Server0 для раздела разработки, Server1 для производственного раздела и Server2 для раздела управления.Разделы должны иметь доступ только к своему собственному серверу. Им не разрешен доступ к серверам друг друга.
  • Раздел разработки должен иметь доступ к производственному разделу. Он не должен иметь доступ к разделу управления.
  • Производственный раздел должен иметь доступ к разделу разработки. У него не должно быть доступа к разделу управления.
  • Пользователям из разработки не разрешено пинговать свой сервер (Server0). Но им разрешен доступ ко всем службам, работающим на их сервере.
  • Один пользователь (PC0) из раздела разработки не должен иметь доступа ни к чему, кроме своего собственного раздела.
  • Один пользователь (ПК2) имеет доступ только к веб-серверу с сервера.
  • Один пользователь (ПК3) из производственной секции также должен иметь доступ к секции управления.
  • Один пользователь (laptop0) из раздела управления должен иметь доступ только к разделу «Сервер», а не к разделу разработки и производственному разделу. Ему разрешен доступ только к ftp и веб-сервису с сервера.

Это руководство является последней частью нашей статьи «Руководство по настройке Cisco IP ACL». Вы можете прочитать другие части этой статьи здесь: —

Список контроля доступа, объясненный на примерах

Это руководство является первой частью этой статьи. В этой части я представил краткое введение в списки управления доступом Cisco IP, например, что такое ACL и как он работает, включая направление и расположение списков ACL.

Объяснение стандартных команд конфигурации ACL

Это руководство является второй частью статьи.В этой части я подробно объяснил команды конфигурации стандартного списка управления доступом и его параметры с примерами.

Пошаговое руководство по настройке стандартного списка управления доступом

Это руководство является третьей частью этой статьи. В этой части я представил пошаговое руководство по настройке стандартного списка управления доступом.

Объяснение расширенных команд конфигурации ACL

Это руководство является четвертой частью этой статьи.В этой части я подробно объяснил команды конфигурации расширенного списка управления доступом и его параметры с примерами.

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

Как вы знаете, мы можем создать расширенный ACL тремя способами: —

  1. Classic с номером
  2. Современный номер
  3. Современное название

Чтобы получить более полное представление об этих методах, мы будем использовать их все в нашем примере.

901 901 Входящий

Номер / имя ACL Тип ACL Направление ACL Прикладной интерфейс
110 Классический номер Входящий R1’s Fa0167 Fa0 / 1 R1
SecureManage Современный номер Входящий Fa0 / 0 R2

Общие сведения о расположении и требованиях ACL

В отличие от стандартного ACL, где мы ограничены адресом источника, в расширенном ACL у нас есть намного больше опций для сопоставления пакета.Из-за этих опций мы всегда должны размещать расширенный ACL рядом с адресом источника. Таким образом, нежелательный пакет будет отфильтрован, как только он попадет в сеть. Как я объяснил в третьей части этой статьи, мы всегда должны создавать условия ACL на бумаге перед маршрутизатором. Таким образом, мы можем редактировать / обновлять / переупорядочивать / удалять условия ACL, не нарушая работающую сеть. После того, как мы удовлетворены, мы можем легко перенести их в маршрутизатор.

ACL-110

Это будет наш первый ACL. Мы создадим этот ACL в маршрутизаторе R1 и включим его в интерфейсе Fa0 / 0.Он будет фильтровать трафик во внутреннем направлении. Этот ACL будет использоваться для выполнения следующих требований: —

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

Для этого требования нам понадобятся два утверждения; одно заявление о разрешении для производственного участка и другое заявление об отказе для участка управления.

  • разрешение IP 200.0.0.0 0.0.0.127 200.0.0.128 0.0.0.63
  • запретить ip 200.0.0.0 0.0.0.127 200.0.0.192 0.0.0.31

Наше заявление начинается с действия (разрешить или запретить). Какое действие должен предпринять маршрутизатор при обнаружении совпадения?
Он определяется этим ключевым словом. С помощью ключевого слова allow мы сообщаем маршрутизатору, что если совпадение найдено, отпустить пакет.
С помощью ключевого слова deny мы сообщаем маршрутизатору, что при обнаружении совпадения пакет немедленно отбрасывается.

После действия нам нужно указать уровень фильтрации. Расширенный ACL позволяет нам фильтровать пакет на основе его адреса или приложения.В этом требовании нас просят фильтровать все пакеты независимо от того, какие данные приложений они переносят. Для этого требования мы должны
использовать ключевое слово IP. С помощью ключевого слова IP мы сообщаем маршрутизатору, что соответствует всем IP-пакетам, независимо от того, какие IP-приложения отправляют / получают данные.

Позже нам нужно будет указать адрес источника и адрес назначения с маской подстановки. Чтобы соответствовать диапазону сети, нам нужно использовать идентификатор сети.
В этом требовании мы фильтруем трафик, исходящий из раздела разработки (идентификатор сети 200.0.0.0) и переход в производственный раздел
(Идентификатор сети 200.0.0.128) и раздел управления (идентификатор сети 200.0.0.192).

Наряду с идентификатором сети нам необходимо предоставить подстановочную маску. Подстановочная маска контролирует диапазон адресов, которые будут сопоставлены.
Подстановочные знаки подробно описаны на примере во второй части этой статьи.

Разделы должны иметь доступ только к своему собственному серверу. Им не разрешено
получить доступ к серверам друг друга.

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

  • разрешение IP 200.0.0.0 0.0.0.127 хост 200.0.0.226
  • запретить IP 200.0.0.0 0.0.0.127 200.0.0.224 0.0.0.15

Пользователям из разработки не разрешено пинговать свой сервер (Server0). Но им разрешен доступ ко всем службам, работающим на их сервере.

Для этого требования нам нужно создать оператор deny.

deny icmp 200.0.0.0 0.0.0.127 хост 200.0.0.226 echo

В этом заявлении: —

  • deny ключевое слово определяет действие.
  • icmp ключевое слово сообщает маршрутизатору, что мы хотим сопоставить пакет на основе протокола ICMP.
  • 200.0.0.0 — сетевой идентификатор раздела разработки (Источник).
  • 0.0.0.127 — подстановочная маска адреса источника.
  • host ключевое слово сообщает маршрутизатору, что мы хотим сопоставить один хост.
  • 200.0.0.226 — IP-адрес сервера (назначения).
  • echo ключевое слово используется для указания типа сообщения (ping), которое мы хотим сопоставить.

Один пользователь (PC0) из раздела разработки не должен иметь доступа ни к чему, кроме своего собственного раздела.

Для этого требования нам понадобится следующее заявление deny.

запретить IP-хост 200.0.0.2 любой

В этом заявлении: —

  • deny — это действие, которое говорит, что отбрасывает пакет, соответствующий этому критерию.
  • ip — это базовая линия для фильтра, который говорит, что соответствует всем IP-трафикам, независимо от того, какое IP-приложение он передает
  • host ключевое слово используется для сопоставления одного хоста.
  • 200.0.0.2 — IP-адрес источника.
  • любое ключевое слово используется для сопоставления всех адресов. Он говорит, что соответствует всем пакетам.

Мы также можем использовать подстановочную маску вместо host и любых ключевых слов .Для хоста подстановочная маска ключевого слова
0.0.0.0 . Для используется любое ключевое слово 0.0.0.0 адрес и 255.255.255.255 подстановочная маска.
При таком подходе условие выше будет:
deny ip 200.0.0.2 0.0.0.0 0.0.0.0 255.255.255.255

Оба метода работают одинаково. Выбор метода зависит только от вашего выбора.

Хорошо, давайте еще раз кратко рассмотрим наши требования и заявление

Отдел развития (200.0.0.0 0.0.0.127) должен иметь доступ к производственному разделу (200.0.0.128 0.0.0.63). Он (200.0.0.0 0.0.0.127) не должен иметь доступ к разделу управления (200.0.0.192 0.0.0.31).

Раздел разработки

(200.0.0.0 0.0.0.127) должен иметь доступ только к собственному серверу (200.0.0.226). Раздел разработки (200.0.0.0 0.0.0.127) не может получить доступ к любому другому серверу из раздела сервера (200.0.0.224 0.0.0.15).

Пользователи из раздела разработки (200.0.0.0 0.0.0.127) не могут пинговать свой сервер (200.0.0.226).

Один пользователь (200.0.0.2) из ​​раздела разработки не должен иметь доступа ни к чему, кроме своего собственного раздела.

Заявления по вышеуказанным требованиям

  • разрешение IP 200.0.0.0 0.0.0.127 200.0.0.128 0.0.0.63
  • запретить IP 200.0.0.0 0.0.0.127 200.0.0.192 0.0.0.31
  • разрешение IP 200.0.0.0 0.0.0.127 хост 200.0.0.226
  • запретить IP 200.0.0.0 0.0.0.127 200.0.0.224 0.0.0.15
  • запретить icmp 200.0.0.0 0.0.0.127 хост 200.0.0.226 echo
  • запретить IP-хост 200.0.0.2 любой

Можно ли создавать отчеты в указанном выше порядке? Технически да, маршрутизатор будет принимать запросы в любом порядке.
У него нет мозгов, чтобы понять наши требования. Он будет делать то, о чем мы говорим. Таким образом, мы обязаны навести порядок в правильной последовательности. Как мы знаем, операторы ACL сопоставляются сверху вниз без пропуска каких-либо условий. Как только совпадение найдено, следующее условие никогда не будет проверяться для этого пакета.

Если мы создадим операторы в указанном выше порядке, последние два оператора никогда не будут соответствовать ни одному пакету.
В пятом заявлении говорится, что отбрасывает пакет icmp, если он исходит из сети 200.0.0.0/25 и направляется на хост 200.0.0.226.
В третьем заявлении говорится, что разрешает все IP-пакеты, если они исходят из сети 200.0.0 / 25 и отправляются на хост 200.0.0.226 .

Точно так же, в заявлении шесть говорится, что отклоняет пакет, если он исходит от хоста 200.0.0.2, , а в первом заявлении говорится, что разрешает пакеты, если они исходят с узла 200.0.0.0 / 25 и будет 200.0.0.128/192 .

Таким образом, пятый оператор отменяется оператором три, а оператор шесть отменяется оператором один.

Подробнее о том, как обрабатываются списки ACL, см. В первой части статьи, в которой этот процесс подробно объясняется на примере.

Хорошо, давайте расставим условия в правильном порядке

  • запретить IP-хост 200.0.0.2 любой
  • разрешение IP 200.0.0.0 0.0.0.127 200.0.0.128 0.0,0.63
  • запретить IP 200.0.0.0 0.0.0.127 200.0.0.192 0.0.0.31
  • deny icmp 200.0.0.0 0.0.0.127 хост 200.0.0.226 echo
  • разрешение IP 200.0.0.0 0.0.0.127 хост 200.0.0.226
  • запретить IP 200.0.0.0 0.0.0.127 200.0.0.224 0.0.0.15

Я подробно объяснил, как обрабатываются ACL, на примере в первой части этой статьи.

ACL-120

ACL-20 будет фильтровать входящий трафик от производственного отдела в Fa0 / 1 маршрутизатора R1.Производственный отдел предъявляет следующие требования: —

Разделы должны иметь доступ только к своему собственному серверу. Им не разрешен доступ к серверам друг друга.

Для этого требования нам нужны два утверждения. Первый оператор позволит производственному отделу получить доступ к своему серверу Server1.
Второй оператор заблокирует производственный раздел от доступа к другим ресурсам из серверного раздела.

  • разрешение IP 200.0.0.128 0.0.0.63 хост 200.0.0.227
  • запретить ip 200.0.0.128 0.0.0.63 200.0.0.224 0.0.0.15

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

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

  • разрешение IP 200.0.0.128 0.0.0.63 200.0.0.0 0.0.0.127
  • запретить IP 200.0.0,128 0,0.0.63 200.0.0.0 0.0.0.31

Один пользователь (ПК2) имеет доступ только к веб-серверу с сервера.

Для этого требования нам нужны два утверждения. Первый оператор позволяет хосту 200.0.0.130 получить доступ к веб-серверу с Сервера. Второе условие блокирует доступ этого хоста к чему-либо с Севера.

  • разрешить tcp host 200.0.0.130 host 200.0.0.227 eq 80
  • запретить IP-хост 200.0.0.130 хост 200.0.0.227

eq — оператор, который заменяет равным .

80 — номер порта веб-сервера. Мы также можем использовать здесь ключевое слово www вместо номера порта.
В совокупности eq 80 говорит: « соответствует пакету, который отправляется на веб-сервер ». Если вас попросят сопоставить безопасный
веб-сервер, используйте номер порта 443 . Подробнее о номере порта и операторе читайте в предыдущей части этой статьи.

Один пользователь (ПК3) из производственной секции также должен иметь доступ к секции управления.

Нам нужно одно разрешительное условие для выполнения этого требования.

разрешить IP-хост 200.0.0.131 200.0.0.192 0.0.0.31

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

  • разрешение IP 200.0.0.128 0.0.0.63 200.0.0.0 0.0.0.127
  • разрешить IP-хост 200.0.0.131 200.0.0.192 0.0.0.31
  • запретить IP 200.0.0.128 0.0.0.63 200.0.0.0 0.0.0.31
  • разрешить хост tcp 200.0.0.130 хост 200.0.0.227 eq 80
  • запретить IP-хост 200.0.0.130 хост 200.0.0.227
  • разрешение IP 200.0.0.128 0.0.0.63 хост 200.0.0.227
  • запретить IP 200.0.0.128 0.0.0.63 200.0.0.224 0.0.0.15
ACL-SecureManagement

Этот ACL будет фильтровать входящий трафик из раздела управления в Fa0 / 0 маршрутизатора R2. Раздел управления имеет следующие требования

Разделы должны иметь доступ только к своему собственному серверу. Им не разрешен доступ к серверам друг друга.

  • разрешение ip 200.0.0.192 0.0.0.31 хост 200.0.0.228
  • запретить IP 200.0.0.192 0.0.0.31 200.0.0.224 0.0.0.15

Один пользователь (laptop0) из раздела управления должен иметь доступ только к разделу «Сервер», а не к разделу разработки и производственному разделу. Ему разрешен доступ только к службам tftp и telnet с сервера.

Для этого требования нам понадобятся три утверждения. Первый оператор позволяет пользователю получить доступ к службе ftp с сервера. Второй оператор позволяет пользователю получить доступ к веб-сервису.Последний оператор блокирует доступ к серверу.

  • разрешить хост tcp 200.0.0.194 хост 200.0.0.228 eq 21
  • разрешить хост udp 200.0.0.194 хост 200.0.0.228 eq 80
  • запретить IP-хост 200.0.0.194 хост 200.0.0.228

Нам нужно добавить еще одно разрешение в этот ACL для следующего требования

Один пользователь (ПК3) из производственной секции также должен иметь доступ к секции управления.

разрешение ip 200.0.0.192 0.0.0.31 хост 200.0.0.131

Мы уже разрешили этого пользователя в ACL-20, тогда зачем нам нужно указанное выше разрешение для этого пользователя в этом ACL. Любые догадки… ..

Чтобы понять это утверждение, нам нужно быстро взглянуть на потоки данных: —

  • PC3 (200.0.0.131) генерирует пакет с целевым ноутбуком1 (200.0.0.195).
  • PC3 отправляет этот пакет маршрутизатору R1.
  • R1 получает этот пакет в интерфейсе FastEthernet 0/1.
  • Интерфейс

  • FastEthernet 0/1 имеет входящий ACL (пронумерованный ACL -120) в FastEthernet 0/1.
  • ACL-120 сравнит этот пакет и пропустит его, поскольку в нем есть инструкция разрешения для этой ситуации.
  • R1 пересылает этот пакет со своего серийного номера 0/0/0.
  • R2 получит этот пакет со своим серийным номером 0/0/0.
  • R2 перешлет этот пакет от Fa0 / 0.
  • Этот пакет будет получен ноутбуком 1 (200.0.0.195).
  • Laptop1 (источник 200.0.0.195) ответит на ПК3 (целевой 200.0.0.131).
  • R2 получит ответный пакет в FastEthernet 0/0.
  • Этот интерфейс имеет входящий ACL (именованный ACL-SecureManagement).
  • В этом ACL нет инструкции для этого пакета.
  • В конце каждого ACL есть неявный оператор deny по умолчанию. Этот оператор использует ключевое слово any (source) any (destination) в критериях соответствия, что означает, что ему все равно, откуда приходит пакет и куда он идет. Он будет соответствовать каждому пакету, который с ним сравнивается. Если пакет не соответствует ни одному условию в ACL, он будет сопоставлен с неявным заявлением deny.
  • Поскольку для нашего пакета нет определенного условия, он будет соответствовать неявному заявлению deny по умолчанию.
  • Наш пакет будет отброшен, как только встретится с неявным заявлением deny.
  • Таким образом, исходный ПК никогда не получит ответа от конечного ПК.

Чтобы разрешить обратный трафик из раздела управления, нам нужен оператор разрешения для ПК3.

Здесь у меня к вам вопрос: « Как обрабатываются списки управления доступом и что такое неявное отклонение

Если вы знаете ответ, отлично продолжайте.Если вы не знаете ответа, я предлагаю вам сделать здесь паузу и прочитать первую часть этой статьи.

В первой части этой статьи подробно рассматриваются основные особенности ACL, такие как неявное запрещение, типы ACL, способ обработки инструкций ACL и направления потока данных.

Oaky позволяет расположить операторы в правильном порядке для ACL-SecureManagement

  • разрешить хост tcp 200.0.0.194 хост 200.0.0.228 eq 21
  • разрешить udp host 200.0.0.194 host 200.0,0.228 экв 80
  • запретить IP-хост 200.0.0.194 хост 200.0.0.228
  • разрешение IP 200.0.0.192 0.0.0.31 хост 200.0.0.228
  • запретить IP 200.0.0.192 0.0.0.31 200.0.0.224 0.0.0.15
  • разрешение IP 200.0.0.192 0.0.0.31 хост 200.0.0.131

Это вся бумажная работа, которую нам нужно сделать перед созданием настоящих ACL. Что ж … вас может немного раздражать все вышеизложенное. Но поверьте мне, друзья; это сэкономит много времени и сил на экзаменах Cisco, а также на работе.

Создать расширенный ACL

Расширенный ACL можно создать двумя способами: —

  1. Классический номерной метод
  2. Современный пронумерованный или именованный метод

Классический пронумерованный метод использует следующую команду режима глобальной конфигурации

Router (config) # access-list ACL_Identifier_number разрешение | deny IP_protocol
исходный_адрес исходная_дикая_карта [информация_протокола] целевой_адрес целевой_маска_двойной_карты [протокол_информации] [журнал]
 

Современный пронумерованный или именованный метод использует следующие команды режима глобальной конфигурации

Маршрутизатор (config) #ip access-list extended ACL_name_number
Маршрутизатор (config-ext-acl) # permission | deny IP_protocol исходный IP-адрес wildcard_mask [protocol_information] destination_IP_address wildcard_mask [protocol_information] [log]
 

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

В нашем примере мы создадим два ACL (110 и 120) в Router1 и один ACL (SecureManagement) в Router2.

Хорошо, давайте создадим их по одному

ACL-110 (стиль конфигурации — , классический номер )

Получите доступ к командной строке Router1 и войдите в режим глобальной конфигурации

Введите следующие команды

Router (config) # access-list 110 deny ip host 200.0.0.2 любые
Маршрутизатор (конфигурация) # список доступа 110 разрешение IP 200.0.0.0 0.0.0.127 200.0.0.128 0.0.0.63
Маршрутизатор (config) # access-list 110 deny ip 200.0.0.0 0.0.0.127 200.0.0.192 0.0.0.31
Маршрутизатор (config) # access-list 110 deny icmp 200.0.0.0 0.0.0.127 host 200.0.0.226 echo
Маршрутизатор (конфигурация) # список доступа 110 разрешение IP 200.0.0.0 0.0.0.127 хост 200.0.0.226
Маршрутизатор (config) # access-list 110 deny ip 200.0.0.0 0.0.0.127 200.0.0.224 0.0.0.15
 

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

ACL-120 (стиль конфигурации — , современный номер )

Маршрутизатор (config) #ip access-list extended 120
Маршрутизатор (config-ext-acl) # allow ip 200.0.0.128 0.0.0.63 200.0.0.0 0.0.0.127
Маршрутизатор (config-ext-acl) # разрешить IP-хост 200.0.0.131 200.0.0.192 0.0.0.31
Маршрутизатор (config-ext-acl) # deny ip 200.0.0.128 0.0.0.63 200.0.0.192 0.0.0.31
Маршрутизатор (config-ext-acl) # разрешить tcp host 200.0.0.130 хост 200.0.0.227 экв 80
Маршрутизатор (config-ext-acl) # deny ip host 200.0.0.130 host 200.0.0.227
Маршрутизатор (config-ext-acl) # allow ip 200.0.0.128 0.0.0.63 host 200.0.0.227
Маршрутизатор (config-ext-acl) # deny ip 200.0.0.128 0.0.0.63 200.0.0.224 0.0.0.15
Маршрутизатор (config-ext-acl) #exit
Маршрутизатор (конфигурация) #
 

Хорошо, мы завершили нашу задачу создания ACL или маршрутизатора R1. Теперь войдите в режим глобальной конфигурации маршрутизатора R2 и введите следующие команды для создания ACL-SecureManagement

.

ACL-SecureManagement (стиль конфигурации — Modern Named )

Маршрутизатор (config) #ip access-list extended SecureManagement
Маршрутизатор (config-ext-acl) # разрешить tcp host 200.0.0.194 хост 200.0.0.228 экв 21
Маршрутизатор (config-ext-acl) #permit tcp host 200.0.0.194 host 200.0.0.228 eq 80
Маршрутизатор (config-ext-acl) #deny ip host 200.0.0.194 host 200.0.0.228
Маршрутизатор (config-ext-acl) #permit ip 200.0.0.192 0.0.0.31 host 200.0.0.228
Маршрутизатор (config-ext-acl) #deny ip 200.0.0.192 0.0.0.31 200.0.0.224 0.0.0.15
Маршрутизатор (config-ext-acl) #permit ip 200.0.0.192 0.0.0.31 хост 200.0.0.131
Маршрутизатор (config-ext-acl) #exit
Маршрутизатор (конфигурация) #
 

Назначить расширенные списки ACL в интерфейсах

Независимо от того, как мы создавали списки управления доступом, назначение их в интерфейсах является одним и тем же процессом шагов: —

Маршрутизатор (конфигурация) # тип интерфейса [слот_ #] порт_ #
Маршрутизатор (config-if) #ip access-group ACL_ # in | out
 

Команды и параметры описаны в предыдущей части этой статьи.В этой части мы будем использовать эти команды для назначения списков ACL.

Давайте назначим наши ACL в их соответствующих интерфейсах

ACL-110 (интерфейс Fa0 / 0 R1, входящее направление )

Маршрутизатор (конфигурация) #interface fastethernet 0/0
Маршрутизатор (config-if) #ip access-group 110 in
Маршрутизатор (config-if) #exit
Маршрутизатор (конфигурация) #
 

ACL-120 (Fa0 / 1 R1, входящее направление )

Маршрутизатор (конфигурация) # интерфейс fastethernet 0/1
Маршрутизатор (config-if) #ip access-group 120 in
Маршрутизатор (config-if) #exit
Маршрутизатор (конфигурация) #
 

ACL-SecureManagement (интерфейс R2 Fa0 / 0, входящее направление )

Маршрутизатор (конфигурация) # интерфейс Fa0 / 0
Маршрутизатор (config-if) #ip access-group SecureManagement в
Маршрутизатор (config-if) #exit
Маршрутизатор (конфигурация) #
 

Стандартные списки контроля доступа

Packet Tracer включает несколько инструментов для проверки нашей реализации, например команду ping , которую можно использовать для проверки возможности подключения.Мы можем использовать FTP и веб-браузер для тестирования фильтра уровня приложений.

Давайте протестируем реализацию от PC0.

Согласно разрешению PC0 имеет доступ только к своему разделу. Доступ к чему-либо извне запрещен.

Проведем еще одно тестирование с ПК2. Согласно разрешению, ПК2 имеет доступ к разделу разработки и только к веб-сервису с сервера.

Теперь ваша очередь проверить оставшиеся условия. Если вы выполнили все вышеперечисленные шаги, требования должны быть выполнены.Если вам не хватает каких-либо требований или вы не получаете ожидаемого результата, используйте топологию моей практики для перекрестной проверки.

Загрузить настроенную топологию для расширенной конфигурации ACL

Проверка конфигурации расширенного списка доступа

После создания и активации ACL мы можем проверить их с помощью следующих команд привилегированного режима exec.

Чтобы показать, какие ACL активированы на каких интерфейсах и в каком направлении, мы можем использовать команду show ip interface

Из выходных данных видно, что ACL-110 применяется во входящем направлении на FastEthernet0 / 0.По умолчанию приведенная выше команда перечислит все интерфейсы. Чтобы просмотреть единый интерфейс, нам нужно указать его в приведенной выше команде как параметр командной строки. Например, для просмотра только последовательного интерфейса используйте команду show ip interface FastEthernet 0/1 .

Для просмотра условий в ACL у нас есть две команды

Маршрутизатор # показать списки доступа ACL_Number_or_Name ( Необязательно, используется для просмотра определенного ACL )

Router # show ip access-list ACL_Number_or_Name ( Необязательно, используется для просмотра определенного ACL )

Вы заметили разницу между выходами? Вторая команда предоставляет более подробную информацию о ACL в современном стиле.В нем перечислены порядковые номера каждого условия в ACL. Порядковые номера используются для редактирования или удаления любого условия из ACL. Порядковые номера доступны только при создании ACL в современном стиле.

Маршрутизатор

отслеживает каждое совпадение при любых условиях. Чтобы сбросить этот счетчик, используйте команду clear .

Мы также можем просмотреть всю текущую конфигурацию, включая ACL, из команды show running-config .

Редактирование / обновление расширенных ACL

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

Как я узнаю, какой ACL создан из какого стиля?

ACL, созданные современным способом, имеют порядковые номера. Мы можем использовать команду show ip access-list , чтобы узнать, создан ли конкретный ACL в классическом или современном стиле. Если выходные данные этой команды показывают порядковые номера перед условиями, то этот ACL создан в современном стиле.Например, на следующем рисунке показан вывод команды show ip access-list от маршрутизатора R2.

Как видно из выходных данных, ACL-SecureManagement имеет порядковые номера. Так он создан из современного названного стиля.

Теперь предположим, что мы хотим разрешить хосту 200.0.0.194 полное разрешение на Server 200.0.0.228 .

Хорошо, давайте обновим этот ACL шаг за шагом.

Проверить текущий статус
Маршрутизатор # показать список доступа IP SecureManagement
Расширенный список IP-доступа SecureManagement
 10 разрешить tcp host 200.0.0.194 хост 200.0.0.228 экв ftp
 20 разрешить tcp host 200.0.0.194 host 200.0.0.228 eq www
 30 запретить IP-хост 200.0.0.194 хост 200.0.0.228
 40 разрешить ip 200.0.0.192 0.0.0.31 хост 200.0.0.228
 50 запретить IP 200.0.0.192 0.0.0.31 200.0.0.224 0.0.0.15
 60 разрешить ip любой хост 200.0.0.131
 

В настоящее время хосту 200.0.0.194 разрешен доступ с сервера только к FTP и веб-сервисам. Чтобы предоставить ему полное разрешение, нам нужно удалить три оператора 10, 20 и 30. Поскольку хост принадлежит сети 200.0.0.192, который имеет полное разрешение на сервере (оператор 40), после удаления оператора deny хост автоматически получит полное разрешение.

Удалить старое разрешение
Маршрутизатор (config) #ip access-list extended SecureManagement
Маршрутизатор (config-ext-nacl) # no 10
Маршрутизатор (config-ext-nacl) # no 20
Маршрутизатор (config-ext-nacl) # no 30
Маршрутизатор (config-ext-nacl) #exit
Маршрутизатор (config) #exit
Маршрутизатор №
 
Подтвердите удаление
Маршрутизатор # показать список доступа IP SecureManagement
Расширенный список IP-доступа SecureManagement
    40 разрешений ip 200.0.0.192 0.0.0.31 хост 200.0.0.228
    50 запретить IP 200.0.0.192 0.0.0.31 200.0.0.224 0.0.0.15
    60 разрешить ip любой хост 200.0.0.131
Маршрутизатор №
 
Вставить новое условие в расширенный ACL

Теперь предположим, что мы хотим разрешить хосту 200.0.0.195 доступ только к службе TFTP с сервера. В настоящее время этот хост имеет полное разрешение на сервере (см. Вывод выше). Для этого требования нам нужно сначала разрешить службу TFTP и запретить все службы до полного разрешения для сетевого оператора.

Маршрутизатор (config) #ip access-list extended SecureManagement
Маршрутизатор (config-ext-nacl) # 10 разрешить хост udp 200.0.0.195 хост 200.0.0.228 eq 69
Маршрутизатор (config-ext-nacl) # 20 deny ip host 200.0.0.195 host 200.0.0.228
Маршрутизатор (config-ext-nacl) #exit
Маршрутизатор (config) #exit
Маршрутизатор №
 
Проверить обновление
Маршрутизатор # показать списки доступа IP SecureManagement
Расширенный список IP-доступа SecureManagement
    10 разрешить хост udp 200.0.0.195 хост 200.0.0,228 экв 69
    20 запретить IP-хост 200.0.0.195 хост 200.0.0.228
    40 разрешить ip 200.0.0.192 0.0.0.31 хост 200.0.0.228
    50 запретить IP 200.0.0.192 0.0.0.31 200.0.0.224 0.0.0.15
    60 разрешить ip любой хост 200.0.0.131
Маршрутизатор №
 
Как удалить стандартный ACL

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

Маршрутизатор (конфигурация) # нет списка доступа [ACL_Number]
Маршрутизатор (конфигурация) # нет расширенного списка доступа IP [ACL_Number_or_Name]
 

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

Удалите оба ACL с маршрутизатора R1.

Маршрутизатор (config) # нет списка доступа 110
Маршрутизатор (config) # no ip access-list стандартный SecureManagement
 

Это все для этого руководства.

Отладка маршрутизаторов Cisco — Списки доступа

Команда отладки — один из лучших наборов инструментов, которые вы встретите на маршрутизаторах Cisco. Команда отладки доступна только в привилегированном режиме.

Отладка маршрутизатора Cisco IOS

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

Для вывода отладочной информации, отображаемой на консольном порту, необходимо убедиться, что отладка консоли не была отключена или отправлена ​​в буфер регистрации с помощью команды отладки консоли регистрации.

Если вы включаете какие-либо команды отладки через консоль, но вывод отладки не отображается, это может быть связано с отключением ведения журнала.

Проверьте текущую конфигурацию для строки без ведения журнала отладки консоли и удалите эту строку (набрав logging debugging console), чтобы разрешить отладочные сообщения для просмотра консольным портом.

Не забудьте выключить ведение журнала консоли, когда вы закончите устранение проблемы. Маршрутизатор будет продолжать отправлять данные на консоль, даже если там никого нет, занимая ценные ресурсы ЦП.

На виртуальных линиях (линии VTY) необходимо включить команду монитора терминала для просмотра вывода отладки. Вы используете линии VTY, когда подключаетесь к удаленному маршрутизатору Cisco через Telnet.

ПРИМЕЧАНИЕ. Для получения самой последней информации о командах отладки см. Справочник по командам отладки Cisco IOS по следующему URL-адресу:

www.cisco.com/univercd/cc/td/doc/product/software/ios122/122sup/122debug/index.htm.

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

Команда IOS ip route-cache без дополнительных ключевых слов обеспечивает быстрое переключение. Когда включен поток пакетов отладки IP, убедитесь, что вы отключили быструю коммутацию, чтобы вы могли просматривать поток пакетов через маршрутизатор.Найдите на веб-сайте Cisco ключевые слова «процесс» и «быстрое переключение», чтобы получить более подробную информацию о методах переключения. Следующий URL-адрес предоставляет информацию о качестве методов коммутации, доступных на маршрутизаторах Cisco 7200:

www.cisco.com/en/US/customer/products/sw/iosswrel/ps1831/products_configuration_ guide_chapter09186a00800ca6c7.html # xtocid6.

В Табл. 4-4 показаны команды отладки и функция сообщения отладки системы. Таблица 4-4 Сводка команд отладки

Команда IOS

Назначение

показать отладку

Отображает состояние каждой опции отладки

отладка?

Отображает список и краткое описание всех параметров команды отладки

команда отладки

Начинает регистрацию сообщений для указанной команды отладки

нет команды отладки (или отменить все)

Выключает ведение журнала сообщений для указанной команды отладки или отключает все сообщения отладки с помощью команды undebug all.

В примере 4-13 отображается список параметров команды отладки, описанных в этом разделе.Пример 4-13 Параметры команды отладки

R1 # отладка?

all Включить всю отладку IP Список информации IP Установить интерфейс и / или список доступа для следующей команды отладки

audit IDS события аудита auth-proxy Проверка подлинности прокси отладка bgp кэш информации BGP Операции с кешем IP cef IP Операции CEF cgmp Действия протокола CGMP dhcp Протокол динамической конфигурации хоста drp Протокол ответа директора dvmrp Действия протокола DVMRP egp Информация EGP eigrp Ошибка информации IP-EIGRP Ошибка IP поток отладки Операции переключения IP-потока ftp FTP-диалог html HTML-соединения http HTTP-соединения icmp ICMP-транзакции igmp Активность протокола IGMP igrp Информация IGRP inspect Stateful Inspection Events interface Изменения конфигурации IP-интерфейса mbgp Информация MBGP mcache Операции кеширования многоадресной IP-рассылки mhbeat Мониторинг пульса многоадресной IP-рассылки Мобильность мобильных IP

Пример 4-13 Параметры команды отладки (продолжение)

mpacket Отладка многоадресных IP-пакетов mrm Монитор многоадресной IP-маршрутизации mrouting Активность таблицы многоадресной IP-маршрутизации msdp Multicast Source Discovery Protocol (MSDP)

mtag IP multicast tagswitching activity nat NAT события nbar StILE — движок классификации трафика ospf Информационный пакет OSPF Общая отладка IP и транзакции безопасности IPSO Одноранговый IP-адрес активности pim Политика активности протокола PIM Политика маршрутизации postoffice События аудита PostOffice rgmp Активность протокола RGMP rip Транзакции протокола RIP маршрутизация События таблицы маршрутизации rsvp Активность протокола RSVP rtp Информация RTP scp Secure Copy sd Session Directory (SD)

безопасность Параметры безопасности IP сокет Событие сокета ssh Входящие ssh-соединения tcp Информация о TCP tempacl Временный список контроля доступа IP

триггерная аутентификация Триггерная аутентификация udp UDP-транзакции urd URL RenDezvous (URD) ​​

wccp Информация о WCCP

В этом разделе рассматриваются команды отладки, выделенные в примере 4-13.

ВНИМАНИЕ! Система ЦП на маршрутизаторах Cisco отдает наивысший приоритет выводам отладки. По этой причине команды отладки следует включать только для устранения конкретных проблем или во время сеансов устранения неполадок с персоналом службы технической поддержки. Избыточные отладочные данные могут вывести систему из строя.

Попробуйте использовать наиболее точную команду отладки, чтобы снизить нагрузку на ЦП. Например, команда debug all обязательно отключит маршрутизатор. В лабораторной среде следует использовать только команду debug all.

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

Когда включена синхронная регистрация незапрошенных сообщений и вывода отладки (линейная консоль настроена с помощью команды logging synchronous IOS), незапрашиваемые выходные данные программного обеспечения Cisco IOS отображаются на консоли или печатаются после отображения или печати запрошенных выходных данных программного обеспечения Cisco IOS.Незапрошенные сообщения и выходные данные отладки отображаются на консоли после того, как возвращается запрос на ввод данных пользователем. Это предотвращает перемежение незапрашиваемых сообщений и отладочной информации с запрошенными программными выводами и подсказками. После отображения нежелательных сообщений консоль снова отображает запрос пользователя. Ловушка регистрации команд IOS может использоваться для ограничения записи сообщений об ошибках, отправляемых на серверы системного журнала, только теми сообщениями на заданном уровне (уровни варьируются от 0 до 7). Самый низкий уровень — 7 (сообщения отладки, самый высокий уровень сообщений, поскольку уровень 7 охватывает все возможные уровни от 0 до 7), а самый высокий уровень — 0, или аварийные ситуации (система непригодна для использования).

Команда debug all включает все возможные параметры отладки, доступные для маршрутизатора Cisco. Это приведет к сбою любого маршрутизатора в загруженной IP-сети, поэтому мы настоятельно рекомендуем никогда не применять эту команду в рабочей сетевой среде.

В примере 4-14 показаны параметры при включении IP-пакетов через маршрутизатор Cisco. Пример 4-14 отладочного IP-пакета?

R1 # пакет IP отладки?

<1-199> Список доступа

<1300-2699> Деталь списка доступа (расширенный диапазон) Распечатать дополнительную информацию отладки

Вы можете определить список доступа, чтобы на консоль или линию VTY передавались только пакеты, удовлетворяющие списку доступа.

На рис. 4-3 показан типичный пример, когда Саймон, пользователь одного Ethernet (Ethernet 0/0), сообщает вам, что пакеты от пользователей Ethernet 0/1 (ПК Мелани) не достигают друг друга. Чтобы просмотреть поток пакетов маршрутизации через маршрутизатор R1, вы можете отлаживать IP-пакеты и использовать стандартный или расширенный список доступа (списки доступа рассматриваются далее в этой главе).

Чтобы просмотреть поток IP-пакетов и убедиться, что вы просматриваете только пакеты с ПК Мелани на ПК Саймона, вы можете определить расширенный список доступа, соответствующий адресу источника, 131.108.2.100 (ПК Мелани) по адресу назначения 131.108.1.100 (ПК Саймона).

Рисунок 4-3 Поток IP-данных от одного сегмента к другому

Пользователи сообщают об отсутствии потока пакетов

Ошибки уровня приложения <131.108.1.100/24 ​​

Пользователь Саймон

-> — Ошибки уровня приложения 131.108.2.100/24 ​​

E0 / 0

E0 / 1

Интерфейс пользователя Melanie Ethernet0/0

IP-адрес 131.108.1.1 255.255.255.0

интерфейс Ethernet0/1

ip адрес 131.108.2.1 255.255.255.0

В примере 4-15 показана конфигурация команды отладки на маршрутизаторе R1.

Пример 4-15 Включение IP-пакета отладки со списком доступа 100

R1 # config терминал

Введите команды конфигурации, по одной в каждой строке. Закончите CNTL / Z. R1 (config) # список доступа 100 разрешить IP host 131.108.2.100 host 131.108.1.100 R1 # debug ip packet?

<1-199> Список доступа

<1300-2699> Деталь списка доступа (расширенный диапазон) Распечатать дополнительную информацию отладки

R1 # пакет IP отладки 100?

Деталь

Распечатать дополнительную деталь отладки

R1 # пакет IP отладки 100 деталь

Отладка IP-пакетов включена (подробно) для списка доступа 100

Применение точной команды отладки только для трафика, генерируемого от одного устройства к другому, гарантирует, что маршрутизатор не использует слишком много циклов ЦП для генерации вывода отладки на консоль.Когда запрос ping отправляется с ПК Мелани на ПК Саймона, выходные данные отладки отображают успешный запрос ping.

В примере 4-16 показан пример списка доступа 100 для отладочных выходных данных, когда отправлено 5 пакетов ping.

ПРИМЕЧАНИЕ При отладке с использованием определенного списка доступа IP обязательно остановите все параметры отладки с помощью команды undebug all IOS перед удалением списков доступа IP; Маршрутизаторы Cisco IOS подвержены отказу, если список доступа удален до отключения параметров отладки.Например, выходные данные отладки не будут захвачены и отправлены на консоль, если список доступа не определен, но на него ссылается команда отладки (например, пакет debug ip 100, когда список доступа 100 не определен). Также помните, что значение по умолчанию, запретить, не разрешено специально, является поведением по умолчанию для списков доступа Cisco IOS. Убедитесь, что вы разрешаете только трафик, для которого вы заинтересованы в просмотре отладочных сообщений, как в примере, показанном на рисунке 4-3.

Пример 4-16 Ping Request

R1 # пинг 131.108.1.100

2d22h: IP: s = 131.108.2

100 (местный), d = 131

1

08,1

100

(Ethernet0 / 0), длина 100,

отправка

2d22h: тип ICMP = 8

код = 0

2d22h: IP: s = 131.108,2

100 (Ethernet0 / 0),

д

= 131

108

1.100 (Ethernet0 / 0),

лен 100, УЗО 3

2d22h: ICMP ty

.

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

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