Что такое ACL и как его настраивать. Настройка, применение и проверка расширенного именованного ACL-списка

Теоретическая часть.

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

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

Стандартный ACL

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

Router(config)#access-list № permit | deny source-address source-mask,

где № – целое число – номер списка доступа, source-address обозначает адрес источника пакета, source-mask – маска в инверсной форме, накладываемая на адрес, permit – разрешить прохождение пакета, deny – запретить прохождение пакета. Число № определяет принадлежность элемента списка доступа к определённому списку доступа с номером №. Первая команда access-list определяет первый элемент списка доступа, вторая команда определяет второй элемент списка доступа и т.д. Маршрутизатор обрабатывает каждый определённый в нём список доступа по элементам сверху вниз. То есть, если адрес source-address пакета с учётом маски удовлетворяет условию элемента списка, то дальнейшие элементы списка маршрутизатор не обрабатывает. Следовательно, для избежания лишней обработки, элементы, определяющие более общие условия, следует помещать в начале списка. Внутри маршрутизатора может быть определено несколько списков доступа. Номер стандартного списка должен лежать в диапазоне 1 – 99. Маска в списке доступа задаётся в инверсной форме, например маска 255.255.0.0 выглядит как 0.0.255.255.

Маршрутизаторы Cisco предполагают, что все адреса, не упомянутые в списке доступа в явном виде, запрещены. То есть в конце списка доступа присутствует невидимый элемент

Router(config)#access-list # deny 0.0.0.0 255.255.255.255

Так, если мы хотим разрешить только трафик от адреса 1.1.1.1 и запретить весь остальной трафик достаточно в список доступа поместить один элемент

Router(config)#access-list 77 permit 1.1.1.1 0.0.0.0.

Здесь предполагается, что мы организовали список доступа с номером 77.

Рассмотрим возможность применения стандартных списков доступа для диапазона адресов. Возьмём к примеру диапазон 10.3.16.0 – 10.3.31.255. Для получения инверсной маски можно вычесть из старшего адреса младший и получить 0.0.15.255. Тогда пример элемента списка можно задать командой

Router(config)#access-list 100 permit 10.3.16.0 0.0.15.255

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

Router(config-if)#ip access-group номер-списка-доступа in либо out

Cписок доступа может быть применён либо как входной (in) либо как выходной (out). Когда вы применяете список доступа как входной, то маршрутизатор получает входной пакет и сверяет его входной адрес с элементами списка. Маршрутизатор разрешает пакету маршрутизироваться на интерфейс назначения, если пакет удовлетворяет разрешающим элементам списка либо отбрасывает пакет, если он соответствует условиям запрещающих элементов списка. Если вы применяете список доступа как выходной, то роутер получает входной пакет, маршрутизирует его на интерфейс назначения и только тогда обрабатывает входной адрес пакета согласно элементам списка доступа этого интерфейса. Далее маршрутизатор либо разрешает пакету покинуть интерфейс либо отбрасывает его согласно разрешающим и запрещающим элементам списка соответственно. Так, созданный ранее список с номером 77 применяется к интерфейсу Ethernet 0 маршрутизатора как входной список командами

Router(config)#int Ethernet 0

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

Этот же список применяется к интерфейсу Ethernet 0 маршрутизатора как выходной список с помощью команд

Router(config-if)#ip access-group 77 out

Отменяется список на интерфейсе с помощью команды no

Router(config-if)# no ip access-group 77 out

Приступим к созданию более сложных списков доступа. Рассмотрим сеть на рисунке 1. Разрешим все пакеты, исходящие из сети 10.1.1.0 /25 (10.1.1.0 255.255.255.128) , но запретим все пакеты, исходящие из сети 10.1.1.128 /25 (10.1.1.128 255.255.255.128). Мы также хотим запретить все пакеты, исходящие из сети 15.1.1.0 /24 (15.1.1.0 255.255.255.0), за исключением пакетов от единственного хоста с адресом 15.1.1.5. Все остальные пакеты мы разрешаем. Списку дадим номер 2. Последовательность команд для выполнения поставленной задачи будет следующая

Router(config)#

Router(config)#access-list 2 permit 15.1.1.5 0.0.0.0

Router(config)#

Router(config)#

Отметим отсутсвие разрешающего элемента для сети 10.1.1.0 255.255.255.128. Его роль выполняет последний элемент access-list 2 permit 0.0.0.0 255.255.255.255.

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

1. Разрешить все пакеты, исходящие из сети 10.1.1.0 255.255.255.128.

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

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

3. Запретить все пакеты, исходящие из сети 15.1.1.0 255.255.255.0, за исключением пакетов от единственного хоста с адресом 15.1.1.5

Рисунок 9.1.

