модуль cisco.nxos.nxos_acls — модуль ресурсов ACL
Примечание
Этот модуль входит в коллекцию cisco.nxos (версия 11.2.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install cisco.nxos.
Чтобы использовать модуль в плейбуке, укажите: cisco.nxos.nxos_acls.
Добавлен в cisco.nxos 1.0.0
Краткое описание
- Управление именованными IP ACL на платформе Cisco NX-OS
Примечание
Этому модулю соответствует плагин действий.
Псевдонимы: acls
Параметры
Параметр | Комментарии |
|---|---|
config list / elements=dictionary | Словарь параметров ACL. |
|
acls list / elements=dictionary |
Список ACL. |
|
aces list / elements=dictionary |
Записи ACL. |
|
destination 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 |
Биты маски wildcard назначения. |
|
dscp string |
Сопоставлять пакеты с указанным значением DSCP. |
|
fragments boolean |
Проверять не первые фрагменты. Варианты:
|
|
grant string |
Действие, применяемое к правилу. Варианты:
|
|
log boolean |
Записывать в журнал совпадения с этой записью. Варианты:
|
|
precedence string |
Сопоставлять пакеты с указанным значением приоритета. |
|
protocol string |
Укажите протокол. |
|
protocol_options dictionary |
Все возможные подопции выбранного протокола. |
|
icmp dictionary |
Параметры протокола ICMP. |
|
administratively_prohibited boolean |
Административно запрещено Варианты:
|
|
alternate_address boolean |
Альтернативный адрес Варианты:
|
|
conversion_error boolean |
Преобразование дейтаграммы Варианты:
|
|
dod_host_prohibited boolean |
Доступ к узлу запрещён Варианты:
|
|
dod_net_prohibited boolean |
Доступ к сети запрещён Варианты:
|
|
echo boolean |
Эхо (ping) Варианты:
|
|
echo_reply boolean |
Эхо-ответ Варианты:
|
|
echo_request boolean |
Эхо-запрос (ping) Варианты:
|
|
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 |
Запросы маски Варианты:
|
|
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 |
Требуется фрагментация, установлен флаг 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 |
Трассировка маршрута Варианты:
|
|
ttl_exceeded boolean |
Превышено значение TTL Варианты:
|
|
unreachable boolean |
Все сообщения о недоступности Варианты:
|
|
icmpv6 dictionary |
Параметры протокола ICMPv6. |
|
beyond_scope boolean |
Адрес назначения находится за пределами области действия. Варианты:
|
|
destination_unreachable boolean |
Адрес назначения недоступен. Варианты:
|
|
echo_reply boolean |
Ответ на эхо-запрос. Варианты:
|
|
echo_request boolean |
Эхо-запрос (ping). Варианты:
|
|
fragments boolean |
Проверка нефинальных фрагментов. Варианты:
|
|
header boolean |
Проблема с заголовком параметров. Варианты:
|
|
hop_limit boolean |
Превышен лимит переходов при передаче. Варианты:
|
|
mld_query boolean |
Запрос обнаружения слушателей многоадресной рассылки. Варианты:
|
|
mld_reduction boolean |
Сокращение обмена сообщениями протокола обнаружения слушателей многоадресной рассылки. Варианты:
|
|
mld_report boolean |
Отчёт протокола обнаружения слушателей многоадресной рассылки. Варианты:
|
|
mldv2 boolean |
Протокол обнаружения слушателей многоадресной рассылки. Варианты:
|
|
nd_na boolean |
Объявления соседей протокола обнаружения соседей. Варианты:
|
|
nd_ns boolean |
Запросы соседей протокола обнаружения соседей. Варианты:
|
|
next_header boolean |
Проблемы с заголовком следующего уровня. Варианты:
|
|
no_admin boolean |
Административно запрещённое назначение. Варианты:
|
|
no_route boolean |
Маршрут к назначению отсутствует. Варианты:
|
|
packet_too_big boolean |
Слишком большой пакет. Варианты:
|
|
parameter_option boolean |
Проблемы с параметром. Варианты:
|
|
parameter_problem boolean |
Все сообщения о проблемах с параметрами. Варианты:
|
|
port_unreachable boolean |
Порт недоступен. Варианты:
|
|
reassembly_timeout boolean |
Истекло время ожидания сборки фрагментов. Варианты:
|
|
renum_command boolean |
Команда перенумерации маршрутизатора. Варианты:
|
|
renum_result boolean |
Результат перенумерации маршрутизатора. Варианты:
|
|
renum_seq_number boolean |
Сброс порядкового номера перенумерации маршрутизатора. Варианты:
|
|
router_advertisement boolean |
Объявления маршрутизатора протокола обнаружения соседей. Варианты:
|
|
router_renumbering boolean |
Все сообщения о перенумерации маршрутизатора. Варианты:
|
|
router_solicitation boolean |
Запросы маршрутизатора протокола обнаружения соседей. Варианты:
|
|
telemetry_path boolean |
IPT включён. Варианты:
|
|
telemetry_queue boolean |
Интересующий поток для BDC/HDC. Варианты:
|
|
time_exceeded boolean |
Все сообщения о превышении времени ожидания. Варианты:
|
|
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 / обязательный |
Имя ACL. |
|
afi string / обязательный |
Индикатор семейства адресов (AFI) для ACL. Варианты:
|
running_config string | Этот параметр используется только при состоянии parsed. Значением этого параметра должен быть вывод, полученный с устройства NX-OS при выполнении команды show running-config | section ‘ip(v6* access-list). Состояние parsed считывает конфигурацию из параметра |
state string | Состояние, в котором должна остаться конфигурация Варианты:
|
Примечания
Примечание
- Проверено на NX-OS 7.3.(0)D1(1) в VIRL
- Не поддерживается на Cisco MDS
- Поскольку NX-OS позволяет повторно настроить правило с другими номерами последовательности, пользователю необходимо указать номера последовательности для записей контроля доступа, чтобы обеспечить идемпотентность. Если номер последовательности не указан, устройство добавит правило как новое.
Примеры
# Using merged
# Before state:
# -------------
# nxos-9k# show running-config | section '^ip(v6)* access-list'
- name: Merge provided ACLs configuration with device configuration
cisco.nxos.nxos_acls:
state: merged
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
# Task Output
# -----------
# before: []
#
# commands:
# - 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 2001:db8:12::/32
#
# after:
# - acls:
# - aces:
# - destination:
# prefix: 2001:db8:12::/32
# grant: permit
# protocol: sctp
# sequence: 10
# source:
# any: true
# name: ACL1v6
# afi: ipv6
# - acls:
# - aces:
# - destination:
# address: 192.0.2.64
# wildcard_bits: 0.0.0.255
# grant: deny
# protocol: tcp
# protocol_options:
# tcp:
# ack: true
# fin: true
# sequence: 50
# source:
# any: true
# port_protocol:
# lt: '55'
# name: ACL1v4
# afi: ipv4
# After state:
# ------------
#
# nxos-9k# show running-config | section '^ip(v6)* access-list'
# 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:
# ----------------
# nxos-9k# show running-config | section '^ip(v6)* access-list'
# 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: 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: pim
- remark: Replaced ACE
- name: ACL2v6
state: replaced
# Task Output
# -----------
# before:
# - acls:
# - aces:
# - destination:
# any: true
# grant: permit
# protocol: sctp
# sequence: 10
# source:
# any: true
# - remark: IPv6 ACL
# sequence: 20
# name: ACL1v6
# - aces:
# - destination:
# prefix: 2001:db8:3000::/36
# grant: deny
# protocol: ipv6
# sequence: 10
# source:
# any: true
# - destination:
# host: 2001:db8:2000:ab::2
# grant: permit
# protocol: tcp
# sequence: 20
# source:
# host: 2001:db8:2000:2::2
# name: ACL2v6
# afi: ipv6
# - acls:
# - aces:
# - destination:
# any: true
# grant: permit
# protocol: ip
# sequence: 10
# source:
# any: true
# - destination:
# any: true
# grant: deny
# protocol: udp
# sequence: 20
# source:
# any: true
# name: ACL1v4
# - aces:
# - destination:
# any: true
# grant: permit
# protocol: ahp
# sequence: 10
# source:
# address: 192.0.2.0
# wildcard_bits: 0.0.0.255
# name: ACL2v4
# afi: ipv4
#
# commands:
# - no ip access-list ACL1v4
# - no ip access-list ACL2v4
# - ipv6 access-list ACL1v6
# - no 10 permit sctp any any
# - no 20 remark IPv6 ACL
# - remark Replaced ACE
# - 20 permit pim any any
# - ipv6 access-list ACL2v6
# - no 10 deny ipv6 any 2001:db8:3000::/36
# - no 20 permit tcp host 2001:db8:2000:2::2 host 2001:db8:2000:ab::2
#
# after:
# - acls:
# - aces:
# - remark: Replaced ACE
# sequence: 10
# - destination:
# any: true
# grant: permit
# protocol: pim
# sequence: 20
# source:
# any: true
# name: ACL1v6
# - name: ACL2v6
# afi: ipv6
# After state:
# ---------------
# nxos-9k# show running-config | section '^ip(v6)* access-list'
# ipv6 access-list ACL1v6
# 10 remark Replaced ACE
# 20 permit pim any any
# ipv6 access-list ACL2v6
# Using overridden
# Before state:
# ----------------
# nxos-9k# show running-config | section '^ip(v6)* access-list'
# 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: 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
# Task Output
# -----------
#
# before:
# - acls:
# - aces:
# - destination:
# any: true
# grant: permit
# protocol: sctp
# sequence: 10
# source:
# any: true
# - remark: IPv6 ACL
# sequence: 20
# name: ACL1v6
# - aces:
# - destination:
# prefix: 2001:db8:3000::/36
# grant: deny
# protocol: ipv6
# sequence: 10
# source:
# any: true
# - destination:
# host: 2001:db8:2000:ab::2
# grant: permit
# protocol: tcp
# sequence: 20
# source:
# host: 2001:db8:2000:2::2
# name: ACL2v6
# afi: ipv6
# - acls:
# - aces:
# - destination:
# any: true
# grant: permit
# protocol: ip
# sequence: 10
# source:
# any: true
# - destination:
# any: true
# grant: deny
# protocol: udp
# sequence: 20
# source:
# any: true
# name: ACL1v4
# - aces:
# - destination:
# any: true
# grant: permit
# protocol: ahp
# sequence: 10
# source:
# address: 192.0.2.0
# wildcard_bits: 0.0.0.255
# name: ACL2v4
# afi: ipv4
#
# commands:
# - no ipv6 access-list ACL1v6
# - no ipv6 access-list ACL2v6
# - no ip access-list ACL1v4
# - no ip access-list ACL2v4
# - ip access-list NewACL
# - deny eigrp 192.0.2.0 0.0.255.255 any
# - remark Example for overridden state
#
# after:
# - acls:
# - aces:
# - destination:
# any: true
# grant: deny
# protocol: eigrp
# sequence: 10
# source:
# address: 192.0.2.0
# wildcard_bits: 0.0.255.255
# - remark: Example for overridden state
# sequence: 20
# name: NewACL
# afi: ipv4
# After state:
# ------------
# nxos-9k# show running-config | section '^ip(v6)* access-list'
# ip access-list NewACL
# 10 deny eigrp 192.0.2.0 0.0.255.255 any
# 20 remark Example for overridden state
# Using deleted - delete all
#
# Before state:
# -------------
# nxos-9k# show running-config | section '^ip(v6)* access-list'
# 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:
state: deleted
# Task Output
# -----------
#
# before:
# - acls:
# - aces:
# - destination:
# any: true
# grant: permit
# protocol: sctp
# sequence: 10
# source:
# any: true
# - remark: IPv6 ACL
# sequence: 20
# name: ACL1v6
# - aces:
# - destination:
# prefix: 2001:db8:3000::/36
# grant: deny
# protocol: ipv6
# sequence: 10
# source:
# any: true
# - destination:
# host: 2001:db8:2000:ab::2
# grant: permit
# protocol: tcp
# sequence: 20
# source:
# host: 2001:db8:2000:2::2
# name: ACL2v6
# afi: ipv6
# - acls:
# - aces:
# - destination:
# any: true
# grant: permit
# protocol: ip
# sequence: 10
# source:
# any: true
# - destination:
# any: true
# grant: deny
# protocol: udp
# sequence: 20
# source:
# any: true
# name: ACL1v4
# - aces:
# - destination:
# any: true
# grant: permit
# protocol: ahp
# sequence: 10
# source:
# address: 192.0.2.0
# wildcard_bits: 0.0.0.255
# name: ACL2v4
# afi: ipv4
#
# commands:
# - no ip access-list ACL1v4
# - no ip access-list ACL2v4
# - no ipv6 access-list ACL1v6
# - no ipv6 access-list ACL2v6
#
# after: []
# After state:
# -----------
# nxos-9k# show running-config | section '^ip(v6)* access-list'
#
# Using deleted - delete AFI
# Before state:
# -------------
# nxos-9k# show running-config | section '^ip(v6)* access-list'
# 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
# Task Output
# -----------
#
# before:
# - acls:
# - aces:
# - destination:
# any: true
# grant: permit
# protocol: sctp
# sequence: 10
# source:
# any: true
# - remark: IPv6 ACL
# sequence: 20
# name: ACL1v6
# - aces:
# - destination:
# prefix: 2001:db8:3000::/36
# grant: deny
# protocol: ipv6
# sequence: 10
# source:
# any: true
# - destination:
# host: 2001:db8:2000:ab::2
# grant: permit
# protocol: tcp
# sequence: 20
# source:
# host: 2001:db8:2000:2::2
# name: ACL2v6
# afi: ipv6
# - acls:
# - aces:
# - destination:
# any: true
# grant: permit
# protocol: ip
# sequence: 10
# source:
# any: true
# - destination:
# any: true
# grant: deny
# protocol: udp
# sequence: 20
# source:
# any: true
# name: ACL1v4
# - aces:
# - destination:
# any: true
# grant: permit
# protocol: ahp
# sequence: 10
# source:
# address: 192.0.2.0
# wildcard_bits: 0.0.0.255
# name: ACL2v4
# afi: ipv4
#
# commands:
# - no ip access-list ACL1v4
# - no ip access-list ACL2v4
#
# after:
# - acls:
# - aces:
# - destination:
# any: true
# grant: permit
# protocol: sctp
# sequence: 10
# source:
# any: true
# - remark: IPv6 ACL
# sequence: 20
# name: ACL1v6
# - aces:
# - destination:
# prefix: 2001:db8:3000::/36
# grant: deny
# protocol: ipv6
# sequence: 10
# source:
# any: true
# - destination:
# host: 2001:db8:2000:ab::2
# grant: permit
# protocol: tcp
# sequence: 20
# source:
# host: 2001:db8:2000:2::2
# name: ACL2v6
# afi: ipv6
# After state:
# ------------
# nxos-9k# show running-config | section '^ip(v6)* access-list'
# 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
# Using deleted - delete ACLs
# Before state:
# -------------
# nxos-9k# show running-config | section '^ip(v6)* access-list'
# 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:
state: deleted
config:
- afi: ipv4
acls:
- name: ACL1v4
- name: ACL2v4
- afi: ipv6
acls:
- name: ACL1v6
# Task Output
# -----------
#
# before:
# - acls:
# - aces:
# - destination:
# any: true
# grant: permit
# protocol: sctp
# sequence: 10
# source:
# any: true
# - remark: IPv6 ACL
# sequence: 20
# name: ACL1v6
# - aces:
# - destination:
# prefix: 2001:db8:3000::/36
# grant: deny
# protocol: ipv6
# sequence: 10
# source:
# any: true
# - destination:
# host: 2001:db8:2000:ab::2
# grant: permit
# protocol: tcp
# sequence: 20
# source:
# host: 2001:db8:2000:2::2
# name: ACL2v6
# afi: ipv6
# - acls:
# - aces:
# - destination:
# any: true
# grant: permit
# protocol: ip
# sequence: 10
# source:
# any: true
# - destination:
# any: true
# grant: deny
# protocol: udp
# sequence: 20
# source:
# any: true
# name: ACL1v4
# - aces:
# - destination:
# any: true
# grant: permit
# protocol: ahp
# sequence: 10
# source:
# address: 192.0.2.0
# wildcard_bits: 0.0.0.255
# name: ACL2v4
# afi: ipv4
#
# commands:
# - no ip access-list ACL1v4
# - no ip access-list ACL2v4
# - no ipv6 access-list ACL1v6
#
# after:
# - acls:
# - aces:
# - destination:
# prefix: 2001:db8:3000::/36
# grant: deny
# protocol: ipv6
# sequence: 10
# source:
# any: true
# - destination:
# host: 2001:db8:2000:ab::2
# grant: permit
# protocol: tcp
# sequence: 20
# source:
# host: 2001:db8:2000:2::2
# name: ACL2v6
# afi: ipv6
# After state:
# ------------
# nxos-9k# show running-config | section '^ip(v6)* access-list'
# 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
# Task Output
# ------------
#
# 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:
# ------------
# nxos-9k# show running-config | section '^ip(v6)* access-list'
# 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
# Task Output
# -----------
#
# 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
# Task Output
# -----------
#
# 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 dictionary | Конфигурационная модель после выполнения. Возвращается: при изменении Пример: |
before dictionary | Конфигурация до выполнения модели. Возвращается: всегда Пример: |
commands list / elements=string | Набор команд, отправленных на удалённое устройство. Возвращается: всегда Пример: |
gathered list / elements=string | Факты о сетевом ресурсе, собранные с удалённого устройства в виде структурированных данных. Возвращается: когда state равно Пример: |
parsed list / elements=string | Собственная конфигурация устройства, переданная в параметре running_config и преобразованная в структурированные данные согласно спецификации аргументов модуля. Возвращается: когда state равно Пример: |
rendered list / elements=string | Переданная в задаче конфигурация преобразована в собственный формат устройства (без подключения к устройству). Возвращается: когда state равно Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/cisco/nxos/nxos_acls_module.html