cisco.ios.ios_acls – Модуль ресурсов ACLs
Примечание
Этот плагин является частью коллекции cisco.ios (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install cisco.ios.
Для использования в плейбуке укажите: cisco.ios.ios_acls.
Новое в версии 1.0.0: модуля cisco.ios
Обзор
- Этот модуль настраивает и управляет именованными или нумерованными ACL на платформах IOS.
Примечание
Этот модуль имеет соответствующий плагин действий.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | ||||||
|---|---|---|---|---|---|---|---|---|
| config список / элементы=словарь | Словарь параметров ACL. | |||||||
| acls список / элементы=словарь | Список списков управления доступом (ACL). | |||||||
| aces список / элементы=словарь | Элементы внутри ACL. | |||||||
| destination словарь | Укажите пункт назначения пакета. | |||||||
| address строка | Адрес хоста для сопоставления или любой единственный адрес хоста. | |||||||
| any логическое значение |
| Сопоставить любой исходный адрес. | ||||||
| host строка | Один единственный хост назначения | |||||||
| port_protocol словарь | Укажите порт назначения вместе с протоколом. Примечание. Действительно с протоколами TCP/UDP protocol_options | |||||||
| eq строка | Сопоставить только пакеты на заданном номере порта. | |||||||
| gt строка | Сопоставить только пакеты с большим номером порта. | |||||||
| lt строка | Сопоставить только пакеты с меньшим номером порта. | |||||||
| neq строка | Сопоставить только пакеты, не на заданном номере порта. | |||||||
| range словарь | Группа портов. | |||||||
| end целое число | Укажите конец диапазона портов. | |||||||
| start целое число | Укажите начало диапазона портов. | |||||||
| wildcard_bits строка | Разряды маскирования назначения, действительны для адреса IPV4. | |||||||
| dscp строка | Сопоставить пакеты с заданным значением dscp. | |||||||
| evaluate строка | Оценить список доступа | |||||||
| fragments строка | Проверить фрагменты, отличные от начального. | |||||||
| grant строка |
| Укажите действие. | ||||||
| log строка | Регистрировать совпадения по этому элементу. | |||||||
| log_input строка | Регистрировать совпадения по этому элементу, включая входной интерфейс. | |||||||
| option словарь | Сопоставить пакеты с заданным значением IP-опций. Действительно только для именованных acl. | |||||||
| add_ext логическое значение |
| Сопоставить пакеты с опцией расширения адреса (147). | ||||||
| any_options логическое значение |
| Сопоставить пакеты с любой опцией. | ||||||
| com_security логическое значение |
| Сопоставить пакеты с опцией коммерческой безопасности (134). | ||||||
| dps логическое значение |
| Сопоставить пакеты с опцией динамического состояния пакета (151). | ||||||
| encode логическое значение |
| Сопоставить пакеты с опцией кодирования (15). | ||||||
| eool логическое значение |
| Сопоставить пакеты с опцией конца опций (0). | ||||||
| ext_ip логическое значение |
| Сопоставить пакеты с опцией расширенного IP (145). | ||||||
| ext_security логическое значение |
| Сопоставить пакеты с опцией расширенной безопасности (133). | ||||||
| finn логическое значение |
| Сопоставить пакеты с опцией экспериментального управления потоком (205). | ||||||
| imitd логическое значение |
| Сопоставить пакеты с опцией описания трафика IMI (144). | ||||||
| lsr логическое значение |
| Сопоставить пакеты с опцией маршрута от источника (131). | ||||||
| mtup логическое значение |
| Сопоставить пакеты с опцией запроса MTU (11). | ||||||
| mtur логическое значение |
| Сопоставить пакеты с опцией ответа MTU (12). | ||||||
| no_op логическое значение |
| Сопоставить пакеты с опцией бездействия (1). | ||||||
| nsapa boolean |
| Опция соответствия пакетам с адресами NSAP (150). | ||||||
| record_route boolean |
| Сопоставление пакетов с опцией Record Route (7). | ||||||
| router_alert boolean |
| Сопоставление пакетов с опцией Router Alert (148). | ||||||
| sdb boolean |
| Сопоставление пакетов с опцией Selective Directed Broadcast (149). | ||||||
| security boolean |
| Сопоставление пакетов с опцией Basic Security (130). | ||||||
| ssr boolean |
| Сопоставление пакетов с опцией Strict Source Routing (137). | ||||||
| stream_id boolean |
| Сопоставление пакетов с опцией Stream ID (136). | ||||||
| timestamp boolean |
| Сопоставление пакетов с опцией Time Stamp (68). | ||||||
| traceroute boolean |
| Сопоставление пакетов с опцией Trace Route (82). | ||||||
| ump boolean |
| Сопоставление пакетов с опцией Upstream Multicast Packet (152). | ||||||
| visa boolean |
| Сопоставление пакетов с опцией Experimental Access Control (142). | ||||||
| zsu boolean |
| Сопоставление пакетов с опцией Experimental Measurement (10). | ||||||
| precedence integer | Сопоставление пакетов со значением приоритета. | |||||||
| protocol string | Укажите протокол для сопоставления. Обратитесь к документации поставщика для получения допустимых значений. | |||||||
| protocol_options dictionary | тип протокола. | |||||||
| ahp boolean |
| Протокол аутентификации заголовка. | ||||||
| eigrp boolean |
| Протокол маршрутизации EIGRP Cisco. | ||||||
| esp boolean |
| Заголовок безопасности инкапсуляции. | ||||||
| gre boolean |
| Тунелирование GRE Cisco. | ||||||
| hbh boolean |
| Заголовок опций «от прыжка к прыжку». Действительно для IPv6 | ||||||
| icmp dictionary | Протокол управления сообщениями Интернета. | |||||||
| administratively_prohibited boolean |
| Административно запрещено | ||||||
| alternate_address boolean |
| Альтернативный адрес | ||||||
| conversion_error boolean |
| Преобразование датаграммы | ||||||
| dod_host_prohibited boolean |
| Хост запрещен | ||||||
| dod_net_prohibited boolean |
| Сеть запрещена | ||||||
| echo boolean |
| Эхо (ping) | ||||||
| echo_reply boolean |
| Ответ эхо | ||||||
| general_parameter_problem boolean |
| Проблема с параметрами | ||||||
| host_isolated boolean |
| Хост изолирован | ||||||
| host_precedence_unreachable boolean |
| Хост недоступен для приоритета | ||||||
| host_redirect boolean |
| Переадресация хоста | ||||||
| host_tos_redirect boolean |
| Переадресация хоста для TOS | ||||||
| host_tos_unreachable boolean |
| Хост недоступен для TOS | ||||||
| host_unknown boolean |
| Хост неизвестен | ||||||
| host_unreachable boolean |
| Хост недоступен | ||||||
| information_reply boolean |
| Ответы с информацией | ||||||
| information_request boolean |
| Запросы информации | ||||||
| mask_reply boolean |
| Ответы с маской | ||||||
| mask_request boolean |
| Запросы с маской | ||||||
| mobile_redirect boolean |
| Перенаправление мобильного хоста | ||||||
| net_redirect boolean |
| Перенаправление сети | ||||||
| net_tos_redirect boolean |
| Перенаправление сети для TOS | ||||||
| net_tos_unreachable boolean |
| Сеть недоступна для TOS | ||||||
| net_unreachable boolean |
| Сеть недоступна | ||||||
| network_unknown boolean |
| Сеть неизвестна | ||||||
| no_room_for_option boolean |
| Требуемый параметр, но нет места | ||||||
| option_missing boolean |
| Требуемый параметр отсутствует | ||||||
| packet_too_big boolean |
| Требуется фрагментация и DF установлен | ||||||
| parameter_problem boolean |
| Все проблемы с параметрами | ||||||
| port_unreachable boolean |
| Порт недоступен | ||||||
| precedence_unreachable boolean |
| Превышение приоритета | ||||||
| protocol_unreachable boolean |
| Протокол недоступен | ||||||
| reassembly_timeout boolean |
| Таймаут повторной сборки | ||||||
| redirect boolean |
| Все перенаправления | ||||||
| router_advertisement boolean |
| Реклама маршрутизатора | ||||||
| router_solicitation boolean |
| Запросы маршрутизатора | ||||||
| source_quench boolean |
| Заглушения источника | ||||||
| source_route_failed boolean |
| Неудачная маршрутизация по источнику | ||||||
| time_exceeded boolean |
| Все таймауты | ||||||
| timestamp_reply boolean |
| Ответы с отметкой времени | ||||||
| timestamp_request boolean |
| Запросы с отметкой времени | ||||||
| traceroute boolean |
| Traceroute | ||||||
| ttl_exceeded boolean |
| Превышение TTL | ||||||
| Недоступный boolean |
| Все недоступные | ||||||
| igmp словарь | Протокол сообщений шлюза интернет-маршрутизации. | |||||||
| dvmrp boolean |
| Протокол маршрутизации многоадресной рассылки по вектору расстояния(2) | ||||||
| host_query boolean |
| Запрос членства в группе IGMP(0) | ||||||
| mtrace_resp boolean |
| Ответ на трассировку многоадресной рассылки(7) | ||||||
| mtrace_route boolean |
| Трассировка многоадресной рассылки(8) | ||||||
| pim boolean |
| Независимый от протокола многоадресной рассылки(3) | ||||||
| trace boolean |
| Трассировка многоадресной рассылки(4) | ||||||
| v1host_report boolean |
| Отчет о членстве IGMPv1(1) | ||||||
| v2host_report boolean |
| Отчет о членстве IGMPv2(5) | ||||||
| v2leave_group boolean |
| Выход из группы IGMPv2(6) | ||||||
| v3host_report boolean |
| Отчет о членстве IGMPv3(9) | ||||||
| ip boolean |
| Любой интернет-протокол. | ||||||
| ipinip boolean |
| Тунелирование IP в IP. | ||||||
| ipv6 boolean |
| Любой IPv6. | ||||||
| nos boolean |
| Совместимость KA9Q NOS с туннелированием IP через IP. | ||||||
| ospf boolean |
| Протокол маршрутизации OSPF. | ||||||
| pcp boolean |
| Протокол сжатия полезной нагрузки. | ||||||
| pim boolean |
| Независимый от протокола многоадресной рассылки. | ||||||
| protocol_number целое | Номер протокола IP | |||||||
| sctp boolean |
| Потоковый протокол передачи данных. | ||||||
| tcp словарь | Сопоставление флагов пакетов TCP | |||||||
| ack boolean |
| Сопоставление по биту ACK | ||||||
| established boolean |
| Сопоставление установленных соединений | ||||||
| fin boolean |
| Сопоставление по биту FIN | ||||||
| psh boolean |
| Сопоставление по биту PSH | ||||||
| rst boolean |
| Сопоставление по биту RST | ||||||
| syn boolean |
| Сопоставление по биту SYN | ||||||
| urg boolean |
| Сопоставление по биту URG | ||||||
| udp boolean |
| Протокол пользовательских датаграмм. | ||||||
| sequence целое | Порядковый номер для записи управления доступом(ACE). См. документацию поставщика для допустимых значений. | |||||||
| source словарь | Указать источник пакета. | |||||||
| address строка | Адрес исходной сети. | |||||||
| any boolean |
| Сопоставить любой адрес источника. | ||||||
| хост строка | Одиночный хост источника | |||||||
| порт_протокол словарь | Укажите порт назначения вместе с протоколом. Примечание. Действительно с протоколами TCP/UDP protocol_options | |||||||
| eq строка | Сопоставить только пакеты на заданном номере порта. | |||||||
| gt строка | Сопоставить только пакеты с большим номером порта. | |||||||
| lt строка | Сопоставить только пакеты с меньшим номером порта. | |||||||
| neq строка | Сопоставить только пакеты, не находящиеся на заданном номере порта. | |||||||
| range словарь | Группа портов. | |||||||
| end целое число | Указать конец диапазона портов. | |||||||
| start целое число | Указать начало диапазона портов. | |||||||
| wildcard_bits строка | Бита маскирования назначения, действительны с адресом IPV4. | |||||||
| time_range строка | Указать диапазон времени. | |||||||
| tos словарь | Сопоставить пакеты с заданным значением TOS. Примечание. DSCP и TOS взаимно исключают друг друга | |||||||
| max_reliability логическое значение |
| Сопоставить пакеты с максимальной надёжностью TOS (2). | ||||||
| max_throughput логическое значение |
| Сопоставить пакеты с максимальной пропускной способностью TOS (4). | ||||||
| min_delay логическое значение |
| Сопоставить пакеты с минимальной задержкой TOS (8). | ||||||
| min_monetary_cost логическое значение |
| Сопоставить пакеты с минимальными денежными затратами TOS (1). | ||||||
| normal логическое значение |
| Сопоставить пакеты с обычным TOS (0). | ||||||
| service_value целое число | Значение типа услуги | |||||||
| ttl словарь | Сопоставить пакеты с заданным значением TTL. | |||||||
| eq целое число | Сопоставить только пакеты на заданном номере TTL. | |||||||
| gt целое число | Сопоставить только пакеты с большим номером TTL. | |||||||
| lt целое число | Сопоставить только пакеты с меньшим номером TTL. | |||||||
| neq целое число | Сопоставить только пакеты, не находящиеся на заданном номере TTL. | |||||||
| range словарь | Сопоставить только пакеты в диапазоне TTL. | |||||||
| end целое число | Указать конец диапазона портов. | |||||||
| start целое число | Указать начало диапазона портов. | |||||||
| acl_type строка |
| Тип ACL Примечание. Обязателен для именованного ACL, но необязателен для нумерованного ACL. | ||||||
| name строка / обязательно | Имя или номер ACL. | |||||||
| afi строка / обязательно |
| Индикатор семейства адресов (AFI) для списков управления доступом (ACL). | ||||||
| running_config строка | Этот параметр используется только со статусом parsed. Значение этого параметра должно соответствовать выводу устройства IOS, полученному при выполнении команды sh access-list. Состояние parsed считывает конфигурацию из параметра running_config и преобразует её в структурированные данные Ansible, согласно спецификации модуля ресурса, а затем возвращает значение в ключе parsed в результате. | |||||||
| state строка |
| Состояние, в котором должна оставаться конфигурация Состояния rendered, gathered и parsed не производят никаких изменений на устройстве. Состояние rendered преобразует конфигурацию в config в платформенно-специфические команды CLI, которые будут возвращены в ключе rendered в результате. Для состояния rendered активное подключение к удалённому хосту не требуется.Состояние gathered извлечёт текущую конфигурацию с устройства и преобразует её в структурированные данные в формате согласно спецификации аргументов модуля ресурса, а значение вернётся в ключе gathered результата. Состояние parsed считывает конфигурацию из running_config параметра и преобразует её в формат JSON, согласно параметрам модуля ресурса, и значение вернётся в ключе parsed результата. Значение параметра running_config должно соответствовать формату вывода команды show running-config | include ip route|ipv6 route, выполненной на устройстве. Для состояния parsed активное подключение к удалённому хосту не требуется. | ||||||
Примечания
Примечание
- Проверено на Cisco IOSv Версии 15.2 на VIRL
Примеры
# Using merged
# Before state:
# -------------
#
# vios#sh access-lists
# Extended IP access list 110
# 10 deny icmp 192.0.2.0 0.0.0.255 192.0.3.0 0.0.0.255 echo dscp ef ttl eq 10
- name: Merge provided configuration with device configuration
cisco.ios.ios_acls:
config:
- afi: ipv4
acls:
- name: std_acl
acl_type: standard
aces:
- grant: deny
source:
address: 192.168.1.200
- grant: deny
source:
address: 192.168.2.0
wildcard_bits: 0.0.0.255
- name: 110
aces:
- sequence: 10
protocol_options:
icmp:
traceroute: true
- grant: deny
protocol_options:
tcp:
ack: true
source:
host: 198.51.100.0
destination:
host: 198.51.110.0
port_protocol:
eq: telnet
- name: test
acl_type: extended
aces:
- grant: deny
protocol_options:
tcp:
fin: true
source:
address: 192.0.2.0
wildcard_bits: 0.0.0.255
destination:
address: 192.0.3.0
wildcard_bits: 0.0.0.255
port_protocol:
eq: www
option:
traceroute: true
ttl:
eq: 10
- name: 123
aces:
- grant: deny
protocol_options:
tcp:
ack: true
source:
address: 198.51.100.0
wildcard_bits: 0.0.0.255
destination:
address: 198.51.101.0
wildcard_bits: 0.0.0.255
port_protocol:
eq: telnet
tos:
service_value: 12
- grant: deny
protocol_options:
tcp:
ack: true
source:
address: 192.0.3.0
wildcard_bits: 0.0.0.255
destination:
address: 192.0.4.0
wildcard_bits: 0.0.0.255
port_protocol:
eq: www
dscp: ef
ttl:
lt: 20
- afi: ipv6
acls:
- name: R1_TRAFFIC
aces:
- grant: deny
protocol_options:
tcp:
ack: true
source:
any: true
port_protocol:
eq: www
destination:
any: true
port_protocol:
eq: telnet
dscp: af11
state: merged
# Commands fired:
# ---------------
#
# - ip access-list standard std_acl
# - deny 192.168.1.200
# - deny 192.168.2.0 0.0.0.255
# - ip access-list extended 110
# - no 10
# - 10 deny icmp 192.0.2.0 0.0.0.255 192.0.3.0 0.0.0.255 traceroute dscp ef ttl eq 10
# - deny tcp host 198.51.100.0 host 198.51.110.0 eq telnet ack
# - ip access-list extended test
# - deny tcp 192.0.2.0 0.0.0.255 192.0.3.0 0.0.0.255 eq www fin option traceroute ttl eq 10
# - ip access-list extended 123
# - deny tcp 198.51.100.0 0.0.0.255 198.51.101.0 0.0.0.255 eq telnet ack tos 12
# - deny tcp 192.0.3.0 0.0.0.255 192.0.4.0 0.0.0.255 eq www ack dscp ef ttl lt 20
# - ipv6 access-list R1_TRAFFIC
# - deny tcp any eq www any eq telnet ack dscp af11
# After state:
# ------------
#
# vios#sh access-lists
# Standard IP access list std_acl
# 10 deny 192.168.1.200
# 20 deny 192.168.2.0, wildcard bits 0.0.0.255
# Extended IP access list 110
# 10 deny icmp 192.0.2.0 0.0.0.255 192.0.3.0 0.0.0.255 traceroute dscp ef ttl eq 10
# 20 deny tcp host 198.51.100.0 host 198.51.110.0 eq telnet ack
# Extended IP access list 123
# 10 deny tcp 198.51.100.0 0.0.0.255 198.51.101.0 0.0.0.255 eq telnet ack tos 12
# 20 deny tcp 192.0.3.0 0.0.0.255 192.0.4.0 0.0.0.255 eq www ack dscp ef ttl lt 20
# Extended IP access list test
# 10 deny tcp 192.0.2.0 0.0.0.255 192.0.3.0 0.0.0.255 eq www fin option traceroute ttl eq 10
# IPv6 access list R1_TRAFFIC
# deny tcp any eq www any eq telnet ack dscp af11 sequence 10
# Using replaced
# Before state:
# -------------
#
# vios#sh access-lists
# Standard IP access list std_acl
# 10 deny 192.168.1.200
# 20 deny 192.168.2.0, wildcard bits 0.0.0.255
# Extended IP access list 110
# 10 deny icmp 192.0.2.0 0.0.0.255 192.0.3.0 0.0.0.255 traceroute dscp ef ttl eq 10
# 20 deny tcp host 198.51.100.0 host 198.51.110.0 eq telnet ack
# Extended IP access list 123
# 10 deny tcp 198.51.100.0 0.0.0.255 198.51.101.0 0.0.0.255 eq telnet ack tos 12
# 20 deny tcp 192.0.3.0 0.0.0.255 192.0.4.0 0.0.0.255 eq www ack dscp ef ttl lt 20
# Extended IP access list test
# 10 deny tcp 192.0.2.0 0.0.0.255 192.0.3.0 0.0.0.255 eq www fin option traceroute ttl eq 10
# IPv6 access list R1_TRAFFIC
# deny tcp any eq www any eq telnet ack dscp af11 sequence 10
- name: Replaces device configuration of listed acls with provided configuration
cisco.ios.ios_acls:
config:
- afi: ipv4
acls:
- name: 110
aces:
- grant: deny
protocol_options:
tcp:
syn: true
source:
address: 192.0.2.0
wildcard_bits: 0.0.0.255
destination:
address: 192.0.3.0
wildcard_bits: 0.0.0.255
port_protocol:
eq: www
dscp: ef
ttl:
eq: 10
- name: 150
aces:
- grant: deny
sequence: 20
protocol_options:
tcp:
syn: true
source:
address: 198.51.100.0
wildcard_bits: 0.0.0.255
port_protocol:
eq: telnet
destination:
address: 198.51.110.0
wildcard_bits: 0.0.0.255
port_protocol:
eq: telnet
dscp: ef
ttl:
eq: 10
state: replaced
# Commands fired:
# ---------------
#
# - no ip access-list extended 110
# - ip access-list extended 110
# - deny tcp 192.0.2.0 0.0.0.255 192.0.3.0 0.0.0.255 eq www syn dscp ef ttl eq 10
# - ip access-list extended 150
# - 20 deny tcp 198.51.100.0 0.0.0.255 eq telnet 198.51.110.0 0.0.0.255 eq telnet syn dscp ef ttl eq 10
# After state:
# -------------
#
# vios#sh access-lists
# Standard IP access list std_acl
# 10 deny 192.168.1.200
# 20 deny 192.168.2.0, wildcard bits 0.0.0.255
# Extended IP access list 110
# 10 deny tcp 192.0.2.0 0.0.0.255 192.0.3.0 0.0.0.255 eq www syn dscp ef ttl eq 10
# Extended IP access list 123
# 10 deny tcp 198.51.100.0 0.0.0.255 198.51.101.0 0.0.0.255 eq telnet ack tos 12
# 20 deny tcp 192.0.3.0 0.0.0.255 192.0.4.0 0.0.0.255 eq www ack dscp ef ttl lt 20
# Extended IP access list 150
# 20 deny tcp 198.51.100.0 0.0.0.255 eq telnet 198.51.110.0 0.0.0.255 eq telnet syn dscp ef ttl eq 10
# Extended IP access list test
# 10 deny tcp 192.0.2.0 0.0.0.255 192.0.3.0 0.0.0.255 eq www fin option traceroute ttl eq 10
# IPv6 access list R1_TRAFFIC
# deny tcp any eq www any eq telnet ack dscp af11 sequence 10
# Using overridden
# Before state:
# -------------
#
# vios#sh access-lists
# Standard IP access list std_acl
# 10 deny 192.168.1.200
# 20 deny 192.168.2.0, wildcard bits 0.0.0.255
# Extended IP access list 110
# 10 deny icmp 192.0.2.0 0.0.0.255 192.0.3.0 0.0.0.255 traceroute dscp ef ttl eq 10
# 20 deny tcp host 198.51.100.0 host 198.51.110.0 eq telnet ack
# Extended IP access list 123
# 10 deny tcp 198.51.100.0 0.0.0.255 198.51.101.0 0.0.0.255 eq telnet ack tos 12
# 20 deny tcp 192.0.3.0 0.0.0.255 192.0.4.0 0.0.0.255 eq www ack dscp ef ttl lt 20
# Extended IP access list test
# 10 deny tcp 192.0.2.0 0.0.0.255 192.0.3.0 0.0.0.255 eq www fin option traceroute ttl eq 10
# IPv6 access list R1_TRAFFIC
# deny tcp any eq www any eq telnet ack dscp af11 sequence 10
- name: Override device configuration of all acls with provided configuration
cisco.ios.ios_acls:
config:
- afi: ipv4
acls:
- name: 110
aces:
- grant: deny
sequence: 20
protocol_options:
tcp:
ack: true
source:
address: 198.51.100.0
wildcard_bits: 0.0.0.255
port_protocol:
eq: telnet
destination:
address: 198.51.110.0
wildcard_bits: 0.0.0.255
port_protocol:
eq: www
dscp: ef
ttl:
eq: 10
- name: 150
aces:
- grant: deny
sequence: 10
protocol_options:
tcp:
syn: true
source:
address: 198.51.100.0
wildcard_bits: 0.0.0.255
port_protocol:
eq: telnet
destination:
address: 198.51.110.0
wildcard_bits: 0.0.0.255
port_protocol:
eq: telnet
dscp: ef
ttl:
eq: 10
state: overridden
# Commands fired:
# ---------------
#
# - no ip access-list standard std_acl
# - no ip access-list extended 110
# - no ip access-list extended 123
# - no ip access-list extended 150
# - no ip access-list extended test
# - no ipv6 access-list R1_TRAFFIC
# - ip access-list extended 150
# - 10 deny tcp 198.51.100.0 0.0.0.255 eq telnet 198.51.110.0 0.0.0.255 eq telnet syn dscp ef ttl eq 10
# - ip access-list extended 110
# - 20 deny tcp 198.51.100.0 0.0.0.255 eq telnet 198.51.110.0 0.0.0.255 eq www ack dscp ef ttl eq 10
# After state:
# -------------
#
# vios#sh access-lists
# Extended IP access list 110
# 20 deny tcp 198.51.100.0 0.0.0.255 eq telnet 198.51.110.0 0.0.0.255 eq www ack dscp ef ttl eq 10
# Extended IP access list 150
# 10 deny tcp 198.51.100.0 0.0.0.255 eq telnet 198.51.110.0 0.0.0.255 eq telnet syn dscp ef ttl eq 10
# Using Deleted
# Before state:
# -------------
#
# vios#sh access-lists
# Standard IP access list std_acl
# 10 deny 192.168.1.200
# 20 deny 192.168.2.0, wildcard bits 0.0.0.255
# Extended IP access list 110
# 10 deny icmp 192.0.2.0 0.0.0.255 192.0.3.0 0.0.0.255 traceroute dscp ef ttl eq 10
# 20 deny tcp host 198.51.100.0 host 198.51.110.0 eq telnet ack
# Extended IP access list 123
# 10 deny tcp 198.51.100.0 0.0.0.255 198.51.101.0 0.0.0.255 eq telnet ack tos 12
# 20 deny tcp 192.0.3.0 0.0.0.255 192.0.4.0 0.0.0.255 eq www ack dscp ef ttl lt 20
# Extended IP access list test
# 10 deny tcp 192.0.2.0 0.0.0.255 192.0.3.0 0.0.0.255 eq www fin option traceroute ttl eq 10
# IPv6 access list R1_TRAFFIC
# deny tcp any eq www any eq telnet ack dscp af11 sequence 10
- name: "Delete ACLs (Note: This won't delete the all configured ACLs)"
cisco.ios.ios_acls:
config:
- afi: ipv4
acls:
- name: test
acl_type: extended
- name: 110
- afi: ipv6
acls:
- name: R1_TRAFFIC
state: deleted
# Commands fired:
# ---------------
#
# - no ip access-list extended test
# - no ip access-list extended 110
# - no ipv6 access-list R1_TRAFFIC
# After state:
# -------------
#
# vios#sh access-lists
# Standard IP access list std_acl
# 10 deny 192.168.1.200
# 20 deny 192.168.2.0, wildcard bits 0.0.0.255
# Extended IP access list 123
# 10 deny tcp 198.51.100.0 0.0.0.255 198.51.101.0 0.0.0.255 eq telnet ack tos 12
# 20 deny tcp 192.0.3.0 0.0.0.255 192.0.4.0 0.0.0.255 eq www ack dscp ef ttl lt 20
# Before state:
# -------------
#
# vios#sh access-lists
# Standard IP access list std_acl
# 10 deny 192.168.1.200
# 20 deny 192.168.2.0, wildcard bits 0.0.0.255
# Extended IP access list 110
# 10 deny icmp 192.0.2.0 0.0.0.255 192.0.3.0 0.0.0.255 traceroute dscp ef ttl eq 10
# 20 deny tcp host 198.51.100.0 host 198.51.110.0 eq telnet ack
# Extended IP access list 123
# 10 deny tcp 198.51.100.0 0.0.0.255 198.51.101.0 0.0.0.255 eq telnet ack tos 12
# 20 deny tcp 192.0.3.0 0.0.0.255 192.0.4.0 0.0.0.255 eq www ack dscp ef ttl lt 20
# Extended IP access list test
# 10 deny tcp 192.0.2.0 0.0.0.255 192.0.3.0 0.0.0.255 eq www fin option traceroute ttl eq 10
# IPv6 access list R1_TRAFFIC
# deny tcp any eq www any eq telnet ack dscp af11 sequence 10
- name: "Delete ACLs based on AFI (Note: This won't delete the all configured ACLs)"
cisco.ios.ios_acls:
config:
- afi: ipv4
state: deleted
# Commands fired:
# ---------------
#
# - no ip access-list standard std_acl
# - no ip access-list extended test
# - no ip access-list extended 110
# - no ip access-list extended 123
# After state:
# -------------
#
# vios#sh access-lists
# IPv6 access list R1_TRAFFIC
# deny tcp any eq www any eq telnet ack dscp af11 sequence 10
# Using Deleted without any config passed
#"(NOTE: This will delete all of configured ACLs)"
# Before state:
# -------------
#
# vios#sh access-lists
# Standard IP access list std_acl
# 10 deny 192.168.1.200
# 20 deny 192.168.2.0, wildcard bits 0.0.0.255
# Extended IP access list 110
# 10 deny icmp 192.0.2.0 0.0.0.255 192.0.3.0 0.0.0.255 traceroute dscp ef ttl eq 10
# 20 deny tcp host 198.51.100.0 host 198.51.110.0 eq telnet ack
# Extended IP access list 123
# 10 deny tcp 198.51.100.0 0.0.0.255 198.51.101.0 0.0.0.255 eq telnet ack tos 12
# 20 deny tcp 192.0.3.0 0.0.0.255 192.0.4.0 0.0.0.255 eq www ack dscp ef ttl lt 20
# Extended IP access list test
# 10 deny tcp 192.0.2.0 0.0.0.255 192.0.3.0 0.0.0.255 eq www fin option traceroute ttl eq 10
# IPv6 access list R1_TRAFFIC
# deny tcp any eq www any eq telnet ack dscp af11 sequence 10
- name: 'Delete ALL of configured ACLs (Note: This WILL delete the all configured
ACLs)'
cisco.ios.ios_acls:
state: deleted
# Commands fired:
# ---------------
#
# - no ip access-list extended test
# - no ip access-list extended 110
# - no ip access-list extended 123
# - no ip access-list extended test
# - no ipv6 access-list R1_TRAFFIC
# After state:
# -------------
#
# vios#sh access-lists
# Using Gathered
# Before state:
# -------------
#
# vios#sh access-lists
# Standard IP access list std_acl
# 10 deny 192.168.1.200
# 20 deny 192.168.2.0, wildcard bits 0.0.0.255
# Extended IP access list 110
# 10 deny icmp 192.0.2.0 0.0.0.255 192.0.3.0 0.0.0.255 traceroute dscp ef ttl eq 10
# 20 deny tcp host 198.51.100.0 host 198.51.110.0 eq telnet ack
# Extended IP access list 123
# 10 deny tcp 198.51.100.0 0.0.0.255 198.51.101.0 0.0.0.255 eq telnet ack tos 12
# 20 deny tcp 192.0.3.0 0.0.0.255 192.0.4.0 0.0.0.255 eq www ack dscp ef ttl lt 20
# Extended IP access list test
# 10 deny tcp 192.0.2.0 0.0.0.255 192.0.3.0 0.0.0.255 eq www fin option traceroute ttl eq 10
# IPv6 access list R1_TRAFFIC
# deny tcp any eq www any eq telnet ack dscp af11 sequence 10
- name: Gather listed acls with provided configurations
cisco.ios.ios_acls:
config:
state: gathered
# Module Execution Result:
# ------------------------
#
# "gathered": [
# {
# "acls": [
# {
# "aces": [
# {
# "destination": {
# "address": "192.0.3.0",
# "wildcard_bits": "0.0.0.255"
# },
# "dscp": "ef",
# "grant": "deny",
# "protocol_options": {
# "icmp": {
# "echo": true
# }
# },
# "sequence": 10,
# "source": {
# "address": "192.0.2.0",
# "wildcard_bits": "0.0.0.255"
# },
# "ttl": {
# "eq": 10
# }
# }
# ],
# "acl_type": "extended",
# "name": "110"
# },
# {
# "aces": [
# {
# "destination": {
# "address": "198.51.101.0",
# "port_protocol": {
# "eq": "telnet"
# },
# "wildcard_bits": "0.0.0.255"
# },
# "grant": "deny",
# "protocol_options": {
# "tcp": {
# "ack": true
# }
# },
# "sequence": 10,
# "source": {
# "address": "198.51.100.0",
# "wildcard_bits": "0.0.0.255"
# },
# "tos": {
# "service_value": 12
# }
# },
# {
# "destination": {
# "address": "192.0.4.0",
# "port_protocol": {
# "eq": "www"
# },
# "wildcard_bits": "0.0.0.255"
# },
# "dscp": "ef",
# "grant": "deny",
# "protocol_options": {
# "tcp": {
# "ack": true
# }
# },
# "sequence": 20,
# "source": {
# "address": "192.0.3.0",
# "wildcard_bits": "0.0.0.255"
# },
# "ttl": {
# "lt": 20
# }
# }
# ],
# "acl_type": "extended",
# "name": "123"
# },
# {
# "aces": [
# {
# "destination": {
# "address": "192.0.3.0",
# "port_protocol": {
# "eq": "www"
# },
# "wildcard_bits": "0.0.0.255"
# },
# "grant": "deny",
# "option": {
# "traceroute": true
# },
# "protocol_options": {
# "tcp": {
# "fin": true
# }
# },
# "sequence": 10,
# "source": {
# "address": "192.0.2.0",
# "wildcard_bits": "0.0.0.255"
# },
# "ttl": {
# "eq": 10
# }
# }
# ],
# "acl_type": "extended",
# "name": "test_acl"
# }
# ],
# "afi": "ipv4"
# },
# {
# "acls": [
# {
# "aces": [
# {
# "destination": {
# "any": true,
# "port_protocol": {
# "eq": "telnet"
# }
# },
# "dscp": "af11",
# "grant": "deny",
# "protocol_options": {
# "tcp": {
# "ack": true
# }
# },
# "sequence": 10,
# "source": {
# "any": true,
# "port_protocol": {
# "eq": "www"
# }
# }
# }
# ],
# "name": "R1_TRAFFIC"
# }
# ],
# "afi": "ipv6"
# }
# ]
# Using Rendered
- name: Rendered the provided configuration with the exisiting running configuration
cisco.ios.ios_acls:
config:
- afi: ipv4
acls:
- name: 110
aces:
- grant: deny
sequence: 10
protocol_options:
tcp:
syn: true
source:
address: 192.0.2.0
wildcard_bits: 0.0.0.255
destination:
address: 192.0.3.0
wildcard_bits: 0.0.0.255
port_protocol:
eq: www
dscp: ef
ttl:
eq: 10
- name: 150
aces:
- grant: deny
protocol_options:
tcp:
syn: true
source:
address: 198.51.100.0
wildcard_bits: 0.0.0.255
port_protocol:
eq: telnet
destination:
address: 198.51.110.0
wildcard_bits: 0.0.0.255
port_protocol:
eq: telnet
dscp: ef
ttl:
eq: 10
state: rendered
# Module Execution Result:
# ------------------------
#
# "rendered": [
# "ip access-list extended 110",
# "10 deny tcp 192.0.2.0 0.0.0.255 192.0.3.0 0.0.0.255 eq www syn dscp ef ttl eq 10",
# "ip access-list extended 150",
# "deny tcp 198.51.100.0 0.0.0.255 eq telnet 198.51.110.0 0.0.0.255 eq telnet syn dscp ef ttl eq 10"
# ]
# Using Parsed
# File: parsed.cfg
# ----------------
#
# ipv6 access-list R1_TRAFFIC
# deny tcp any eq www any eq telnet ack dscp af11
- name: Parse the commands for provided configuration
cisco.ios.ios_acls:
running_config: "{{ lookup('file', 'parsed.cfg') }}"
state: parsed
# Module Execution Result:
# ------------------------
#
# "parsed": [
# {
# "acls": [
# {
# "aces": [
# {
# "destination": {
# "any": true,
# "port_protocol": {
# "eq": "telnet"
# }
# },
# "dscp": "af11",
# "grant": "deny",
# "protocol_options": {
# "tcp": {
# "ack": true
# }
# },
# "source": {
# "any": true,
# "port_protocol": {
# "eq": "www"
# }
# }
# }
# ],
# "name": "R1_TRAFFIC"
# }
# ],
# "afi": "ipv6"
# }
# ]
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие являются полями, уникальными для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| after список / элементы=строка | при изменении | Конфигурация в виде структурированных данных после завершения модуля. Пример: Возвращаемая конфигурация всегда будет в том же формате, что и параметры выше. |
| before список / элементы=строка | всегда | Конфигурация в виде структурированных данных до вызова модуля. Пример: Возвращаемая конфигурация всегда будет в том же формате, что и параметры выше. |
| commands список / элементы=строка | всегда | Набор команд, отправленных на удаленное устройство. Пример: ['ip access-list extended 110', 'deny icmp 192.0.2.0 0.0.0.255 192.0.3.0 0.0.0.255 echo dscp ef ttl eq 10'] |
Авторы
- Сумит Джаисвал (@justjais)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/cisco/ios/ios_acls_module.html