Это требование удовлетворяется второй и третьей строкой нашего списка доступа. Важно отметить, что список доступа осуществляет это требование не в том порядке как оно определено. Обязательно следует помнить, что список доступа обрабатывается сверху вниз и при первом совпадении обработка пакетов прекращается. Мы вначале требуем запретить все пакеты, исходящие из сети 15.1.1.0 255.255.255.0 и лишь затем разрешить пакеты с адресом 15.1.1.5. Если в командах, определяющих список доступа мы, переставим вторую и третью команды, то вся сеть 15.1.1.0 будет запрещена до разрешения хоста 15.1.1.5. То есть, адрес 15.1.1.5 сразу же в начале будет запрещён более общим критерием deny 15.1.1.0 0.0.0.255.

4. Разрешить все остальные пакеты

Последняя команда разрешает все адреса, которые не соответствуют первым трем командам.

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

1. Определить критерии и ограничения для доступа.

2. Воплотить их с помощью команд аccess-list, создав список доступа с определённым номером.

3. Применить список к определённому интерфейсу либо как входящий, либо как исходящий.

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

Конкретизируем политику безопасности для сети на рисунке 1. Наша цель создать политику для компьютера А (адрес 1.1.1.2 сеть 1.1.1.0/24), которая изо всех устройств локальной сети 15.1.1.0 /24 в которую входит компьютер С (15.1.1.5) разрешит доступ к компьютеру А лишь самого компьютера С. Мы также хотим создать политику, запрещающую удалённый доступ к компьютеру А из любого устройства локальной сети 10.1.1.128 / 25 компьютера D (10.1.1.133). Весь остальной трафик мы разрешаем. На рисунке 1 компьютер PC5 (15.1.1.5) играет роль произвольного отличного от компьютера С представителя локальной сети 15.1.1.0/24.

Размещение списка критично для воплощения такой политики. Возьмём созданный ранее список с номером 2. Если список сделать выходным на последовательном интерфейсе маршрутизатора 2, то задача для компьютера А будет выполнена, однако возникнут ограничения на трафик между другими локальными сетями. Аналогичную ситуацию получим, если сделаем этот список входным на последовательном интерфейсе маршрутизатора 1. Если мы поместим этот список как выходной на Ethernet A интерфейс маршрутизатора 1, то задача будет выполнена безо всяких побочных эффектов.

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

Со стандартным ACL вы можете указывать только адрес источника, а маска не обязательна. В расширенных ACL вы должны указать и адрес приёмника и адрес источника с масками. Можете добавить дополнительную протокольную информацию для источника и назначения. Например, для TCP и UDP разрешено указывать номер порта, а для ICMP разрешено указывать тип сообщения. Как и для стандартных ACL, можно с помощью опции log осуществлять лог.

Общая форма команды для формирования строки списка расширенного доступа

access-list access-list-number {permit | deny} protocol source source-wildcard destination destination-wildcard ,

где access-list-number -100-199|2000-2699, protocol - ip, icmp, tcp, gre, udp, igrp, eigrp, igmp, ipinip, nos и ospf. Для порта source-port или destination-port можно использовать номер порта или его обозначение bgp, chargen, daytime, discard, domain, echo, finger, ftp, ftp-data, gopher, hostname, irc, klogin, kshell, lpd, nntp, pop2, pop3, smtp, sunrpc, syslog, tacacs-ds, talk, telnet, time, uucp, whois и www. Operator это eq (равно), neq (не равно), gt (больше чем), lt (меньше чем), range (указывается два порта для определения диапазона).

Как и для стандартных ACL расширенный ACL следует привязать к интерфейсу либо для входящего на интерфейс трафика

Router(config-if)# ip access-group №ACL in

либо для выходящего из интерфейса трафика

Router(config-if)# ip access-group №ACL оut

здесь №ACL - номер списка.

Примеры элементов расширенного ACL

Разрешить SMTP отовсюду на хост

Router(config)# access-list 111 permit tcp any host 172.17.11.19 eq 25

Разрешить телнет отовсюду на хост

Router(config)# access-list 111 permit tcp any host 172.17.11.19 eq 23

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

Именованные ACL

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

Router(config)# ip access-list extended ACL_name

Router(config-ext-nacl)# permit|deny IP_protocol source_IP_address wildcard_mask destination_IP_address wildcard_mask

Для завершения создания списка следует дать команду exit.

Имя именованного списка чувствительно к регистру. Команды для создания неименованного списка аналогичные командам для создания элементов нумерованного списка, но сам процесс создания отличен. Вы должны использовать ключевое слово ip перед главным ACL оператором и тем самым войти в режим конфигурации именно для этого именованного списка. В этом режиме вы начинаете с ключевых слов permit или deny и не должны вводить access-list в начале каждой строки.

