Spec-Zone.ru › Ansible

Модуль 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

Правило соответствует всем адресам источника

Варианты:

  • false
  • true

host

string

IP-адрес узла

port_protocol

dictionary

Укажите порт/протокол назначения вместе с оператором . (используется с tcp/udp).

subnet_address

string

Адрес подсети

wildcard_bits

string

Биты маски источника

fragment_rules

boolean

Добавить правила для фрагментов

Варианты:

  • false
  • true

fragments

boolean

Соответствие пакетам нефинальных фрагментов

Варианты:

  • false
  • true

grant

string

Действие, применяемое к правилу

Варианты:

  • "permit"
  • "deny"

hop_limit

dictionary

Значение лимита переходов.

line

псевдонимы: ace

string

При сборе фактов любая ACE, которая не была полностью проанализирована, будет отображаться как значение этого атрибута.

log

boolean

Записывать в журнал совпадения с этим правилом

Варианты:

  • false
  • true

protocol

string

Укажите протокол для сопоставления.

Допустимые значения см. в документации поставщика.

protocol_options

dictionary

Все возможные подопции для выбранного протокола.

icmp

dictionary

Параметры протокола управляющих сообщений Интернета (ICMP).

administratively_prohibited

boolean

Запрещено администратором

Варианты:

  • false
  • true

alternate_address

boolean

Альтернативный адрес

Варианты:

  • false
  • true

conversion_error

boolean

Преобразование датаграммы

Варианты:

  • false
  • true

dod_host_prohibited

boolean

Доступ к узлу запрещён

Варианты:

  • false
  • true

dod_net_prohibited

boolean

Доступ к сети запрещён

Варианты:

  • false
  • true

echo

boolean

Эхо-запрос (ping)

Варианты:

  • false
  • true

echo_reply

boolean

Эхо-ответ

Варианты:

  • false
  • true

general_parameter_problem

boolean

Проблема с параметром

Варианты:

  • false
  • true

host_isolated

boolean

Узел изолирован

Варианты:

  • false
  • true

host_precedence_unreachable

boolean

Узел недоступен из-за приоритета

Варианты:

  • false
  • true

host_redirect

boolean

Перенаправление для узла

Варианты:

  • false
  • true

host_tos_redirect

boolean

Перенаправление для узла по TOS

Варианты:

  • false
  • true

host_tos_unreachable

boolean

Узел недоступен по TOS

Варианты:

  • false
  • true

host_unknown

boolean

Неизвестный узел

Варианты:

  • false
  • true

host_unreachable

boolean

Узел недоступен

Варианты:

  • false
  • true

information_reply

boolean

Ответы с информацией

Варианты:

  • false
  • true

information_request

boolean

Запросы информации

Варианты:

  • false
  • true

mask_reply

boolean

Ответы с маской

Варианты:

  • false
  • true

mask_request

boolean

Запросы маски

Варианты:

  • false
  • true

message_code

integer

Код сообщения ICMP

message_num

integer

Номер типа сообщения ICMP.

message_type

integer

Тип сообщения ICMP

mobile_redirect

boolean

Перенаправление для мобильного узла

Варианты:

  • false
  • true

net_redirect

boolean

Перенаправление для сети

Варианты:

  • false
  • true

net_tos_redirect

boolean

Перенаправление сети по TOS

Варианты:

  • false
  • true

net_tos_unreachable

boolean

Сеть недоступна по TOS

Варианты:

  • false
  • true

net_unreachable

boolean

Сеть недоступна

Варианты:

  • false
  • true

network_unknown

boolean

Неизвестная сеть

Варианты:

  • false
  • true

no_room_for_option

boolean

Параметр необходим, но для него нет места

Варианты:

  • false
  • true

option_missing

boolean

Параметр необходим, но отсутствует

Варианты:

  • false
  • true

packet_too_big

boolean

Требуется фрагментация, установлен флаг DF

Варианты:

  • false
  • true

parameter_problem

boolean

Все проблемы с параметрами

Варианты:

  • false
  • true

port_unreachable

boolean

Порт недоступен

Варианты:

  • false
  • true

precedence_unreachable

boolean

Ограничение по приоритету

Варианты:

  • false
  • true

protocol_unreachable

boolean

Протокол недоступен

Варианты:

  • false
  • true

reassembly_timeout

boolean

Тайм-аут повторной сборки

Варианты:

  • false
  • true

redirect

boolean

Все перенаправления

Варианты:

  • false
  • true

router_advertisement

boolean

Объявления обнаружения маршрутизатора

Варианты:

  • false
  • true

router_solicitation

boolean

Запросы обнаружения маршрутизатора

Варианты:

  • false
  • true

source_quench

boolean

Сообщения о подавлении источника

Варианты:

  • false
  • true

source_route_failed

boolean

Ошибка маршрутизации от источника

Варианты:

  • false
  • true

time_exceeded

boolean

Все сообщения о превышении времени

Варианты:

  • false
  • true

timestamp_reply

boolean

Ответы с отметкой времени

Варианты:

  • false
  • true

timestamp_request

boolean

Запросы отметки времени

Варианты:

  • false
  • true

traceroute

boolean

Трассировка маршрута

Варианты:

  • false
  • true

ttl_exceeded

boolean

Превышено значение TTL

Варианты:

  • false
  • true

unreachable

boolean

Все сообщения о недоступности

Варианты:

  • false
  • true

icmpv6

dictionary

Параметры ICMPv6.

address_unreachable

boolean

Адрес недоступен

