Модуль arista.eos.eos_acls — модуль ресурсов ACL
Примечание
Этот модуль входит в коллекцию arista.eos (версия 12.1.2).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install arista.eos.
Чтобы использовать её в плейбуке, укажите: arista.eos.eos_acls.
Добавлено в arista.eos 1.0.0
Краткое описание
- Этот модуль управляет атрибутами списков контроля доступа IP интерфейсов Arista EOS.
Примечание
Для этого модуля имеется соответствующий плагин действий.
Псевдонимы: acls
Параметры
Параметр | Комментарии |
|---|---|
config list / elements=dictionary | Словарь параметров IP ACL |
|
acls list / elements=dictionary |
Список списков контроля доступа (ACL). |
|
aces list / elements=dictionary |
Данные фильтрации |
|
destination dictionary |
Адрес назначения пакета |
|
address string |
IP-адрес в десятичной точечной нотации |
|
any boolean |
Правило соответствует всем адресам источника Варианты:
|
|
host string |
IP-адрес узла |
|
port_protocol dictionary |
Укажите порт/протокол назначения вместе с оператором . (используется с tcp/udp). |
|
subnet_address string |
Адрес подсети |
|
wildcard_bits string |
Биты маски источника |
|
fragment_rules boolean |
Добавить правила для фрагментов Варианты:
|
|
fragments boolean |
Соответствие пакетам нефинальных фрагментов Варианты:
|
|
grant string |
Действие, применяемое к правилу Варианты:
|
|
hop_limit dictionary |
Значение лимита переходов. |
|
line псевдонимы: ace string |
При сборе фактов любая ACE, которая не была полностью проанализирована, будет отображаться как значение этого атрибута. |
|
log boolean |
Записывать в журнал совпадения с этим правилом Варианты:
|
|
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 |
Эхо-ответ Варианты:
|
|
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_num 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. |
|
address_unreachable boolean |
Адрес недоступен Варианты:
|
|
beyond_scope boolean |
За пределами области действия Варианты:
|
|
echo_reply boolean |
Ответ на эхо-запрос Варианты:
|
|
echo_request boolean |
Эхо-запрос Варианты:
|
|
erroneous_header boolean |
Ошибочный заголовок Варианты:
|
|
fragment_reassembly_exceeded boolean |
Превышено время сборки фрагментов Варианты:
|
|
hop_limit_exceeded boolean |
Превышен лимит переходов Варианты:
|
|
neighbor_advertisement boolean |
Объявление соседа Варианты:
|
|
neighbor_solicitation boolean |
Запрос соседа Варианты:
|
|
no_admin boolean |
Административный запрет отсутствует Варианты:
|
|
no_route boolean |
Маршрут отсутствует Варианты:
|
|
packet_too_big boolean |
Слишком большой пакет Варианты:
|
|
parameter_problem boolean |
Проблема с параметром Варианты:
|
|
port_unreachable boolean |
Порт недоступен Варианты:
|
|
redirect_message boolean |
Сообщение перенаправления Варианты:
|
|
reject_route boolean |
Отклонить маршрут Варианты:
|
|
router_advertisement boolean |
Объявление маршрутизатора Варианты:
|
|
router_solicitation boolean |
Запрос маршрутизатора Варианты:
|
|
source_address_failed boolean |
Ошибка адреса источника Варианты:
|
|
source_routing_error boolean |
Ошибка маршрутизации от источника Варианты:
|
|
time_exceeded boolean |
Превышено время Варианты:
|
|
unreachable boolean |
Недоступен Варианты:
|
|
unrecognized_ipv6_option boolean |
Неопознанная опция IPv6 Варианты:
|
|
unrecognized_next_header boolean |
Неопознанный заголовок следующего протокола Варианты:
|
|
ip dictionary |
Протокол Интернета. |
|
nexthop_group string |
Имя группы следующего перехода. |
|
ipv6 dictionary |
Протокол IPv6. |
|
nexthop_group string |
Имя группы следующего перехода. |
|
tcp dictionary |
Параметры протокола TCP. |
|
flags 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 |
IP-адрес в десятичной точечной нотации |
|
any boolean |
Правило соответствует любому адресу источника Варианты:
|
|
host string |
IP-адрес узла |
|
port_protocol dictionary |
Указать исходный порт/протокол вместе с оператором (используется с TCP/UDP). |
|
subnet_address string |
Адрес подсети |
|
wildcard_bits string |
Маска wildcard источника |
|
tracked boolean |
Сопоставление пакетов в существующих соединениях ICMP/UDP/TCP Варианты:
|
|
ttl dictionary |
Сравнивает значение TTL (времени жизни) в пакете с указанным значением |
|
eq integer |
Соответствие единственному значению TTL |
|
gt integer |
Соответствие TTL, превышающему это число |
|
lt integer |
Соответствие TTL, меньшему этого числа |
|
neq integer |
Соответствие TTL, не равному этому значению |
|
vlan string |
Параметры VLAN |
|
name string / обязательный |
Имя списка ACL |
|
standard boolean |
Является ли список контроля доступа стандартным Варианты:
|
|
afi string / обязательный |
Индикатор семейства адресов (AFI) для списков контроля доступа (ACL). Варианты:
|
running_config string | Этот параметр используется только при состоянии parsed. Значением этого параметра должен быть вывод, полученный от устройства EOS при выполнении команды show running-config | section access-list. Состояние parsed считывает конфигурацию из параметра |
state string | Состояние, в котором должна остаться конфигурация. Варианты:
|
Примечания
Примечание
- Проверено на Arista EOS 4.24.6F
Примеры
# Using merged
# Before state:
# -------------
# show running-config | section access-list
# ip access-list test1
# 10 permit ip 10.10.10.0/24 any ttl eq 200
# 20 permit ip 10.30.10.0/24 host 10.20.10.1
# 30 deny tcp host 10.10.20.1 eq finger www any syn log
# 40 permit ip any any
# ipv6 access-list test2
# 10 deny icmpv6 any any reject-route hop-limit eq 20
- name: Merge provided configuration with device configuration
arista.eos.eos_acls:
config:
- afi: ipv4
acls:
- name: test1
aces:
- sequence: 35
grant: deny
protocol: ospf
source:
subnet_address: 20.0.0.0/8
destination:
any: true
state: merged
# After state:
# ------------
#
# show running-config | section access-list
# ip access-list test1
# 10 permit ip 10.10.10.0/24 any ttl eq 200
# 20 permit ip 10.30.10.0/24 host 10.20.10.1
# 30 deny tcp host 10.10.20.1 eq finger www any syn log
# 35 deny ospf 20.0.0.0/8 any
# 40 permit ip any any
# ipv6 access-list test2
# 10 deny icmpv6 any any reject-route hop-limit eq 20
# Using merged
# Before state:
# -------------
# show running-config | section access-list
# ip access-list test1
# 10 permit ip 10.10.10.0/24 any ttl eq 200
# 20 permit ip 10.30.10.0/24 host 10.20.10.1
# 30 deny tcp host 10.10.20.1 eq finger www any syn log
# 40 permit ip any any
# ipv6 access-list test2
# 10 deny icmpv6 any any reject-route hop-limit eq 20
- name: Merge to update the given configuration with an existing ace
arista.eos.eos_acls:
config:
- afi: ipv4
acls:
- name: test1
aces:
- sequence: 35
log: true
ttl:
eq: 33
state: merged
# After state:
# ------------
#
# show running-config | section access-list
# ip access-list test1
# 10 permit ip 10.10.10.0/24 any ttl eq 200
# 20 permit ip 10.30.10.0/24 host 10.20.10.1
# 30 deny tcp host 10.10.20.1 eq finger www any syn log
# 35 deny ospf 20.0.0.0/8 any ttl eq 33 log
# 40 permit ip any any
# ipv6 access-list test2
# 10 deny icmpv6 any any reject-route hop-limit eq 20
# Using replaced
# Before state:
# -------------
# show running-config | section access-list
# ip access-list test1
# 10 permit ip 10.10.10.0/24 any ttl eq 200
# 20 permit ip 10.30.10.0/24 host 10.20.10.1
# 30 deny tcp host 10.10.20.1 eq finger www any syn log
# 40 permit ip any any
# !
# ip access-list test3
# 10 permit ip 35.33.0.0/16 any log
# !
# ipv6 access-list test2
# 10 deny icmpv6 any any reject-route hop-limit eq 20
- name: Replace device configuration with provided configuration
arista.eos.eos_acls:
config:
- afi: ipv4
acls:
- name: test1
aces:
- sequence: 35
grant: permit
protocol: ospf
source:
subnet_address: 20.0.0.0/8
destination:
any: true
state: replaced
# After state:
# ------------
#
# show running-config | section access-list
# ip access-list test1
# 35 permit ospf 20.0.0.0/8 any
# !
# ip access-list test3
# 10 permit ip 35.33.0.0/16 any log
# !
# ipv6 access-list test2
# 10 deny icmpv6 any any reject-route hop-limit eq 20
# Using overridden
# Before state:
# -------------
# show running-config | section access-list
# ip access-list test1
# 10 permit ip 10.10.10.0/24 any ttl eq 200
# 20 permit ip 10.30.10.0/24 host 10.20.10.1
# 30 deny tcp host 10.10.20.1 eq finger www any syn log
# 40 permit ip any any
# !
# ip access-list test3
# 10 permit ip 35.33.0.0/16 any log
# !
# ipv6 access-list test2
# 10 deny icmpv6 any any reject-route hop-limit eq 20
- name: override device configuration with provided configuration
arista.eos.eos_acls:
config:
- afi: ipv4
acls:
- name: test1
aces:
- sequence: 35
grant: permit
protocol: ospf
source:
subnet_address: 20.0.0.0/8
destination:
any: true
state: overridden
# After state:
# ------------
#
# show running-config | section access-list
# ip access-list test1
# 35 permit ospf 20.0.0.0/8 any
# !
# Using deleted:
# Before state:
# -------------
# show running-config | section access-list
# ip access-list test1
# 10 permit ip 10.10.10.0/24 any ttl eq 200
# 20 permit ip 10.30.10.0/24 host 10.20.10.1
# 30 deny tcp host 10.10.20.1 eq finger www any syn log
# 40 permit ip any any
# ipv6 access-list test2
# 10 deny icmpv6 any any reject-route hop-limit eq 20
# !
- name: Delete provided configuration
arista.eos.eos_acls:
config:
- afi: ipv4
acls:
- name: test1
state: deleted
# After state:
# ------------
#
# show running-config | section access-list
# ipv6 access-list test2
# 10 deny icmpv6 any any reject-route hop-limit eq 20
# using gathered
# ip access-list test1
# 35 deny ospf 20.0.0.0/8 any
# ip access-list test2
# 40 permit vlan 55 0xE2 icmpv6 any any log
- name: Gather the existing configuration
arista.eos.eos_acls:
state: gathered
# returns:
# arista.eos.eos_acls:
# config:
# - afi: "ipv4"
# acls:
# - name: test1
# aces:
# - sequence: 35
# grant: "deny"
# protocol: "ospf"
# source:
# subnet_address: 20.0.0.0/8
# destination:
# any: true
# - afi: "ipv6"
# acls:
# - name: test2
# aces:
# - sequence: 40
# grant: "permit"
# vlan: "55 0xE2"
# protocol: "icmpv6"
# log: true
# source:
# any: true
# destination:
# any: true
# using rendered
- name: Delete provided configuration
arista.eos.eos_acls:
config:
- afi: ipv4
acls:
- name: test1
aces:
- sequence: 35
grant: deny
protocol: ospf
source:
subnet_address: 20.0.0.0/8
destination:
any: true
- afi: ipv6
acls:
- name: test2
aces:
- sequence: 40
grant: permit
vlan: 55 0xE2
protocol: icmpv6
log: true
source:
any: true
destination:
any: true
state: rendered
# returns:
# ip access-list test1
# 35 deny ospf 20.0.0.0/8 any
# ip access-list test2
# 40 permit vlan 55 0xE2 icmpv6 any any log
# Using Parsed
# parsed_acls.cfg
# ipv6 access-list standard test2
# 10 permit any log
# !
# ip access-list test1
# 35 deny ospf 20.0.0.0/8 any
# 45 remark Run by ansible
# 55 permit tcp any any
# !
- name: parse configs
arista.eos.eos_acls:
running_config: "{{ lookup('file', './parsed_acls.cfg') }}"
state: parsed
# returns
# "parsed": [
# {
# "acls": [
# {
# "aces": [
# {
# "destination": {
# "any": true
# },
# "grant": "deny",
# "protocol": "ospf",
# "sequence": 35,
# "source": {
# "subnet_address": "20.0.0.0/8"
# }
# },
# {
# "remark": "Run by ansible",
# "sequence": 45
# },
# {
# "destination": {
# "any": true
# },
# "grant": "permit",
# "protocol": "tcp",
# "sequence": 55,
# "source": {
# "any": true
# }
# }
# ],
# "name": "test1"
# }
# ],
# "afi": "ipv4"
# },
# {
# "acls": [
# {
# "aces": [
# {
# "grant": "permit",
# "log": true,
# "sequence": 10,
# "source": {
# "any": true
# }
# }
# ],
# "name": "test2",
# "standard": true
# }
# ],
# "afi": "ipv6"
# }
# ]
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
after list / elements=string | Результирующая конфигурация после вызова модели. Возвращается: при изменении Пример: |
before list / elements=string | Конфигурация до вызова модели. Возвращается: всегда Пример: |
commands list / elements=string | Набор команд, отправленных на удалённое устройство. Возвращается: всегда Пример: |
Ссылки на коллекцию
© 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/arista/eos/eos_acls_module.html