Привязка именованных ACL к интерфейсу осуществляется командой

Router(config)# interface type port_№

Router(config-if)# ip access-group ACL_name in|out

ACL обрабатываются сверху вниз. Наиболее часто повторяющийся трафик должен быть обработан в начале списка. Как только обрабатываемый списком пакет удовлетворяет элементу списка, обработка этого пакета прекращается. Стандартные ACLs следует помещать ближе к точке назначения, где трафик должен фильтроваться. Выходные (out) расширенные ACLs следует помещать как можно ближе к источнику фильтруемых пакетов, а входные следует помещать ближе к точке назначения, где трафик должен фильтроваться.

Именованный ACLs разрешает вам себя редактировать. Для этого надо набрать команду, которая была использована для его создания

Router(config)# ip access-list extended ACL_name

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

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

Практическая часть.

1. Загрузим в симулятор топологию, изображённую на рисунке 2.

Рисунок 9.2.

Назначим адреса интерфейсам (маска 255.255.255.240) согласно таблице. Не забудьте на DCE устройстве последовательного соединения задать синхронизацию.

Router2 Router1 Router4
Ethernet 24.17.2.2 24.17.2.1
Serial 24.17.2.17 24.17.2.18

Осуществим конфигурацию RIP маршрутизации

Router1(config)#router rip

Router1(config- router)#version 2

Router1(config- router)#network 24.0.0.0

Router2(config)#router rip

Router1(config- router)#version 2

Router2(config- router)#network 24.0.0.0

Router4(config)#router rip

Router1(config- router)#version 2

Router4(config- router)#network 24.0.0.0

Проверьте свою сеть с помощью команды ping и, в частности, что вы можете пинговать интерфейс Ethernet0 (24.17.2.2) маршрутизатора 2 из маршрутизатора 4

Router4#ping 24.17.2.2

Создадим стандартный список доступа, который не позволит пинговать маршрутизатор 2 из маршрутизатора 4. Для этого блокируем единственный адресс 24.17.2.18 маршрутизатора 4 и разрешим остальной трафик. Список создадим на маршрутизаторе 2 командами

Router2(config)#access-list 1 deny 24.17.2.18 0.0.0.0

Router2(config)#access-list 1 permit 0.0.0.0 255.255.255.255

Router2(config)#interface FastEthernet0/0

Router2(config-if)#ip access-group 1 in

Проверим, что список доступа запущен. Для этого просмотрим работающую конфигурацию

Router2#show running-config

Мы также можем видеть, что список применён к интерфейсу, используя команду “show ip interface”. Найдите в выводимой информации с строку “Innbound access list is 1”.

Router2#show ip interface

Команда “show access-lists” покажет нам содержимое созданного списка доступа.

Router2#show access-lists

Отметим, что host 24.17.2.18 равносильно 24.17.2.18 0.0.0.0. Теперь при попытке пинговать интерфейс Ethernet0 (24.17.2.2) роутера 2 из роутера 4

Router4#ping 24.17.2.2

Получим строку “UUUUU”, которая означает, что список доступа работает корректно.

  1. Создадим и загрузим в симулятор топологию на рисунке 2,

Рисунок 9.3.

Назначим адреса интерфейсам (маска 255.255.255.0) согласно таблице

Router2 Router1 Router3 Router4
Ethernet 0 160.10.1.2 160.10.1.1 175.10.1.2 180.10.1.2
Ethernet 1 175.10.1.1 180.10.1.1

Осуществим конфигурацию OSPF маршрутизации

Router1(config)#router ospf 1

Router1(config- router)#

Router1(config- router)#

Router2(config)#router ospf 1

Router2(config- router)#network 160.10.1.0 0.0.0.255 area 0

Router3(config) #router ospf 1

Router3(config- router)#network 175.10.1.0 0.0.0.255 area 0

Router3(config- router)#

Router4(config)#router ospf 1

Router4(config- router)#network 180.10.1.0 0.0.0.255 area 0

Для проверки пропингуйте крайние точки

router2#ping 180.10.1.2

router4#ping 160.10.1.2

Создадим стандартный список доступа для фильтрации трафика, приходящего на интерфейс ethernet0 1-го маршрутизатора router1 и разрешает трафик от подсети 175.10.1.0 (router3) и блокирует трафик от других устройств.

router1(config)#access-list 1 permit 175.10.1.0 0.0.0.255

Проверьте, что он создался

router1#show access-list

router1(config)#interface FastEthernet1/0

router1(config-if)#ip access-group 1 in

router1#show running-config

Проверьте связь между 3 и 2 маршрутизаторами и между 4 и 2 .

router3# ping 160.10.1.2

router4# ping 160.10.1.2