Варианты:

  • false
  • true

beyond_scope

boolean

За пределами области действия

Варианты:

  • false
  • true

echo_reply

boolean

Ответ на эхо-запрос

Варианты:

  • false
  • true

echo_request

boolean

Эхо-запрос

Варианты:

  • false
  • true

erroneous_header

boolean

Ошибочный заголовок

Варианты:

  • false
  • true

fragment_reassembly_exceeded

boolean

Превышено время сборки фрагментов

Варианты:

  • false
  • true

hop_limit_exceeded

boolean

Превышен лимит переходов

Варианты:

  • false
  • true

neighbor_advertisement

boolean

Объявление соседа

Варианты:

  • false
  • true

neighbor_solicitation

boolean

Запрос соседа

Варианты:

  • false
  • true

no_admin

boolean

Административный запрет отсутствует

Варианты:

  • false
  • true

no_route

boolean

Маршрут отсутствует

Варианты:

  • false
  • true

packet_too_big

boolean

Слишком большой пакет

Варианты:

  • false
  • true

parameter_problem

boolean

Проблема с параметром

Варианты:

  • false
  • true

port_unreachable

boolean

Порт недоступен

Варианты:

  • false
  • true

redirect_message

boolean

Сообщение перенаправления

Варианты:

  • false
  • true

reject_route

boolean

Отклонить маршрут

Варианты:

  • false
  • true

router_advertisement

boolean

Объявление маршрутизатора

Варианты:

  • false
  • true

router_solicitation

boolean

Запрос маршрутизатора

Варианты:

  • false
  • true

source_address_failed

boolean

Ошибка адреса источника

Варианты:

  • false
  • true

source_routing_error

boolean

Ошибка маршрутизации от источника

Варианты:

  • false
  • true

time_exceeded

boolean

Превышено время

Варианты:

  • false
  • true

unreachable

boolean

Недоступен

Варианты:

  • false
  • true

unrecognized_ipv6_option

boolean

Неопознанная опция IPv6

Варианты:

  • false
  • true

unrecognized_next_header

boolean

Неопознанный заголовок следующего протокола

Варианты:

  • false
  • true

ip

dictionary

Протокол Интернета.

nexthop_group

string

Имя группы следующего перехода.

ipv6

dictionary

Протокол IPv6.

nexthop_group

string

Имя группы следующего перехода.

tcp

dictionary

Параметры протокола TCP.

flags

dictionary

Сопоставление флагов пакета TCP

ack

boolean

Сопоставление по биту ACK

Варианты:

  • false
  • true

established

boolean

Сопоставление с установленными соединениями

Варианты:

  • false
  • true

fin

boolean

Сопоставление по биту FIN

Варианты:

  • false
  • true

psh

boolean

Сопоставление по биту PSH

Варианты:

  • false
  • true

rst

boolean

Сопоставление по биту RST

Варианты:

  • false
  • true

syn

boolean

Сопоставление по биту SYN

Варианты:

  • false
  • true

urg

boolean

Сопоставление по биту URG

Варианты:

  • false
  • true

remark

string

Указать комментарий

sequence

integer

Порядковый номер правила в списке

source

dictionary

Адрес источника пакета

address

string

IP-адрес в десятичной точечной нотации

any

boolean

Правило соответствует любому адресу источника

Варианты:

  • false
  • true

host

string

IP-адрес узла

port_protocol

dictionary

Указать исходный порт/протокол вместе с оператором (используется с TCP/UDP).

subnet_address

string

Адрес подсети

wildcard_bits

string

Маска wildcard источника

tracked

boolean

Сопоставление пакетов в существующих соединениях ICMP/UDP/TCP

Варианты:

  • false
  • true

ttl

dictionary

Сравнивает значение TTL (времени жизни) в пакете с указанным значением

eq

integer

Соответствие единственному значению TTL

gt

integer

Соответствие TTL, превышающему это число

lt

integer

Соответствие TTL, меньшему этого числа

neq

integer

Соответствие TTL, не равному этому значению

vlan

string

Параметры VLAN

name

string / обязательный

Имя списка ACL

standard

boolean

Является ли список контроля доступа стандартным

Варианты:

  • false
  • true

afi

string / обязательный

Индикатор семейства адресов (AFI) для списков контроля доступа (ACL).

Варианты:

  • "ipv4"
  • "ipv6"

running_config

string

Этот параметр используется только при состоянии parsed.

Значением этого параметра должен быть вывод, полученный от устройства EOS при выполнении команды show running-config | section access-list.

Состояние parsed считывает конфигурацию из параметра running_config и преобразует её в структурированные данные Ansible в соответствии со спецификацией аргументов модуля ресурса, после чего значение возвращается в ключе parsed результата.

state

string

Состояние, в котором должна остаться конфигурация.

Варианты:

  • "deleted"
  • "merged" ← (по умолчанию)
  • "overridden"
  • "replaced"
  • "gathered"
  • "rendered"
  • "parsed"

Примечания

Примечание

  • Проверено на 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

Результирующая конфигурация после вызова модели.

Возвращается: при изменении

Пример: ["The configuration returned will always be in the same format\n of the parameters above.\n"]

before

list / elements=string

Конфигурация до вызова модели.

Возвращается: всегда

Пример: ["The configuration returned will always be in the same format\n of the parameters above.\n"]

commands

list / elements=string

Набор команд, отправленных на удалённое устройство.

Возвращается: всегда

Пример: ["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"]

Авторы

  • Gomathiselvi S (@GomathiselviS)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API