А.4.3.12 Примеры стандартных списков управления доступом
Как было описано ранее, для определения списка с номером используется
стандартная команда установки конфигурации access-list. Она
используется в командном режиме задания глобальной конфигурации.
Рис. А.11. Пакеты, поступающие с интерфейса Е0 проверяются на
соответствие адресу источника и протоколу
Полная форма команды имеет вид:
Router(config)# access-list номер-списка {permit | deny}
source
[шаблон-источника] [log]
Для удаления стандартного списка управления доступом используется форма
этой команды с ключевым словом nо:
Router(config)# no access-list номер-списка
Ниже приводится описание параметров, используемых в команде (табл.
А.13).
Таблица А.13. Параметры, используемые в команде access-list
Параметр |
Описание |
номер – списка |
Номер списка управления доступом.
Представляет собой десятичное целое число от 1 до 99 (для
стандартных IP-списков) |
deny |
Отказ в доступе, если условие
выполнено |
permit |
Разрешение доступа, если условие
выполнено |
source |
Номер сети или хоста, с которого
посылается пакет. Источник можно указать двумя способами:
- использовать 32-битовую величину в точечно-десятичном формате,
состоящем из четырех частей;
- использовать ключевое слово any в качестве аббревиатуры
для источника и шаблона источника с адресами в диапазоне от
0.0.0.0 до 255.255.255.255 |
шаблон источника |
(Необязательный). Биты
шаблона, применяемые к источнику. Существует два способа указать
шаблон источника:
- использовать 32-битную величину в точечно-десятичном формате,
состоящем из четырех частей. Если какие-либо биты нужно
игнорировать, то в них следует записать единицы.
- использовать ключевое слово any в качестве аббревиатуры
для источника и шаблона источника с адресами в диапазоне от
0.0.0.0 до 255.255.255.255. |
log |
(Необязательный). Вызывает
появление информационного сообщения о регистрации в системном
журнале (logging message) пакета, который удовлетворяет
ссылке, которая будет послана на консоль.
(Уровень сообщений записываемых на консоль, задается командой
logging console).
Это сообщение включает в себя номер списка управления доступом,
указывает, было ли дано пакету разрешение на доступ, адрес
источника и количество пакетов Данное сообщение генерируется для
первого пакета, удовлетворяющего условию, а затем генерируется с
пятиминутным интервалом, при этом также сообщается количество
пакетов, которым было разрешено или отказано в доступе за
предыдущий пятиминутный интервал. |
Для отображения на экране содержания всех списков используется команда
show accesslists. Она может использоваться и для
отображения одного списка.
В приведенном ниже примере стандартный список разрешает доступ хостам
трех указанных сетей:
access-list I permit 192.5.34.0 0.0.0.255
access-list 1 permit 128.88.0.0 0.0.255.255
access-list 1 permit 36.0.0.0 0.255.255.255
(Примечание: доступ от остальных сетей неявно заблокирован)
В этом примере биты шаблона применяются только к части сетевого адреса,
относящейся к хосту. Любому другому хосту с адресом источника, не
соответствующим этим директивам, будет отказано в доступе.
При необходимости указать большое число индивидуальных адресов шаблон
можно опустить, если все его биты равны нулю. Приведенные ниже две
команды установки конфигурации эквивалентны:
access-list 2 permit 36.48.0.3
access-list 2 permit 36.48.0.3 0.0.0.0
Команда ip access-group применяет уже существующий список
управления доступом к интерфейсу. Отметим, что для каждого порта,
протокола и направления допускается только один список. Команда имеет
следующий формат:
Router (config) # ip access-group номер-списка {in | out}
Параметры команды имеют следующее значение (табл. А.14).
Таблица А.14. Параметры, используемые в команде ip access-group
Параметр |
Описание |
номер - списка |
Указывает номер списка управления
доступом, который будет логически связан с данным интерфейсом. |
in | out |
Показывает, к какому из
интерфейсов будет применяться список управления доступом - к
входному или выходному. Если ни одно из значений in,
out не указано, то по умолчанию принимается out. |
Примечание.
Для удаления списка необходимо сначала ввести команду no ip access-group
с номером списка для каждого интерфейса, на котором он использовался, а
затем команду no access-list(с номером списка).
Рассмотрим примеры стандартных конфигураций списков управления доступом,
относящиеся к сети, показанной на рис. А.12. В первом примере
разрешается передача от сети-источника 172.16.0.0. Во втором
примере отказано в передаче хосту с сетевым адресом 172.16.4.13 и
разрешена передача данных всех остальных хостов. В третьем примере
отказано в передаче подсети с сетевым адресом 172.16.4.0 и
разрешена передача всех остальных данных.
Пример 1 стандартного списка управления доступом: разрешение передачи
данных из сети-источника.
В листинге 1 список управления доступом разрешает передачу данных только
от сети источника с номером 172.16.0.0. Передача всех остальных
данных заблокирована. На рис. А.12 показано, как список управления
доступом разрешает передачу только от сети-источника 172.16.0.0 и
блокирует передачу от всех остальных источников.
Рис. А.12. Эта сеть представляет собой пример соединения двух
подсетей маршрутизатором
Листинг 1. Разрешение передачи от сети-источника 172.16.0.0
access-list I permit 172.16.0.0 0.0.255.255
(неявно отказывается в доступе всем остальным; в тексте это не
отображается)
(access-list I deny 0.0.0.0 255.255.255.255)
interface ethernet 0
ip access-group 1 out
interface ethernet 1
ip access-group 1 out
Ниже описаны отдельные поля листинга 1 (табл. А.15).
Таблица А.15. Отдельные поля листинга 1.
Поле |
Описание |
1 |
Номер списка управления доступом,
в данном случае указывается, что это обычный список. |
permit |
Поток данных, удовлетворяющий
выбранным параметрам, будет направлен дальше. |
172.16.0.0 |
IP-адрес, который будет
использован вместе с шаблоном маски для определения
сети-источника. |
0.0.255.255 |
Шаблон маски, нули указывают
позиции, которые должны соответствовать условиям, в то время как
единицы указывают позиции, значение которых не влияет на
предоставление доступа. |
Команда ip access-group в листинге 1 создает группу списка
на выходном интерфейсе.
Пример 2 стандартного списка управления доступом: отказ в доступе
конкретному хосту.
В листинге 2 показано, как создать список, блокирующий передачу с адреса
172.16.4.13, а весь остальной поток направить на интерфейс
Ethernet 0. Первая команда access-list отказывает в передаче
указанному хосту, используя параметр deny. Маска адреса
0.0.0.0 в этой строке указывает на необходимость проверки всех
битов.
Листинг 2. Отказ в доступе конкретному хосту
access-list 1 deny 172.16.4.13 0.0.0.0
access-list 1 permit 0.0.0.0 255.255.255.255
(неявно отказывается в доступе всем остальным; в тексте это не
отображается) (access-list I deny 0.0.0.0 255.255.255.255)
interface ethernet 0
ip access-group 1
Ниже описаны отдельные поля листинга 2 (табл. А.16).
Таблица А.16. Отдельные поля листинга 2.
Поле |
Описание |
1 |
Номер списка управления доступом,
в данном случае указывается, что это обычный список. |
deny |
Поток данных, удовлетворяющий
выбранным параметрам, не будет отправлен дальше. |
host |
Сокращение для шаблона маски
0.0.0.0. |
permit |
Поток данных, удовлетворяющий
выбранным параметрам, будет направлен дальше. |
0.0.0.0 |
IP-адрес хоста-источника, нули
используются для указания знакоместа (placeholder). |
255.255.255.255 |
Шаблон маски, нули указывают
позиции, которые должны соответствовать условиям, в то время как
единицы указывают позиции, значение которых не влияет на доступ.
Если все позиции заполнены единицами, то это означает, что все
32 бита в адресе источника не будут проверяться. |
Во второй команде access-list комбинация 0.0.0.0
255.255.255.255 задает шаблон маски, которая пропускает пакеты от
любого источника. Она также может быть записана с использованием
ключевого слова any. Все нули в адресе указывают на необходимость
подстановки на это место адреса и его проверки, а все единицы в шаблоне
маски указывают, что все 32 бита в адресе источника не будут
проверяться.
Любой пакет, не отвечающий условиям первой строки списка, будет
удовлетворять условиям второй строки и направлен далее.
Пример 3 стандартного списка управления доступом: отказ в доступе
конкретной подсети.
В листинге 3 показана установка конфигурации списка управления доступом,
которая блокирует передачу данных из подсети 172.16.4.0, а все
остальные потоки данных направляет дальше. Следует обратить внимание на
шаблон маски, записанный в виде: 0.0.0.255. Нули в первых трех
октетах указывают на то, что эти биты не принимаются во внимание. Для
IP-адреса источника использовано ключевое слово any.
Листинг 3. Блокировка данных с конкретной подсети.
access-list 1 deny 172.16.4.0 0.0.0.255
access-list 1 permit any
(неявный отказ в доступе всем остальным)
(access-list 1 deny any)
interface ethernet 0 ip access-group 1
Ниже описаны поля листинга 3 (табл. А.17).
Таблица А.17. Поля листинга 1.
Поле |
Описание |
1 |
Этот список управления доступом
предназначен для блокирования информации, поступающей из
конкретной подсети 172.16.4.0, все остальные потоки
данных будут направлены далее. |
deny |
Поток данных, удовлетворяющий
выбранным параметрам, не будет направлен далее. |
172.16.4.0 |
IP-адрес подсети источника. |
0.0.0.255 |
Шаблон маски, нули указывают
позиции, которые должны соответствовать условиям, в то время как
единицы указывают позиции значение которых не влияет на доступ.
Маска с нулями в первых трех октетах указывает, что эти позиции
должны удовлетворять заданным условиям, 255 в последнем
октете показывает, что значение этой позиции не влияет на
доступ. |
permit |
Поток данных, удовлетворяющий
выбранным параметрам, будет направлен далее. |
any |
Вместо этого параметра
подставляется 0.0.0.0 255.255.255.255, при этом все
позиции маски равны единицам и все 32 бита в адресе источника не
будут проверяться. |
Далее
>>> |