Связь между 3 и 2-м роутерами должна быть, а между 4 и 2 - нет.

Изменим список доступа и разрешим трафик от подсети 180.10.1.0 (router4) и блокируем трафик от других устройств.

router1(config)# no access-list 2

router1(config)# access-list 2 permit 180.10.1.0 0.0.0.255

Проверьте, что он изменился

router1#show access-list

Присоедините список как входной к интерфейсу Ethernet 1

router1(config)#interface FastEthernet1/0

router1(config-if)#ip access-group 1 in

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

router1#show running-config

Проверьте связь между 3 и 2 маршрутизаторами и между 4 и 2.

router3# ping 160.10.1.2

router4# ping 160.10.1.2

Связь между 4 и 2-м роутерами должна быть, а между 3 и 2 - нет.

3. Осуществите и проверьте конфигурацию IP для сети на рисунке 1 и примените OSPF для организации динамической маршрутизации.

Для маршрутизатора router 1

router1(config)#router ospf 1

router1(config-router)#

router1(config-router)#network 1.1.1.0 0.0.0.255 area 0

router1(config-router)#network 10.1.1.0 0.0.0.127 area 0

Для маршрутизатора router 2

Router2(config)#router ospf 1

Router2(config-router)#network 10.1.1.128 0.0.0.127 area 0

Router2(config-router)#network 15.1.1.0 0.0.0.255 area 0

Router2(config-router)#network 2.2.2.0 0.0.0.255 area 0

Проверте работоспособность сети: вы должны из любого устройства пинговать любой интерфейс. Или проще: все компьютеры A, B, C, D, PC5 должны взаимно попарно пинговаться.

Создадим список доступа из теоретической части

3.1 На маршрутизаторе router 1 создадим список доступа

router1(config)#access-list 2 deny 10.1.1.128 0.0.0.127

router1(config)#access-list 2 permit host 15.1.1.5

router1(config)#access-list 2 deny 15.1.1.0 0.0.0.255

router1(config)#access-list 2 permit 0.0.0.0 255.255.255.255

и применим его к интерфейсу Ethernet0 как выходной

router1(config)#interface FastEthernet0/0

router1(config-if)#ip access-group 2 out

Создать скриншот результата выполнения команды

router1#show access-list

Из\В A B C E D
A + + + - -
B + + + + +
C + + + + +
E - + + + +
D - + + + +

Таблица 1

Видим, что политика безопасности из теоретической части полностью реализована.

3.2 Удалим ACL c интерфейса е0 и применим как входной к интерфейсу s0

router1(config)#interface fa0/0

router1(config-if)#no ip access-group 2 out

router1(config-if)#int s2/0

router1(config-if)#ip access-group 2 in

Попарно пропингуем A, B, C, PC5, D. В результате должна получиться следующая матрица доступа

Из\В A B C E D
A + + + - -
B + + + - -
C + + + + +
E - - + + +
D - - + + +

Таблица 2

Видим, что теперь трафик между сетями 10.1.1.0/25 и 10.1.1.128/25 запрещен. Невозможен также трафик между сетью 10.1.1.0/25 и сетью 15.1.1.0/24 за исключением компьютера С с адресом 15.1.1.5.

4. Используем топологию и конфигурацию пункта 1 этой лабораторной работы

Отменим конфигурацию доступа, сделанную в пункте 1

Router2(config)#no access-list 1 deny 24.17.2.18 0.0.0.0

Router2(config)#no access-list 1 permit 0.0.0.0 255.255.255.255

Применим список к интерфейсу Ethernet маршрутизаторе 2

Router2(config)#interface fa0/0

Router2(config-if)#no ip access-group 1 in

Разрешим заходить на router1 телнетом на его два интерфейса с паролем router1

Router1(config)#line vty 0 4

Router1(config-line)#login

Router1(config-line)#password router1

Наши EACL будут делать пару различных вещей. Первое мы разрешим только телнет из подсети последовательного соединения 24.17.2.16/240 для входа на router1

router1(conf)#access-list 101 permit tcp 24.17.2.16 0.0.0.15 any eq telnet log

Опция log заставит маршрутизатор показывать выход при срабатывании списка доступа.

Разрешим на маршрутизаторе router1 весь трафик из Ethernet 0 подсети 24.17.2.0/240

router1(conf)#access-list 102 permit ip 24.17.2.0 0.0.0.15 any

Проверим установку списков

router1#show access-list

Теперь применим списки к интерфейсам для входящих пакетов

router1(conf)# interface Serial2/0

router1(conf-if)# ip access-group 101 in

router1(conf-if)# interface fa0/0

router1(conf-if)# ip access-group 102 in

Для проверки, что EACL присутствуют на интерфейсах, используйте команду

router1#show running-config

