permit (standard)

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

 

Синтаксис                     permitsource [source-wildcard] [log]

                   no permit source [source-wildcard] [log]

source                          Этот параметр описывает отправителя (источник) пакета. Возможны три варианта описания источника:

                            явное указание IP-адреса в формате четырех десятичных значений, разделенных точками

                            использование ключевого слова any, обозначающего пару значений 0.0.0.0 255.255.255.255 для параметров source и source-wildcard.

                            использование ключевого слова host перед значением source, что предполагает значение 0.0.0.0 для параметра source-wildcard.

source-wildcard    используется в списках доступа и правилах IPsec для того, чтобы определить соответствует ли пакет какой-либо записи списка доступа.

                   source-wildcard это инвертированная маска подсети, которая указывает какая часть IP-адреса пакета должна совпадать с IP-адресом в записи списка доступа. source-wildcard содержит 32 бита, такое же количество битов и в IP-адресе. Если в source-wildcard какой-либо бит равен 0, то тот же самый бит в IP-адресе пакета должен точно совпадать по значению с соответствующим битом в IP-адресе записи списка доступа. Если в source-wildcard какой-либо бит равен 1, то соответствующий бит в IP-адресе пакета проверять не нужно, он может принимать значение либо 0 либо 1, т.е. он является несущественным битом. Например, если source-wildcard равна 0.0.0.0, то все значения битов в IP-адресе пакета должны точно совпадать с соответствующими битами в IP-адресе записи списка доступа. При source-wildcard  равной 0.0.255.255 значения первых 16 битов в IP-адресе пакета должны точно совпадать со значениями этих же битов в IP-адресе записи списка доступа. Важно, чтобы в source-wildcard в двоичном представлении не чередовались 0 и 1. Например, можно использовать инвертированную маску 0.0.31.255, которую можно записать в двоичном представлении как 00000000.00000000.00011111.11111111 и нельзя 0.0.255.0 (00000000.00000000.11111111.00000000). Установка значения инвертированной маски 255.255.255.255 для любого IP-адреса будет интерпретироваться, как установка значения source равного  any  IP-адрес.
Поэтому, возможны три варианта описания source-wildcard:

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

              255.255.255.255, что означает для source значение 0.0.0.0, т.е. источник имеет значение any. Никакие биты в IP-адресе пакета сравнивать с записями списка доступа не нужно

              0.0.0.0, что означает использование ключевого слова host перед значением source. В IP-адресе поступившего пакета нужно сравнивать все биты с соответствующими битами в адресе записей списка доступа

log                                Флаг log задает ведение журнала. В Syslog выдаются сообщения о пакетах, удовлетворяющих условиям данного списка доступа. В сообщении указан номер списка доступа, разрешено или запрещено прохождение пакета, адрес отправителя и количество пакетов. Сообщение формируется для первого совпавшего пакета, а затем с периодичностью в 5 минут выдается сообщение о количестве пропущенных или запрещенных пакетов за этот интервал времени.

 

Режимы команды                               config-std-nacl (режим редактирования стандартных списков доступа)

 

Рекомендации по использованию

Команда permit в режиме редактирования стандартных списков доступа используется для разрешения трафика, исходящего от указанного источника.

Нумерация записей в списке

Перед командой permit или deny допускается вводить порядковый номер записи в списке, который можно использовать для упрощения редактирования записей, например,

ip access-list standard acl1

 10 permit 10.1.1.1

 20 deny 10.2.1.0 0.0.0.255

 30 permit  any 

 

В режиме редактирования списка доступа запись с указанным номером будет вставлена на нужную позицию, например,

15 permit 10.1.1.1 0.0.255.255

Если запись с таким номером существует, то будет выдано сообщение об ошибке: % Duplicate sequence number.

По умолчанию первой записи в списке присваивается номер 10, а следующие номера в списке следуют с приращением 10. Максимальный порядковый номер 2147483647. Если сгенерированный порядковый номер превысил максимальный, то выдается сообщение об ошибке: % Exceeded maximum sequence number.

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

 

Просмотр по команде show  running-config 

По команде show  running-config нумерованные списки доступа показываются в виде последовательности команд access-list  за одним исключением:

если после редактирования нумерованного списка доступа он становится пустым (в нем нет записей вида permit или deny (no permit, no deny)), то он будет показан в виде:

ip access-list {standard|extended} name

По команде show  running-config выводится конфигурация, в которой слово host может отсутствовать.

Так как по команде show  running-config ранее введенные номера записей в списке не показываются, то при редактировании, чтобы внести запись на нужную позицию, можно еще раз упорядочить записи в списке с заданным начальным номером и приращением. Для этого используется команда: ip access-list resequence.

В стандартных списках доступа при последующем вводе наличие или отсутствие модификатора log в записи не учитывается при сравнении записей:

Пример:

ip access-list standard st-acl-1

 permit  10.20.30.40

 permit  10.20.30.40 log

ip access-list standard st-acl-2

 permit  10.20.30.40 log

 permit  10.20.30.40

По show running-config будет выдано: 

ip access-list standard st-acl-1

 permit  10.20.30.40

ip access-list standard st-acl-2

 permit  10.20.30.40 log 

 

Удаление

Удаление записи в списке доступа осуществляется:

·       командой no <полная запись>, например:
no permit host 10.1.1.1

·       или по номеру записи, например: no 15.

 

Пример удаления записи с модификатором log:

ip access-list standard st-acl-1

 permit  10.20.30.40

 permit  10.20.30.41 log

!

 no permit  10.20.30.40 log

 no  permit  10.20.30.41

В результате обе записи в списке доступа будут удалены.

 

Отличие данной команды от подобной команды Cisco  IOS:

·       В инвертированной маске подсети source-wildcard и destination-wildcard должна быть непрерывная линейка из установленных битов в конце, не допускается чередование 0 и 1.

·       Не допускается использование hostname в качестве source и destination.

·       Показывается пустой нумерованный список по команде show running-config.

 

Пример

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

Router(config)#ip access-list standard a133

Router(config-std-nacl)#deny 192.168.110.0 0.0.0.255

Router(config-std-nacl)#deny host 10.10.1.101

Router(config-std-nacl)#permit any

Router(config-std-nacl)#exit