Spec-Zone.ru › Ansible

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

Правило соответствует всем исходным адресам

Варианты:

  • 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

aliases: 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

Запрет сети

Choices:

  • false
  • true

echo

boolean

Эхо (ping)

Choices:

  • false
  • true

echo_reply

boolean

Ответ эхо

Choices:

  • false
  • true

general_parameter_problem

boolean

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

Choices:

  • false
  • true

host_isolated

boolean

Хост изолирован

Choices:

  • false
  • true

host_precedence_unreachable

boolean

Хост недоступен для приоритета

Choices:

  • false
  • true

host_redirect

boolean

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

Choices:

  • false
  • true

host_tos_redirect

boolean

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

Choices:

  • false
  • true

host_tos_unreachable

boolean

Хост недоступен для TOS

Choices:

  • false
  • true

host_unknown

boolean

Хост неизвестен

Choices:

  • false
  • true

host_unreachable

boolean

Хост недоступен

Choices:

  • false
  • true

information_reply

boolean

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

Choices:

  • false
  • true

information_request

boolean

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

Choices:

  • false
  • true

mask_reply

boolean

Ответы маски

Choices:

  • false
  • true

mask_request

boolean

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

Choices:

  • false
  • true

message_code

integer

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

message_num

integer

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

message_type

integer

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

mobile_redirect

boolean

Перенаправление мобильного хоста

Choices:

  • false
  • true

net_redirect

boolean

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

Choices:

  • false
  • true

net_tos_redirect

boolean

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

Choices:

  • false
  • true

net_tos_unreachable

boolean

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

Choices:

  • false
  • true

net_unreachable

boolean

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

Choices:

  • false
  • true

network_unknown

boolean

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

Choices:

  • false
  • true

no_room_for_option

boolean

Необходимо значение параметра, но места нет

Choices:

  • false
  • true

option_missing

boolean

Необходимо значение параметра, но его нет

Choices:

  • false
  • true

packet_too_big

boolean

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

Choices:

  • false
  • true

parameter_problem

boolean

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

Choices:

  • false
  • true

port_unreachable

boolean

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

Choices:

  • false
  • true

precedence_unreachable

boolean

Превышение приоритета

Choices:

  • false
  • true

protocol_unreachable

boolean

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

Choices:

  • false
  • true

reassembly_timeout

boolean

Превышение времени сборки

Choices:

  • false
  • true

redirect

boolean

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

Choices:

  • false
  • true

router_advertisement

boolean

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

Choices:

  • false
  • true

router_solicitation

boolean

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

Choices:

  • false
  • true

source_quench

boolean

Заглушение источника

Choices:

  • false
  • true

source_route_failed

boolean

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

Choices:

  • false
  • true

time_exceeded

boolean

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

Choices:

  • false
  • true

timestamp_reply

boolean

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

Choices:

  • false
  • true

timestamp_request

boolean

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

Choices:

  • false
  • true

traceroute

boolean

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

Choices:

  • false
  • true

ttl_exceeded

boolean

Превышено время жизни (TTL)

Choices:

  • false
  • true

unreachable

boolean

Все недостижимые

Choices:

  • false
  • true

icmpv6

dictionary

Параметры для icmpv6.

address_unreachable

boolean

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

Choices:

  • false
  • true

beyond_scope

boolean

beyond_scope

Choices:

  • false
  • true

echo_reply

boolean

echo_reply

Choices:

  • false
  • true

echo_request

boolean

echo запрос

Choices:

  • false
  • true

erroneous_header

boolean

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

Choices:

  • false
  • true

fragment_reassembly_exceeded

boolean

fragment_reassembly_exceeded

Choices:

  • false
  • true

hop_limit_exceeded

boolean

превышен предел переходов

Choices:

  • false
  • true

neighbor_advertisement

boolean

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

Choices:

  • false
  • true

neighbor_solicitation

boolean

запрос соседа

Choices:

  • false
  • true

no_admin

boolean

нет администратора

Choices:

  • false
  • true

no_route

boolean

нет маршрута

Choices:

  • false
  • true

packet_too_big

boolean

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

Choices:

  • false
  • true

parameter_problem

boolean

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

Choices:

  • false
  • true

port_unreachable

boolean

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

Choices:

  • 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

Протокол Internet Protocol.

nexthop_group

string

Имя группы nexthop.

ipv6

dictionary

Протокол Internet V6.

nexthop_group

string

Имя группы nexthop.

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

Маска подстановки источника

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

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

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

State parsed считывает конфигурацию из параметра running_config и преобразует ее в структурированные данные Ansible в соответствии с argspec модуля ресурса, а затем возвращает значение в ключе 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

список / элементы=строка

Вызов модели конфигурации в результате.

Возвращаемое значение: при изменении

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

before

список / элементы=строка

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

Возвращаемое значение: всегда

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

commands

список / элементы=строка

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

Возвращаемое значение: всегда

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

Spec-Zone.ru

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