Spec-Zone.ru › Ansible 2.11

arista.eos.eos_acls – Модуль ресурсов ACL

Примечание

Этот плагин входит в коллекцию arista.eos (версия 1.3.0).

Для его установки используйте: ansible-galaxy collection install arista.eos.

Для использования в книге задач укажите: arista.eos.eos_acls.

Новый в версии 1.0.0: модуля arista.eos

  • Обзор
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Обзор

  • Этот модуль управляет атрибутами списков доступа IP для интерфейсов Arista EOS.

Примечание

Этот модуль имеет соответствующий плагин действий.

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
config
список / элементы=словарь
Словарь параметров списка IP-списка доступа
acls
список / элементы=словарь
Список списков управления доступом (ACL).
aces
список / элементы=словарь
Фильтрация данных
destination
словарь
Адрес назначения пакета
address
строка
Точка-десятичная запись IP-адреса
any
логическое
    Варианты:
  • нет
  • да
Правило соответствует всем адресам источника
host
строка
IP-адрес хоста
port_protocol
словарь
Укажите порт/протокол назначения вместе с оператором . (вместе с tcp/udp).
subnet_address
строка
Адрес подсети
wildcard_bits
строка
Биты маски источника
fragment_rules
логическое
    Варианты:
  • нет
  • да
Добавить правила фрагментации
fragments
логическое
    Варианты:
  • нет
  • да
Сопоставление пакетов фрагментов, не являющихся головными
grant
строка
    Варианты:
  • разрешить
  • запретить
Действие, которое будет применено к правилу
hop_limit
словарь
Значение ограничения переходов.
line
строка
Для сбора фактов, любой ACE, который не был полностью проанализирован, будет отображаться как значение этого атрибута.

псевдонимы: ace
log
логическое
    Варианты:
  • нет
  • да
Вести журнал совпадений по этому правилу
protocol
строка
Укажите протокол для сопоставления.
Обратитесь к документации поставщика для получения допустимых значений.
protocol_options
словарь
Все возможные подварианты для выбранного протокола.
icmp
словарь
Настройки протокола управления сообщениями Интернета.
administratively_prohibited
логическое
    Варианты:
  • нет
  • да
Административно запрещено
alternate_address
логическое
    Варианты:
  • нет
  • да
Альтернативный адрес
conversion_error
логическое
    Варианты:
  • нет
  • да
Преобразование датаграммы
dod_host_prohibited
логическое
    Варианты:
  • нет
  • да
Запрещенный хост
dod_net_prohibited
логическое
    Варианты:
  • нет
  • да
Запрещенная сеть
echo
логическое
    Варианты:
  • нет
  • да
Эхо (ping)
echo_reply
логическое
    Варианты:
  • нет
  • да
Ответ эхо
general_parameter_problem
логическое
    Варианты:
  • нет
  • да
Проблема с параметром
host_isolated
логическое
    Варианты:
  • нет
  • да
Хост изолирован
host_precedence_unreachable
логическое
    Варианты:
  • нет
  • да
Хост недоступен для приоритета
host_redirect
логическое
    Варианты:
  • нет
  • да
Переадресация хоста
host_tos_redirect
логическое
    Варианты:
  • нет
  • да
Переадресация хоста для TOS
host_tos_unreachable
логическое
    Варианты:
  • нет
  • да
Хост недоступен для TOS
host_unknown
логическое
    Варианты:
  • нет
  • да
Хост неизвестен
host_unreachable
логическое
    Варианты:
  • нет
  • да
Хост недоступен
information_reply
логическое
    Варианты:
  • нет
  • да
Ответы с информацией
information_request
логическое
    Варианты:
  • нет
  • да
Запросы информации
mask_reply
boolean
    Choices:
  • no
  • yes
Маскировка ответов
mask_request
boolean
    Choices:
  • no
  • yes
Маскировка запросов
message_code
integer
Код сообщения ICMP
message_num
integer
Номер типа сообщения ICMP.
message_type
integer
Тип сообщения ICMP
mobile_redirect
boolean
    Choices:
  • no
  • yes
Перенаправление мобильного узла
net_redirect
boolean
    Choices:
  • no
  • yes
Перенаправление сети
net_tos_redirect
boolean
    Choices:
  • no
  • yes
Перенаправление сети для TOS
net_tos_unreachable
boolean
    Choices:
  • no
  • yes
Сеть недоступна для TOS
net_unreachable
boolean
    Choices:
  • no
  • yes
Сеть недоступна
network_unknown
boolean
    Choices:
  • no
  • yes