router1#show ip interface

Проверим функционирования EACL. Присоединимся к router4 и попытаемся безуспешно пропинговать интерфейс Serial2/0 на router1

router4#ping 24.17.2.17

EACL номер 101 блокировал ping. Но должен разрешить telnet

router4#telnet 24.17.2.17

Успешно. Введём пароль router1. Промпт router4# изменился на router1>. Нажав одновременно ctrl-shift-6 и затем 6, вернёмся на router4. О срабатывании EACL 101 на router1 нам укажет лог

Посмотрим номер сессии и убьём телнет соединение

router4#show sess

router4# disconnect 1

Присоединимся к router2 и посмотрим, можем ли мы пропинговать интерфейс Serial0 на router4.

Router2# ping 24.17.2.18

Почему неудачно? Пакет стартует в Router2, идёт через Router1 (о срабатывании EACL 102 на router1 нам укажет лог

) и приходит на Router4. На Router4 он переформируется и отсылается обратно к Router1. Когда Router4 переформирует пакет, адрес источника становится адресом приёмника и адрес приёмника становится адресом источника. Когда пакет приходит на интерфейс Serial0 на router1 он отвергается, так как его адрес источника равен IP адресу интерфейса Serial0 на router4 24.17.2.17, а здесь разрешён лишь tcp.

Присоединимся к router2 и посмотрим, можем ли мы пропинговать интерфейс Ethernet0 на router1.

router2#ping 24.17.2.1

Успешно. Аналогично и для телнета

router2#telnet 24.17.2.1

EACL работают успешно. О срабатывании EACL 102 на router1 нам укажет лог.

Заметим, что лог так же постоянно показывает RIP обновления

5. Именованные ACL

Отменим на router1 привязку EACL к интерфейсам

router1(conf)# interface Serial0

router1(conf-if)# no ip access-group 101 in

router1(conf-if)# interface Ethernet0

router1(conf-if)#no ip access-group 102 in

и отменим на router1 EACL

router1(conf)#no access-list 101

router1(conf)#no access-list 102

Поставим задачу запретить по всей сети лишь пинги от router4 на router2. Список доступа можно расположить и на router1 и на router2. Хотя рекомендуют располагать ACL ближе к источнику (для сокоащения трафика), в этом примере расположим именованный список с именем deny_ping на router2.

router2(config)#ip access-list extended deny_ping

router2(config-ext-nacl)#deny icmp 24.17.2.18 0.0.0.0 24.17.2.2 0.0.0.0 log

router2(config- ext-nacl)# permit ip any any log

Первая команда указывает, что мы создаём именованный расширенный список доступа с именем deny_ping. Вторая команда указывает на запрещение ICMP трафика с адресом источника строго 24.17.2.18 и адресом приёмника строго 24.17.2.2. Третья команда разрешает остальной IP трафик.

Проверим создание списка

router2#show access-list

Всё правильно, мы видим в первой строке просто другую форму представления команды deny icmp 24.17.2.18 0.0.0.0 24.17.2.2 0.0.0.0 log.

Применим список для входного трафика интерфейса Ethernet0 на router2

Router2(conf)#interface Ethernet0

Router2(conf-if)#ip access-group deny_ping in

Присоединимся к router4 и пропингуем роутер2

router4#ping 24.17.2.2

Неудача. Присоединимся к router1 и пропингуем роутер2

Router1#ping 24.17.2.2

Успех. Присоединимся к router2 и посмотрим на два отдельных лог-сообщения: первое о запрещении пинга от router4 и второе о разрешении пинга от router1

6. Рассмотрим более сложные вопросы расширенных списков доступа. Создадим топологию

.

Рисунок 9.4.

Используйте коммутаторы модели 1912. Маршрутизатор Router1 - модели 805. Маршрутизатор Router2 - модели 1605.

Назначим IP адреса маршрутизаторам

На Router1 и Router2 конфигурируем RIP

Router(config)#router rip

Router(config-router)#network 1.0.0.0

Интерфейсы всех устойств должны пинговаться со всех устройств.

6.1. Список доступа сеть-сеть.

Создадим список, который разрешает трафик от локальной сети компьютеров PC4 и PC5 в локальную сеть компьютера PC1 и запрещает трафик от локальной сети компьютеров PC2 и PC3 в локальную сеть компьютера PC1. Так как трафик приходит от router2 к router1 , то следует поместить список доступа на интерфейс serial2/0 router1 для входного трафика

Router1(conf)#access-list 100 permit ip 1.1.1.0 0.0.0.127 1.1.3.0 0.0.0.255 log

Router1(conf)#access-list 100 permit ip 1.1.2.0 0.0.0.255 any log

Первая команда непосредственно решает поставленную задачу, а вторая разрешает широковещание RIP протоколов. Проверим создание

