cisco.nxos.nxos_acls – Модуль ресурсов ACL
Примечание
Этот плагин входит в коллекцию cisco.nxos (версия 1.4.0).
Для его установки используйте: ansible-galaxy collection install cisco.nxos.
Чтобы использовать его в плейбуке, укажите: cisco.nxos.nxos_acls.
Новое в версии 1.0.0: модуля cisco.nxos
Обзор
- Управление именованными IP ACL на платформе Cisco NX-OS
Примечание
Этот модуль имеет соответствующий плагин действий.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | ||||||
|---|---|---|---|---|---|---|---|---|
| config список / элементы=словарь | Словарь параметров ACL. | |||||||
| acls список / элементы=словарь | Список ACL. | |||||||
| aces список / элементы=словарь | Элементы внутри ACL. | |||||||
| destination словарь | Указывает пункт назначения пакета. | |||||||
| address строка | Адрес сети назначения. | |||||||
| any логическое значение |
| Любой адрес назначения. | ||||||
| host строка | IP-адрес хоста. | |||||||
| port_protocol словарь | Укажите порт назначения или протокол (только для TCP и UDP). | |||||||
| eq строка | Соответствие только пакетам на заданном номере порта. | |||||||
| gt строка | Соответствие только пакетам с большим номером порта. | |||||||
| lt строка | Соответствие только пакетам с меньшим номером порта. | |||||||
| neq строка | Соответствие только пакетам, не на заданном номере порта. | |||||||
| range словарь | Соответствие только пакетам в диапазоне номеров портов. | |||||||
| end строка | Указывает конец диапазона портов. | |||||||
| start строка | Указывает начало диапазона портов. | |||||||
| prefix строка | Префикс сети назначения. Только для префиксов со значением меньше 31 для ipv4 и 127 для ipv6. Префиксы 32 (ipv4) и 128 (ipv6) должны быть указаны в ключе 'host'. | |||||||
| wildcard_bits строка | Бита маскирования назначения. | |||||||
| dscp строка | Сопоставить пакеты с заданным значением DSCP. | |||||||
| fragments логическое значение |
| Проверить фрагменты, не являющиеся начальными. | ||||||
| grant строка |
| Действие, которое будет применено к правилу. | ||||||
| log логическое значение |
| Регистрировать совпадения с этим элементом. | ||||||
| precedence строка | Сопоставить пакеты с заданным значением приоритета. | |||||||
| protocol строка | Укажите протокол. | |||||||
| protocol_options словарь | Все возможные подварианты для выбранного протокола. | |||||||
| icmp словарь | Параметры протокола ICMP. | |||||||
| administratively_prohibited логическое значение |
| Административно запрещено | ||||||
| alternate_address логическое значение |
| Альтернативный адрес | ||||||
| conversion_error логическое значение |
| Преобразование датаграммы | ||||||
| dod_host_prohibited логическое значение |
| Запрещён хост | ||||||
| dod_net_prohibited логическое значение |
| Запрещена сеть | ||||||
| echo логическое значение |
| Эхо (ping) | ||||||
| echo_reply логическое значение |
| Ответ эхо | ||||||
| echo_request логическое значение |
| Запрос эхо (ping) | ||||||
| general_parameter_problem логическое значение |
| Ошибка параметра | ||||||
| host_isolated логическое значение |
| Хост изолирован | ||||||
| host_precedence_unreachable логическое значение |
| Хост недоступен для приоритета | ||||||
| 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 |
| Запросы масок | ||||||
| message_code integer | Код сообщения ICMP | |||||||
| message_type integer | Тип сообщения ICMP | |||||||
| 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 |
| Необходима фрагментация | ||||||
| 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 превышен | ||||||
| unreachable boolean |
| Все недоступные | ||||||
| igmp dictionary | Параметры протокола IGMP. | |||||||
| dvmrp boolean |
| Протокол маршрутизации мультикаста с вектором расстояния | ||||||
| host_query boolean |
| Запрос к хосту | ||||||
| host_report boolean |
| Отчёт о хосте | ||||||
| tcp dictionary | Флаги TCP. | |||||||
| ack boolean |
| Соответствие биту ACK | ||||||
| established boolean |
| Соответствие установленным соединениям | ||||||
| fin boolean |
| Соответствие биту FIN | ||||||
| psh boolean |
| Соответствие биту PSH | ||||||
| rst boolean |
| Соответствие биту RST | ||||||
| syn boolean |
| Соответствие биту SYN | ||||||
| urg boolean |
| Соответствие биту URG | ||||||
| remark string | Комментарий к записи списка доступа. | |||||||
| sequence integer | Номер последовательности. | |||||||
| source dictionary | Указать источник пакета. | |||||||
| address string | Адрес исходной сети. | |||||||
| any boolean |
| Любой адрес источника. | ||||||
| host string | IP-адрес хоста. | |||||||
| port_protocol dictionary | Укажите порт назначения или протокол (только для TCP и UDP). | |||||||
| eq string | Соответствие только пакетам на заданном номере порта. | |||||||
| gt string | Соответствие только пакетам с большим номером порта. | |||||||
| lt string | Соответствие только пакетам с меньшим номером порта. | |||||||
| neq string | Соответствие только пакетам, не на заданном номере порта. | |||||||
| range dictionary | Соответствие только пакетам в диапазоне номеров портов. | |||||||
| end string | Укажите конец диапазона портов. | |||||||
| start string | Укажите начало диапазона портов. | |||||||
| prefix string | Префикс исходной сети. Только для префиксов маски меньше 31 для IPv4 и 127 для IPv6. Префиксы маски 32 (IPv4) и 128 (IPv6) должны быть указаны в ключе «host». | |||||||
| wildcard_bits string | Биты подстановки источника. | |||||||
| name string / обязательно | Имя списка доступа. | |||||||
| afi string / обязательно |
| Индикатор семейства адресов (AFI) для списка доступа. | ||||||
| running_config строка | Этот параметр используется только в состоянии parsed. Значение этого параметра должно быть выводом устройства NX-OS, полученным в результате выполнения команды show running-config | section 'ip(v6* access-list). Состояние parsed считывает конфигурацию из параметра running_config и преобразует ее в структурированные данные Ansible в соответствии со спецификацией аргументов модуля ресурса, а затем значение возвращается в ключе parsed в результате. | |||||||
| state строка |
| Состояние, в котором должна остаться конфигурация | ||||||
Примечания
Примечание
- Проверено на NX-OS 7.3.(0)D1(1) на VIRL
- Поскольку NX-OS позволяет повторно настроить правило с разными номерами последовательности, ожидается, что пользователь предоставит номера последовательности для записей управления доступом, чтобы сохранить идемпотентность. Если номер последовательности не указан, устройство добавит правило как новое.
Примеры
# Using merged
# Before state:
# -------------
#
- name: Merge new ACLs configuration
cisco.nxos.nxos_acls:
config:
- afi: ipv4
acls:
- name: ACL1v4
aces:
- grant: deny
destination:
address: 192.0.2.64
wildcard_bits: 0.0.0.255
source:
any: true
port_protocol:
lt: 55
protocol: tcp
protocol_options:
tcp:
ack: true
fin: true
sequence: 50
- afi: ipv6
acls:
- name: ACL1v6
aces:
- grant: permit
sequence: 10
source:
any: true
destination:
prefix: 2001:db8:12::/32
protocol: sctp
state: merged
# After state:
# ------------
#
# ip access-list ACL1v4
# 50 deny tcp any lt 55 192.0.2.64 0.0.0.255 ack fin
# ipv6 access-list ACL1v6
# 10 permit sctp any any
# Using replaced
# Before state:
# ----------------
#
# ip access-list ACL1v4
# 10 permit ip any any
# 20 deny udp any any
# ip access-list ACL2v4
# 10 permit ahp 192.0.2.0 0.0.0.255 any
# ip access-list ACL1v6
# 10 permit sctp any any
# 20 remark IPv6 ACL
# ip access-list ACL2v6
# 10 deny ipv6 any 2001:db8:3000::/36
# 20 permit tcp 2001:db8:2000:2::2/128 2001:db8:2000:ab::2/128
- name: Replace existing ACL configuration with provided configuration
cisco.nxos.nxos_acls:
config:
- afi: ipv4
- afi: ipv6
acls:
- name: ACL1v6
aces:
- sequence: 20
grant: permit
source:
any: true
destination:
any: true
protocol: pip
- remark: Replaced ACE
- name: ACL2v6
state: replaced
# After state:
# ---------------
#
# ipv6 access-list ACL1v6
# 20 permit pip any any
# 30 remark Replaced ACE
# ipv6 access-list ACL2v6
# Using overridden
# Before state:
# ----------------
#
# ip access-list ACL1v4
# 10 permit ip any any
# 20 deny udp any any
# ip access-list ACL2v4
# 10 permit ahp 192.0.2.0 0.0.0.255 any
# ip access-list ACL1v6
# 10 permit sctp any any
# 20 remark IPv6 ACL
# ip access-list ACL2v6
# 10 deny ipv6 any 2001:db8:3000::/36
# 20 permit tcp 2001:db8:2000:2::2/128 2001:db8:2000:ab::2/128
- name: Override existing configuration with provided configuration
cisco.nxos.nxos_acls:
config:
- afi: ipv4
acls:
- name: NewACL
aces:
- grant: deny
source:
address: 192.0.2.0
wildcard_bits: 0.0.255.255
destination:
any: true
protocol: eigrp
- remark: Example for overridden state
state: overridden
# After state:
# ------------
#
# ip access-list NewACL
# 10 deny eigrp 192.0.2.0 0.0.255.255 any
# 20 remark Example for overridden state
# Using deleted:
#
# Before state:
# -------------
#
# ip access-list ACL1v4
# 10 permit ip any any
# 20 deny udp any any
# ip access-list ACL2v4
# 10 permit ahp 192.0.2.0 0.0.0.255 any
# ip access-list ACL1v6
# 10 permit sctp any any
# 20 remark IPv6 ACL
# ip access-list ACL2v6
# 10 deny ipv6 any 2001:db8:3000::/36
# 20 permit tcp 2001:db8:2000:2::2/128 2001:db8:2000:ab::2/128
- name: Delete all ACLs
cisco.nxos.nxos_acls:
config:
state: deleted
# After state:
# -----------
#
# Before state:
# -------------
#
# ip access-list ACL1v4
# 10 permit ip any any
# 20 deny udp any any
# ip access-list ACL2v4
# 10 permit ahp 192.0.2.0 0.0.0.255 any
# ip access-list ACL1v6
# 10 permit sctp any any
# 20 remark IPv6 ACL
# ip access-list ACL2v6
# 10 deny ipv6 any 2001:db8:3000::/36
# 20 permit tcp 2001:db8:2000:2::2/128 2001:db8:2000:ab::2/128
- name: Delete all ACLs in given AFI
cisco.nxos.nxos_acls:
config:
- afi: ipv4
state: deleted
# After state:
# ------------
#
# ip access-list ACL1v6
# 10 permit sctp any any
# 20 remark IPv6 ACL
# ip access-list ACL2v6
# 10 deny ipv6 any 2001:db8:3000::/36
# 20 permit tcp 2001:db8:2000:2::2/128 2001:db8:2000:ab::2/128
# Before state:
# -------------
#
# ip access-list ACL1v4
# 10 permit ip any any
# 20 deny udp any any
# ip access-list ACL2v4
# 10 permit ahp 192.0.2.0 0.0.0.255 any
# ipv6 access-list ACL1v6
# 10 permit sctp any any
# 20 remark IPv6 ACL
# ipv6 access-list ACL2v6
# 10 deny ipv6 any 2001:db8:3000::/36
# 20 permit tcp 2001:db8:2000:2::2/128 2001:db8:2000:ab::2/128
- name: Delete specific ACLs
cisco.nxos.nxos_acls:
config:
- afi: ipv4
acls:
- name: ACL1v4
- name: ACL2v4
- afi: ipv6
acls:
- name: ACL1v6
state: deleted
# After state:
# ------------
# ipv6 access-list ACL2v6
# 10 deny ipv6 any 2001:db8:3000::/36
# 20 permit tcp 2001:db8:2000:2::2/128 2001:db8:2000:ab::2/128
# Using parsed
- name: Parse given config to structured data
cisco.nxos.nxos_acls:
running_config: |
ip access-list ACL1v4
50 deny tcp any lt 55 192.0.2.64 0.0.0.255 ack fin
ipv6 access-list ACL1v6
10 permit sctp any any
state: parsed
# returns:
# parsed:
# - afi: ipv4
# acls:
# - name: ACL1v4
# aces:
# - grant: deny
# destination:
# address: 192.0.2.64
# wildcard_bits: 0.0.0.255
# source:
# any: true
# port_protocol:
# lt: 55
# protocol: tcp
# protocol_options:
# tcp:
# ack: true
# fin: true
# sequence: 50
#
# - afi: ipv6
# acls:
# - name: ACL1v6
# aces:
# - grant: permit
# sequence: 10
# source:
# any: true
# destination:
# prefix: 2001:db8:12::/32
# protocol: sctp
# Using gathered:
# Before state:
# ------------
#
# ip access-list ACL1v4
# 50 deny tcp any lt 55 192.0.2.64 0.0.0.255 ack fin
# ipv6 access-list ACL1v6
# 10 permit sctp any any
- name: Gather existing configuration
cisco.nxos.nxos_acls:
state: gathered
# returns:
# gathered:
# - afi: ipv4
# acls:
# - name: ACL1v4
# aces:
# - grant: deny
# destination:
# address: 192.0.2.64
# wildcard_bits: 0.0.0.255
# source:
# any: true
# port_protocol:
# lt: 55
# protocol: tcp
# protocol_options:
# tcp:
# ack: true
# fin: true
# sequence: 50
# - afi: ipv6
# acls:
# - name: ACL1v6
# aces:
# - grant: permit
# sequence: 10
# source:
# any: true
# destination:
# prefix: 2001:db8:12::/32
# protocol: sctp
# Using rendered
- name: Render required configuration to be pushed to the device
cisco.nxos.nxos_acls:
config:
- afi: ipv4
acls:
- name: ACL1v4
aces:
- grant: deny
destination:
address: 192.0.2.64
wildcard_bits: 0.0.0.255
source:
any: true
port_protocol:
lt: 55
protocol: tcp
protocol_options:
tcp:
ack: true
fin: true
sequence: 50
- afi: ipv6
acls:
- name: ACL1v6
aces:
- grant: permit
sequence: 10
source:
any: true
destination:
prefix: 2001:db8:12::/32
protocol: sctp
state: rendered
# returns:
# rendered:
# ip access-list ACL1v4
# 50 deny tcp any lt 55 192.0.2.64 0.0.0.255 ack fin
# ipv6 access-list ACL1v6
# 10 permit sctp any any
Значения возврата
Общие значения возврата документированы здесь, следующие — поля, уникальные для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| after словарь | при изменении | Вызов результирующей модели конфигурации. Пример: Возвращаемая конфигурация всегда будет иметь тот же формат, что и параметры выше. |
| before словарь | всегда | Конфигурация до вызова модели. Пример: Возвращаемая конфигурация всегда будет иметь тот же формат, что и параметры выше. |
| commands список / элементы=строка | всегда | Набор команд, отправленных на удаленное устройство. Пример: ['ip access-list ACL1v4', '10 permit ip any any precedence critical log', '20 deny tcp any lt smtp host 192.0.2.64 ack fin'] |
Авторы
- Adharsh Srivats Rangarajan (@adharshsrivatsr)
© 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/nxos/nxos_acls_module.html