Модуль arista.eos.eos_acls – модуль ресурсов ACL
Примечание
Этот модуль входит в коллекцию arista.eos (версия 9.0.0).
Возможно, эта коллекция уже установлена, если вы используете пакет 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 |
|
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 aliases: 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 |
Запрет сети Choices:
|
|
echo boolean |
Эхо (ping) Choices:
|
|
echo_reply boolean |
Ответ эхо Choices:
|
|
general_parameter_problem boolean |
Проблема с параметром Choices:
|
|
host_isolated boolean |
Хост изолирован Choices:
|
|
host_precedence_unreachable boolean |
Хост недоступен для приоритета Choices:
|
|
host_redirect boolean |
Перенаправление хоста Choices:
|
|
host_tos_redirect boolean |
Перенаправление хоста для TOS Choices:
|
|
host_tos_unreachable boolean |
Хост недоступен для TOS Choices:
|
|
host_unknown boolean |
Хост неизвестен Choices:
|
|
host_unreachable boolean |
Хост недоступен Choices:
|
|
information_reply boolean |
Ответы на запросы информации Choices:
|
|
information_request boolean |
Запросы информации Choices:
|
|
mask_reply boolean |
Ответы маски Choices:
|
|
mask_request boolean |
Запросы маски Choices:
|
|
message_code integer |
Код сообщения ICMP |
|
message_num integer |
Номер типа сообщения icmp. |
|
message_type integer |
Тип сообщения ICMP |
|
mobile_redirect boolean |
Перенаправление мобильного хоста Choices:
|
|
net_redirect boolean |
Перенаправление сети Choices:
|
|
net_tos_redirect boolean |
Перенаправление сети для TOS Choices:
|
|
net_tos_unreachable boolean |
Сеть недоступна для TOS Choices:
|
|
net_unreachable boolean |
Сеть недоступна Choices:
|
|
network_unknown boolean |
Неизвестная сеть Choices:
|
|
no_room_for_option boolean |
Необходимо значение параметра, но места нет Choices:
|
|
option_missing boolean |
Необходимо значение параметра, но его нет Choices:
|
|
packet_too_big boolean |
Требуется фрагментация, но установлен флаг DF Choices:
|
|
parameter_problem boolean |
Все проблемы с параметрами Choices:
|
|
port_unreachable boolean |
Порт недоступен Choices:
|
|
precedence_unreachable boolean |
Превышение приоритета Choices:
|
|
protocol_unreachable boolean |
Протокол недоступен Choices:
|
|
reassembly_timeout boolean |
Превышение времени сборки Choices:
|
|
redirect boolean |
Все перенаправления Choices:
|
|
router_advertisement boolean |
Объявления обнаружения маршрутизатора Choices:
|
|
router_solicitation boolean |
Запросы обнаружения маршрутизатора Choices:
|
|
source_quench boolean |
Заглушение источника Choices:
|
|
source_route_failed boolean |
Ошибка маршрута источника Choices:
|
|
time_exceeded boolean |
Все превышения времени Choices:
|
|
timestamp_reply boolean |
Ответы с меткой времени Choices:
|
|
timestamp_request boolean |
Запросы метки времени Choices:
|
|
traceroute boolean |
Трассировка маршрута Choices:
|
|
ttl_exceeded boolean |
Превышено время жизни (TTL) Choices:
|
|
unreachable boolean |
Все недостижимые Choices:
|
|
icmpv6 dictionary |
Параметры для icmpv6. |
|
address_unreachable boolean |
адрес недоступен Choices:
|
|
beyond_scope boolean |
beyond_scope Choices:
|
|
echo_reply boolean |
echo_reply Choices:
|
|
echo_request boolean |
echo запрос Choices:
|
|
erroneous_header boolean |
ошибочный заголовок Choices:
|
|
fragment_reassembly_exceeded boolean |
fragment_reassembly_exceeded Choices:
|
|
hop_limit_exceeded boolean |
превышен предел переходов Choices:
|
|
neighbor_advertisement boolean |
объявление соседа Choices:
|
|
neighbor_solicitation boolean |
запрос соседа Choices:
|
|
no_admin boolean |
нет администратора Choices:
|
|
no_route boolean |
нет маршрута Choices:
|
|
packet_too_big boolean |
пакет слишком большой Choices:
|
|
parameter_problem boolean |
проблема с параметром Choices:
|
|
port_unreachable boolean |
порт недоступен Choices:
|
|
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 |
Протокол Internet Protocol. |
|
nexthop_group string |
Имя группы nexthop. |
|
ipv6 dictionary |
Протокол Internet V6. |
|
nexthop_group string |
Имя группы nexthop. |
|
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 |
Маска подстановки источника |
|
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 | Этот параметр используется только со state parsed. Значение этого параметра должно быть результатом выполнения команды show running-config | section access-list на устройстве EOS. State 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 список / элементы=строка | Вызов модели конфигурации в результате. Возвращаемое значение: при изменении Пример: |
before список / элементы=строка | Конфигурация до вызова модели. Возвращаемое значение: всегда Пример: |
commands список / элементы=строка | Набор команд, отправленных на удаленное устройство. Возвращаемое значение: всегда Пример: |
Ссылки на сборку
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/arista/eos/eos_acls_module.html