Router1#show access-list

Применим список доступа к интерфейсу.

Router1(conf)# interface Serial2/0

Router1(conf-if)# ip access-group 100 in

Для тестирования списка доступа, попытайтесь пропинговать PC1 от PC2, PC3, PC4 и PC5.

PC#Ping 1.1.3.2

Для PC2 и PC3 пинги не пойдут. Для PC4 и PC5 пинги пойдут. Список доступа работает. Посмотрите логи на router1

6.2. Список доступа хост-хост.

Создадим на router2 список доступа, который блокирует доступ к PC5 только с PC2. Контролировать попытки доступа можно по логам на router2.

Router2(conf)#access-list 101 deny ip 1.1.1.130 0.0.0.0 1.1.1.3 0.0.0.0 log

Router2(conf)# access-list 101 permit ip any any

Проверим создание

Router2#show access-list

Применим список доступа к fast Ethernet интерфейсу router2

Router2(conf)#interface FastEthernet0/0

Router2(conf-if)#ip access-group 101 in

Присоединитесь к PC2 и проверьте, что вы не можете пиновать PC5

PC2# Ping 1.1.1.3

На router2 появится лог

Присоединитесь к PC3 и проверьте, что вы можете пиновать PC5.

PC3# Ping 1.1.1.3

На router2 появится лог

6.3. Список доступа сеть-хост.

Вначале удалим предыдущие списки доступа с интерфейсов Router1 и Router2.

Router1(conf)#interface Serial2/0

Router1(conf-if)#no ip access-group 100 in

Router2(conf)#interface FastEthernet0/0

Router2(conf-if)#no ip access-group 101 in

Создадим расширенный список доступа, который блокирует весь трафик к PC1 из локальной сети компьютеров PC2 и PC3. Так как мы блокируем весь трафик, то будем использовать IP протокол.

Router2(conf)#access-list 102 deny ip 1.1.1.128 0.0.0.127 1.1.3.2 0.0.0.0 log

Router2(conf)#access-list 102 permit ip any any

Проверим создание

Router2#show access-list

Применим список к исходящему трафику на интерфейсе Serial2/0 Router2

Router2(conf)#interface Serial2/0

Router2(conf-if)#ip access-group 102 out

Для проверки списка попытайтесь пропинговать PC1 (1.1.3.2) из PC2 и PC3. Пинги не пройдут. Симулятор почему-то не даёт лог на консоли Router2. Но эффект выможете увидеть так

Вы видите после каждого неудачного пинга количество отслеженных (matches) пакетов возрастает.

Контрольные вопросы

1. Что такое ACL?

2. Какой адрес является критерием для разрешения/запрещения пакета?

3. Где применяются ACL?

4. Как задать элемент ACL и что такое инверсная маска?

5. Как роутер обрабатывает элементы ACL?

6. Какой элемент всегда неявно присутствует в ACL?

7. Как ACL применить к интерфейсу и затем его отменить?

8. Чем отличается входной ACL от выходного?

10. Какими тремя командами можно проверить содержимое ACL и привязку к интерфейсу.

11. Что фильтруют расширенные ACL?

12. Какую дополнительную функциональность имеютрасширенные ACL по сравнению со стандартными?

13. Можно ли, используя расширенные ACL, наложить ограничения на трафик к определённой TCP/IP службе?

14. Опишите процедуру создания именованного ACL.

15. Как отредактировать конкретную строку в числовом ACL?

16. Как отредактировать конкретную строку в именованном ACL?

17. Чем отличается форматы команд для ввода элементов числового и именованного ACL?


Похожая информация.


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

В распоряжении имеем:

Задача: ограничить соединения, проходящие через маршрутизатор.

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

Логика устройства такова, что сначала мы показываем маршрутизатору трафик, который нам интересен, а затем указываем что маршрутизатор должен с ним сделать. Например, в одном случае список доступа будет указывать адрес, с которого возможен удаленный доступ к маршрутизатору по протоколу SSH , а в другом будет указывать маршрут, который будет распространен с помощью протокола динамической маршрутизации.

Ограничение удаленного доступа к маршрутизатору

Пример access list , который используется для ограничения удаленного доступа к консоли маршрутизатора только с определенных ip адресов. В нашем случае – адрес рабочей станции администратора.
Создаем список доступа ACL_REMOTE_ACCESS
R-DELTACONFIG(config)#
ip access-list standard ACL_REMOTE_ACCESS
permit ip host 192.168.0.100

Привязываем access list для ограничения доступа к удаленному управлению маршрутизатором только с адреса 192.168.0.100
R-DELTACONFIG(config)#
line vty 0 4
access-class ACL_REMOTE_ACCESS in

