Команда permit (ipv6 access-list) используется для редактирования расширенных списков доступа. Эта команда разрешает ipv6-трафик, соответствующий условиям, заданным в команде. Для отмены разрешающей записи в расширенном списке доступа используется та же команда с префиксом no.
|
Синтаксис permit [ <IPV6PROTO> | object-group <V6-SRVC-GRP-NAME> ] <SRC_IPV6> <DST_IPV6> [log|log-input] [time-range <NAME>]
permit udp <SRC_IPV6> [ eq <UDPPORT> | range <UDPPORT> <UDPPORT> ] <DST_IPV6> [ eq <UDPPORT> | range <UDPPORT> <UDPPORT> ] [log|log-input] [time-range <NAME>]
permit tcp <SRC_IPV6> [ eq <TCPPORT> | range <TCPPORT> <TCPPORT> ] <DST_IPV6> [ eq <TCPPORT> | range <TCPPORT> <TCPPORT> ] [log|log-input] [time-range <NAME>] [established] [ack] [fin] [psh] [rst] [syn] [urg]
permit icmp <SRC_IPV6> <DST_IPV6> [<ICMP6TYPECODE>|<0-255>[<0-255>]] [log|log-input] [time-range <NAME>] |
|
|
IPV6PROTO |
Протокол. Задается в виде номера протокола. Протоколы IPv6, TCP, UDP, AHP, ESP, ICMP, SCTP, PCP, HDH могут быть заданы аббревиатурой ipv6, tcp, udp, ahp, esp, icmp, sctp, pcp, hbh. Соответствие названия протокола и его номера приведено в Таблице 16. |
|
V6-SRVC-GRP-NAME |
Вместо описания протокола можно написать ссылку на группу сервисов (object-group <V6-SRVC-GRP-NAME>, где V6-SRVC-GRP-NAME – имя группы ipv6 сервисов (см. object-group v6-service)). Если группа с таким именем не существует, будет выдано сообщение об ошибке: Object group <name> is not configured Если имя принадлежит группе объектов сети, а не группе сервисов, либо не совпадает версия ip, будет выдано сообщение об ошибке: Object group type mismatch |
|
SRC_IPV6 |
Этот параметр описывает отправителя пакета. Возможные варианты описания: • указание IPv6-префикса источника в формате X:X:X:X::X/<0-128>; • явное указание IPv6-адреса с использованием ключевого слова host X:X:X:X::X; • использование ключевого слова any, обозначающего любое значение ipv6-адреса источника (::/0); • object-group <V6-NTWRK-GRP-NAME> - даёт возможность сослаться на заранее созданную администратором группу ipv6-объектов сети (см. object-group v6-network). Где <V6-NTWRK-GRP-NAME> - имя группы ipv6 объектов. |
|
DST_IPV6 |
Этот параметр описывает получателя пакета. Возможны четыре варианта описания: • указание IPv6-префикса в формате X:X:X:X::X/<0-128>; • явное указание IPv6-адреса с использованием ключевого слова host X:X:X:X::X; • использование ключевого слова any, обозначающего любое значение ipv6-адреса источника (::/0); • object-group <V6-NTWRK-GRP-NAME> - даёт возможность сослаться на заранее созданную администратором группу ipv6-объектов сети (см. object-group v6-network). Где <V6-NTWRK-GRP-NAME> - имя группы ipv6 объектов. • использование ключевого слова each. При указании each будут создаваться «узкие» SA. В предыдущих версиях Продукта такое поведение было при указании any в качестве приемника. Имеет специальный смысл только для списков доступа, связанных с записью криптокарты (команда match address). При использовании для других целей (фильтрация, классификация) идентично any. Допустимо прописывать только в качестве адреса приемника. Использование значения each в IPsec фильтрах может привести к созданию большого количества SA. Отдельный SA будет строиться для трафика до каждого хоста сети. |
|
TCPPORT и UDPPORT |
Данный параметр задает порт или диапазон портов для протоколов TCP и UDP. Значение - целое число из диапазона от 0 до 65535. Используется только в связке с параметром operator. При использовании operator=range после него следуют два числа (лежащих в диапазоне от 0 до 65535), определяющие границы диапазона портов. Перечисление портов не допускается. Необязательный параметр. Поддерживаемые имена портов протоколов TCP и UDP приведены в Таблица 14 и Таблица 15. |
|
ICMP6TYPECODE |
Данный параметр задает тип и код ICMP-сообщения, в формате: <icmp-type-code> | <icmp-type> [ <icmp-code>]]
Возможные значения: • icmp-type-code – специальное ключевое слово, задающее тип и код ICMP-сообщения. • icmp-type – число, задающее тип ICMP-сообщения; • icmp-code – число, задающее код ICMP-сообщения.
В команде тип и код указываются после адреса получателя сообщения. Поддерживаемые имена/номера ICMP типов и кодов версии IPv6 см. Таблица 18. |
|
Примечание 1 |
Если задать два одинаковых порта, например, permit udp any range non500-isakmp 4500 any, то это будет эквивалентно оператору eq. |
|
Примечание 2 |
Если задать сначала порт с большим номером, то порты в диапазоне автоматически поменяются местами. |
|
DST_IPV6 |
Этот параметр описывает получателя пакета. Возможны три варианта описания: • указание IPv6-префикса получателя в формате X:X:X:X::X/<0-128>; • явное указание IPv6-адреса с использованием ключевого слова host X:X:X:X::X; • использование ключевого слова any, обозначающего любое значение ipv6-адреса получателя (::/0); • object-group <V6-NTWRK-GRP-NAME> - даёт возможность сослаться на заранее созданную администратором группу ipv6-объектов сети (см. object-group v6-network). Где <V6-NTWRK-GRP-NAME> - имя группы ipv6 обьектов. • использование ключевого слова each. При указании each будут создаваться «узкие» SA. Имеет специальный смысл только для списков доступа, связанных с записью криптокарты (команда match address). При использовании для других целей (фильтрация, классификация) идентично any. Допустимо прописывать только в качестве адреса приемника. Значение, специфичное для cs_console. В Cisco IOS отсутствует. См. также Примечание 3. |
|
Примечание 3 |
Использование значения each в IPsec фильтрах может привести к созданию большого количества SA. Отдельный SA будет строиться для трафика до каждого хоста сети. |
|
established |
Только для протокола TCP. Состояние соединения. Выделяются только установленные TCP-соединения и по ним могут передаваться данные. |
|
[ack] [fin] [psh] [rst] [syn] [urg] |
Имена TCP-флагов – fin, syn, rst, psh, ack, urg. Порядок флагов при вводе не важен. Перечисление флагов работает как «ИЛИ» (аналог match-any в новом формате). Ключевое слово established эквивалентно флагам rst ack и не может с ними сочетаться (синтаксическая ошибка). |
|
Примечание 4 |
В пределах одной команды permit/deny старый формат указания TCP-флагов не может сочетаться с новым. |
|
log|log-input |
• Флаг log или log-input задает ведение журнала. Оба флага задают одну и ту же функциональность (отличие от Cisco IOS). • В Syslog выдаются сообщения о пакетах, удовлетворяющих условиям данного списка доступа. В сообщении указан номер списка доступа, разрешено или запрещено прохождение пакета, адрес отправителя и количество пакетов. • Сообщение формируется для первого совпавшего пакета, а затем с периодичностью в 5 минут выдается сообщение о количестве пропущенных или запрещенных пакетов за этот интервал времени. • Флаги логирования могут смешиваться с другими флагами, например, с TCP-флагами. Два флага логирования log и log-input не могут применяться вместе в одной команде permit/deny. |
|
time-range time-range-name |
• Ссылка на расписание. В расписании указывается диапазон времени, в который будет работать данный список доступа. В другой период времени данный фильтр действовать не будет. • Ссылка на расписание может смешиваться с другими дополнительными параметрами, например, с TCP-флагами. • Допускается ссылка на расписание, отсутствующее в конфигурации на момент ввода команды. Однако на момент конвертирования расписание должно существовать, в противном случае конвертирование будет прервано с сообщением об ошибке. |
|
Режимы команды |
config-ipv6-acl (режим редактирования IPv6 списков доступа); |
|
Рекомендации по использованию |
Используйте эту команду после входа в режим редактирования расширенного списка доступа для задания условий доступа, разрешающих трафик. |
|
Нумерация записей в списке |
• Перед командой permit или deny допускается вводить порядковый номер записи в списке, который можно использовать для упрощения редактирования записей, например, ipv6 access-list acl2 10 permit udp any any 20 permit tcp any any 30 deny udp host 10::1 eq snmp any • В режиме редактирования списка доступа запись с указанным номером будет вставлена на нужную позицию, например, sequence 15 permit tcp 10::1/64 host 10::2 Если запись с таким номером существует, то будет выдано сообщение об ошибке: % Duplicate sequence number • По умолчанию первой записи в списке присваивается номер 10, а следующие номера в списке следуют с приращением 10. Максимальный порядковый номер 2147483647. Если сгенерированный порядковый номер превысил максимальный, то выдается сообщение об ошибке: % Exceeded maximum sequence number • При выходе из консоли нумерация записей теряется. При следующем старте консоли записи располагаются в порядке возрастания номеров в режиме по умолчанию. |
|
Просмотр по команде show running-config |
По команде show running-config нумерованные списки доступа показываются в виде последовательности команд access-list за одним исключением: • если после редактирования нумерованного списка доступа он становится пустым (в нем нет записей вида permit или deny (no permit, no deny), то он будет показан в виде: ipv6 access-list {standard|extended} name По команде show running-config выводится конфигурация, в которой слово host может отсутствовать.
Посмотреть номера записей в списке можно командой show ipv6 access-lists. По команде show running-config флаги fin, syn, rst, psh, ack, urg будут указаны в этом порядке. А сочетание флагов «rst ack» в команде будет заменено на established при выводе. Флаги логирования log, log-input показываются после TCP-флагов, а расписание (time-range) – после флагов логирования. |
|
Удаление |
Удаление записи в списке доступа осуществляется: • командой no <полная запись>, например: • или по номеру записи, например, no sequence 15. Если попытаться удалить несуществующую запись, выдается сообщение об ошибке: % Entry not found |
|
Отличие данной команды от подобной команды Cisco IOS |
• Не допускаются операторы кроме eq и range. • Пустой нумерованный список по команде show running-config показывается в виде ip access-list name. В Cisco IOS данный список вообще не показывается. |
|
Пример |
Приведенный ниже пример демонстрирует добавление в расширенный список доступа с именем "a101" записи, разрешающей трафик между хостами 10::1 и 10::2 по протоколу udp: Router(config)# ipv6 access-list a101 Router(config-ext-nacl)#permit udp host 10::1 host 10::2 Router(config-ext-nacl)#exit |
Имя и номер протокола
Таблица 17
|
Имя протокола |
Описание протокола |
Номер протокола |
|
ipv6 |
Any Internet Protocol (v6) |
|
|
tcp |
Transmission Control Protocol |
6 |
|
udp |
User Datagram Protocol |
17 |
|
ahp |
Authentication Header Protocol |
51 |
|
icmp |
Internet Control Message Protocol |
58 |
|
esp |
Encapsulation Security Payload |
50 |
|
pcp |
Payload Compression Protocol |
108 |
|
sctp |
Streams Control Transmission Protocol |
132 |
|
hbh |
Hop by Hop options header |
0 |
|
vrrp |
Virtual Router Redundancy Protocol |
112 |
|
etherip |
EtherIP |
97 |
|
gre |
Cisco's GRE tunneling |
47 |
|
Используемые только в object-group v6-service: |
||
|
tcp-udp |
Transmission Control Protocol and User Datagram Protocol |
|
Поддерживаемые имена портов протокола TCP
(см. Таблица 14).
Поддерживаемые имена портов протокола UDP
(см. Таблица 15).
Поддерживаемые типы и коды ICMP-сообщений (IPv6)
Таблица 18
|
Имя |
Описание |
Тип |
Код |
|
unreachable |
All unreachable ( type = 1 code = any ) |
1 |
|
|
no-route |
No route to destination ( type = 1 code = 0 ) |
1 |
0 |
|
no-admin |
Administration prohibited destination ( type = 1 code = 1 ) |
1 |
1 |
|
beyond-scope |
Destination beyond scope ( type = 1 code = 2 ) |
1 |
2 |
|
destination-unreachable |
Destination address is unreachable ( type = 1 code = 3 ) |
1 |
3 |
|
port-unreachable |
Port unreachable ( type = 1 code = 4 ) |
1 |
4 |
|
source-policy |
Source address failed ingress/egress policy ( type = 1 code = 5 ) |
1 |
5 |
|
reject-route |
Reject route to destination ( type = 1 code = 6 ) |
1 |
6 |
|
packet-too-big |
Packet too big ( type = 2 ) |
2 |
|
|
time-exceeded |
All time exceeded ( type = 3 code = any ) |
3 |
|
|
hop-limit |
Hop limit exceeded in transit ( type = 3 code = 0 ) |
3 |
0 |
|
reassembly-timeout |
Reassembly timeout ( type = 3 code = 1 ) |
3 |
1 |
|
parameter-problem |
All parameter problems ( type = 4 code = any ) |
4 |
|
|
header |
Parameter header problems ( type = 4 code = 0 ) |
4 |
0 |
|
next-header |
Parameter next header problems ( type = 4 code = 1 ) |
4 |
1 |
|
parameter-option |
Parameter option problems ( type = 4 code = 2 ) |
4 |
2 |
|
echo-request |
Echo request (ping) ( type = 128 ) |
128 |
|
|
echo-reply |
Echo reply ( type = 129 ) |
129 |
|
|
mld-query |
Multicast Listener Discovery Query ( type = 130 ) |
130 |
|
|
mld-report |
Multicast Listener Discovery Report ( type = 131 ) |
131 |
|
|
mld-reduction |
Multicast Listener Discovery Reduction ( type = 132 ) |
132 |
|
|
router-solicitation |
Neighbor discovery router solicitations ( type = 133 ) |
133 |
|
|
router-advertisement |
Neighbor discovery router advertisements ( type = 134 ) |
134 |
|
|
nd-ns |
Neighbor discovery neighbor solicitations ( type = 135 ) |
135 |
|
|
nd-na |
Neighbor discovery neighbor advertisements ( type = 136) |
136 |
|
|
redirect |
Neighbor redirect ( type = 137 ) |
137 |
|
|
router-renumbering |
All router renumbering ( type = 138 code = any ) |
138 |
|
|
renum-command |
Router renumbering command ( type = 138 code = 0 ) |
138 |
0 |
|
renum-result |
Router renumbering result ( type = 138 code = 1 ) |
138 |
1 |
|
renum-seq-number |
Router renumbering sequence number reset ( type = 138 code = 2 ) |
138 |
2 |
|
mld-v2-report |
V2 Multicast Listener Discovery Report ( type = 143 ) |
143 |
|
|
dhaad-request |
Home agent address discovery request ( type = 144 ) |
144 |
|
|
dhaad-reply |
Home agent address discovery reply ( type = 145 ) |
145 |
|
|
mpd-solicitation |
Mobile prefix solicitation ( type = 146 ) |
146 |
|
|
mpd-advertisement |
Mobile prefix advertisement ( type = 147 ) |
147 |
|