Сеть неизвестна
no_room_for_option
boolean
    Choices:
  • no
  • yes
Недостаточно места для параметра
option_missing
boolean
    Choices:
  • no
  • yes
Необходимый параметр отсутствует
packet_too_big
boolean
    Choices:
  • no
  • yes
Пакет слишком большой (требуется фрагментация)
parameter_problem
boolean
    Choices:
  • no
  • yes
Проблемы с параметрами
port_unreachable
boolean
    Choices:
  • no
  • yes
Порт недоступен
precedence_unreachable
boolean
    Choices:
  • no
  • yes
Превышен приоритет
protocol_unreachable
boolean
    Choices:
  • no
  • yes
Протокол недоступен
reassembly_timeout
boolean
    Choices:
  • no
  • yes
Таймаут повторной сборки
redirect
boolean
    Choices:
  • no
  • yes
Все перенаправления
router_advertisement
boolean
    Choices:
  • no
  • yes
Объявления о маршрутизаторах
router_solicitation
boolean
    Choices:
  • no
  • yes
Запросы о маршрутизаторах
source_quench
boolean
    Choices:
  • no
  • yes
Заглушение источника
source_route_failed
boolean
    Choices:
  • no
  • yes
Сбой маршрута источника
time_exceeded
boolean
    Choices:
  • no
  • yes
Все превышения времени
timestamp_reply
boolean
    Choices:
  • no
  • yes
Ответы с метками времени
timestamp_request
boolean
    Choices:
  • no
  • yes
Запросы с метками времени
traceroute
boolean
    Choices:
  • no
  • yes
Traceroute
ttl_exceeded
boolean
    Choices:
  • no
  • yes
Превышен TTL
unreachable
boolean
    Choices:
  • no
  • yes
Все недоступности
icmpv6
dictionary
Параметры для icmpv6.
address_unreachable
boolean
    Choices:
  • no
  • yes
Адрес недоступен
beyond_scope
boolean
    Варианты:
  • нет
  • да
beyond_scope
echo_reply
boolean
    Варианты:
  • нет
  • да
echo_reply
echo_request
boolean
    Варианты:
  • нет
  • да
echo request
erroneous_header
boolean
    Варианты:
  • нет
  • да
ошибочный заголовок
fragment_reassembly_exceeded
boolean
    Варианты:
  • нет
  • да
fragment_reassembly_exceeded
hop_limit_exceeded
boolean
    Варианты:
  • нет
  • да
предел переходов превышен
neighbor_advertisement
boolean
    Варианты:
  • нет
  • да
сообщение о соседях
neighbor_solicitation
boolean
    Варианты:
  • нет
  • да
neighbor_solicitation
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_advertisement
router_solicitation
boolean
    Варианты:
  • нет
  • да
router_solicitation
source_address_failed
boolean
    Варианты:
  • нет
  • да
source_address_failed
source_routing_error
boolean
    Варианты:
  • нет
  • да
ошибка маршрутизации источника
time_exceeded
boolean
    Варианты:
  • нет
  • да
время истекло
unreachable
boolean
    Варианты:
  • нет
  • да
недоступен
unrecognized_ipv6_option
boolean
    Варианты:
  • нет
  • да
неизвестный параметр IPv6
unrecognized_next_header
boolean
    Варианты:
  • нет
  • да
неизвестный следующий заголовок
ip
dictionary
Интернет-протокол.
nexthop_group
string
Имя группы nexthop.
ipv6
dictionary
Протокол IPv6.
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 / обязательно
    Варианты:
  • ipv4
  • ipv6
Индикатор семейства адресов (AFI) для списков управления доступом (ACL).
running_config
string
Этот параметр используется только со статусом parsed.
Значение этого параметра должно быть результатом выполнения команды show running-config | section access-list на устройстве EOS.
Состояние parsed считывает конфигурацию из параметра running_config, преобразует её в структурированные данные Ansible в соответствии с argspec модуля ресурса, а затем возвращает значение в ключе parsed в результате.
state
string
    Варианты:
  • удалено
  • слито ←
  • переопределено
  • заменено
  • собрано
  • отображено
  • обработанно
Состояние, в котором должна остаться конфигурация.

Примечания

Примечание

  • Проверено на Arista vEOS v4.20.10M

Примеры

# 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
          destnation:
            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
          action: 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
    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



# 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 exisitng condiguration
  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
список / элементы=строка
всегда
Набор команд, переданных удалённому устройству.

Пример:
['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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/arista/eos/eos_acls_module.html

Spec-Zone.ru

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