Важно!
Будьте осторожны и внимательно все проверьте перед применением. Ошибку можно будет исправить только подключившись или сбросив настройки маршрутизатора до заводских.

Ограничение доступа в Интернет

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

Создаем следующий список доступа ACL_INSIDE_IN и последовательно вводим правила доступа:
R-DELTACONFIG(config)#
ip access-list extended ACL_INSIDE_IN

доступ DNS сервера в Интернет
permit udp host 192.168.0.201 any eq 53
permit tcp host 192.168.0.201 any eq 53

доступ Прокси сервера в Интернет
permit tcp host 192.168.0.202 any eq 80
permit tcp host 192.168.0.202 any eq 443

полный доступ администратора
permit ip host 192.168.0.100 any
разрешение Ping для всей локальной сети
permit icmp 192.168.0.0 0.0.0.255 any
запрет иных подключений
deny ip any any log

Важно!
Обратите внимание на то, как записана строчка правила для протокола ICMP (Ping ). В списках доступа на маршрутизаторах Cisco маска подсети пишется в обратном виде: не 255.255.255.0, а 0.0.0.255

После привязываем список доступа ко внутреннему интерфейсу Vlan 1 в направлении «внутрь маршрутизатора» (параметр in ). Собственно, направление привязки всегда считается относительно устройства Cisco . Для удобства интерфейс и направление трафика указано в названии самого списка доступа: ACL_INSIDE_IN — фильтр трафика, входящего во внутренний интерфейс.
R-DELTACONFIG(config)#
interface Vlan 1
ip access-group ACL_INSIDE_IN in

С этого момента доступ наружу будет осуществляться в соответствии с примененным access list при условии, что корректно настроена трансляция адресов (NAT ). Как это делается описано в про настройку доступа в интернет с помощью маршрутизатора Cisco.

Проверка работы access list

Проверить работу списка доступа можно посмотрев статистику срабатываний правил. После привязки списка доступа ACL_INSIDE_IN к интерфейсу Vlan 1 запустите Ping с любой из рабочих станций сети до любого адреса в Интернет (например до www.yandex.ru ), а затем выполните из привилегированного режима (знак # рядом с названием устройства) команду show access-lists . Результат должен показывать количество срабатываний каждой из строк списка доступа:
sh access-lists
Extended IP access list ACL_INSIDE_IN

60 permit icmp any any (4 estimate matches)
70 deny ip any any log

Важные аспекты использования списков доступа (access list )

  • Список доступа состоит из строк – правил, показывающих определенный трафик
  • Список доступа, привязанный к интерфейсу, ограничивает проходящие через этот интерфейс пакеты.
  • Список доступа может быть привязан к интерфейсу в одном из направлений: входящем или исходящем.
  • В списках доступа может быть указан или только источник соединения (standard, пример ограничения доступа по SSH ) или источник и назначение соединения(extended, пример ограничения доступа в Интернет).
  • Не может быть привязано более одного списка доступа к одному интерфейсу в одном направлении. Все необходимые правила должны быть указаны только в одном привязанном списке доступа.

Ограничение доступа из сети Интернет

Создаем список доступа ACL_OUTSIDE_IN для внешнего интерфейса. В нем указываем лишь то, что внешний интерфейс должен отвечать на ping , а все остальные запросы отклонять.
R-DELTACONFIG(config)#

permit icmp any interface //разрешение Ping
deny ip any any log //запрет иных подключений

Привязываем список доступа ко внешнему интерфейсу.
R-DELTACONFIG(config)#
interface FastEthernet 4
ip access-group ACL_OUTSIDE_IN in

Важно!
Все новые правила, которые потребуются для доступа изнутри или снаружи, следует добавлять в соответствующие списки доступа ДО строчки
deny ip any any log
Если какая-то строчка с разрешением окажется в списке после запрещающей, то она не будет хоть как-то влиять на трафик, так как маршрутизатор обрабатывает строки access list последовательно до первого совпадения.
Для изменения access list удобно зайти в сам список доступа, добавить все нужные разрешения, а после этого удалить последнюю строку (deny ip any any log ) и тут же ее добавить. Выполняя это нехитрое правило запрещающая строка всегда будет в самом конце списка, а все правила будут идти в порядке добавления снизу вверх. Для наглядности разрешим доступ к маршрутизатору извне по протоколу http (TCP порт 80)
R-DELTACONFIG(config)#
ip access-list extended ACL_OUTSIDE_IN
permit tcp any interface eq 80
no deny ip any any log
deny ip any any log

Разрешение ответного трафика

После привязки списка доступа ACL_OUTSIDE_IN пропадает весь доступ из локальной сети ко всем ресурсам по любым протоколам кроме Ping . Это происходит из-за того, что фильтрующие трафик правила применяются и на внутреннем (ACL_INSIDE_IN ) и на внешнем (ACL_OUTSIDE_IN ) интерфейсах.
Для того, чтобы проходили все обратные пакеты на запросы из локальной сети указываем протоколы для функции Inspect .
R-DELTACONFIG(config)#
ip inspect name Internet http
ip inspect name Internet https
ip inspect name Internet dns
ip inspect name Internet icmp

Привязываем правило инспектирования ко внешнему интерфейсу.
R-DELTACONFIG(config)#
interface FastEthernet 4
ip inspect Internet out

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

Надеюсь, что статья поможет Вам лучше понять принцип работы списков доступа. К сожалению эту достаточно простую тему очень сложно описать простым языком. Если у Вас возникли вопросы или какой-то момент остался неясным, напишите мне на адрес [email protected] или оставьте свой вопрос в комментариях.

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

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

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

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

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

Access-list 10 deny host 172.16.30.2 – запретить ip источника access-list 10 permit any - разрешить всё

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

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

Acсess-list 110 deny tcp any host 172.16.30.2 eq 22 - запретить tcp от всех на хост с портом 22 access-list 110 deny ip 192.168.160.0 0.0.31.255 any - запретить ip от сети по шаблону на всех access-list 110 permit ip any any - разрешить всё

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

conf t - переход в режим конфигурирования int fa 0/0 - переход к интерфейсу FastEthernet0/0 ip access-group 110 in - применить ACL 110 на вход ip access-group 120 out - применить ACL 120 на выход

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

conf t - переход в режим конфигурирования line vty 0 4 - переход к линиям vty с 0 по 4 access-class 10 in - применить ACL 10 на вход

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

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

Ip access-list extended INET - создать список с именем INET deny tcp any host 172.16.30.2 eq 22 - запретить tcp от всех на хост с портом 22 deny ip 192.168.160.0 0.0.31.255 any - запретить ip от сети по шаблону на всех permit ip any any - разрешить всё

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

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

Router# sh access-list INET Extended IP access list INET 10 deny tcp any host 172.16.30.2 eq 22 (150 matches) 20 deny ip 192.168.160.0 0.0.31.255 any (4 matches) 30 permit ip any any (1556 matches)

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

Router(conf)# ip access-list extended INET router(config-ext-nacl)# 5 permit ip host 10.10.10.10 any router(config-ext-nacl)# 223 deny ip host 1.1.1.1 any router(config-ext-nacl)# end router# sh access-list INET Extended IP access list INET 5 permit ip host 10.10.10.10 any 10 deny tcp any host 172.16.30.2 eq 22 (150 matches) 20 deny ip 192.168.160.0 0.0.31.255 any (4 matches) 30 permit ip any any (1556 matches) 223 deny ip host 1.1.1.1 any

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

Router(conf)# ip access-list extended INET router(config-ext-nacl)# no permit ip host 10.10.10.10 any

Router(config-ext-nacl)# no 223

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

Router(conf)# no ip access-list extended INET

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

permit icmp vs. permit ip

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

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

Отладка IP ACL

Vlan-ACL (VACL)

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

1. VLAN map for input VLAN10

2. Input router ACL / int VLAN10

3. routing VLAN10 to VLAN 20

4. Output router ACL / int VLAN20

5. VLAN map for output VLAN20

ip access-list extended WIFIHOSTEL permit ip 10.12.0.0 0.0.255.255 host 212.192.64.2 permit ip host 212.192.64.2 10.12.0.0 0.0.255.255 deny ip any any ! vlan access-map WIFIHOSTEL 10 match ip address WIFIHOSTEL action forward ! vlan filter WIFIHOSTEL vlan-list 534

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

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

Введение

Итак представим, что наша небольшая локальная сеть создана, и в ней в качестве активного оборудования используется маршрутизатор 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 ] {deny | permit} protocol source source-wildcard destination destination-wildcard ICMP access-list access-list-number ] {deny | permit} icmp source source-wildcard destination destination-wildcard | ] TCP access-list access-list-number ] {deny | permit} tcp source source-wildcard ] destination destination-wildcard ] UDP access-list access-list-number ] {deny | permit} udp source source-wildcard ] destination destination-wildcard ] cisco.com

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

Заключение

Списки контроля доступа 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-план и схема прилагаются.

По традиции для тех кто будет собирать эту схему 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 accessSwitch(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 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 - описание интерфейса dot1q 2 - тегируем 2 VLAN"ом Router(config-subif)#ip address 172.16.0.1 255.255.255.0 - задаем шлюз по-умолчанию для Админа Router(config-subif)#exit - настраиваем сабинтрфейс для подсети Серверов 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.3Router(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-серверу:

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



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: