Spec-Zone.ru › Ansible 2.11

community.hrobot.firewall – Управление брандмауэром выделенного сервера Hetzner

Примечание

Этот плагин является частью коллекции community.hrobot (версия 1.1.0).

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

Для использования в playbook, укажите: community.hrobot.firewall.

  • Обзор
  • Требования
  • Параметры
  • См. также
  • Примеры
  • Возвращаемые значения

Обзор

  • Управление брандмауэром выделенного сервера Hetzner.
  • Обратите внимание, что проверка идемпотентности для флагов TCP просто сравнивает строки и не пытается интерпретировать правила. Это может измениться в будущем.

Требования

Ниже перечислены требования к хосту, на котором выполняется этот модуль.

  • ipaddress

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
hetzner_password
строка / обязательно
Пароль пользователя Robot webservice.
hetzner_user
строка / обязательно
Имя пользователя пользователя Robot webservice.
port
строка
    Варианты:
  • main ←
  • kvm
Порт коммутатора брандмауэра.
rules
словарь
Правила брандмауэра.
input
список / элементы=словарь
Правила входного брандмауэра.
action
строка / обязательно
    Варианты:
  • accept
  • discard
Действие, если правило соответствует.
dst_ip
строка
Адрес назначения IP или адрес подсети.
Нотация CIDR.
dst_port
строка
Порт назначения или диапазон портов.
ip_version
строка / обязательно
    Варианты:
  • ipv4
  • ipv6
Версия интернет-протокола.
Обратите внимание, что в настоящее время Hetzner поддерживает только IPv4.
name
строка
Имя правила брандмауэра.
protocol
строка
Протокол над слоем IP.
src_ip
строка
Адрес источника IP или адрес подсети.
Нотация CIDR.
src_port
строка
Порт источника или диапазон портов.
tcp_flags
строка
Флаги TCP или логическое сочетание флагов.
Поддерживаемые Hetzner флаги: syn, fin, rst, psh и urg.
Они могут быть объединены с помощью | (логическое ИЛИ) и & (логическое И).
Для получения дополнительной информации см. документацию.
server_ip
строка / обязательно
Основной IP-адрес сервера.
state
строка
    Варианты:
  • present ←
  • absent
Статус брандмауэра.
Брандмауэр активен, если состояние present, и отключен, если состояние absent.
timeout
целое число
Значение по умолчанию:
180
Таймаут (в секундах) ожидания настройки брандмауэра.
update_timeout
целое число
Значение по умолчанию:
30
Таймаут, используемый при настройке брандмауэра.
Обратите внимание, что вызов API возвращает результат до того, как брандмауэр был успешно настроен.
wait_delay
целое число
Значение по умолчанию:
10
Задержка ожидания (в секундах) перед повторной проверкой настройки брандмауэра.
wait_for_configured
логическое значение
    Варианты:
  • no
  • yes ←
Ожидать, пока брандмауэр будет успешно настроен перед определением дальнейших действий и возвращением из модуля.
API возвращает статус in progress, когда брандмауэр настраивается. В этом случае модуль будет пытаться снова, пока статус не изменится на active или disabled.
Обратите внимание, что существует ограничение на количество запросов. Если необходимо выполнить несколько обновлений, лучше отключить ожидание и регулярно использовать community.hrobot.firewall_info для запроса статуса.
whitelist_hos
логическое значение
    Варианты:
  • no
  • yes
Разрешить доступ сервисам Hetzner.

См. также

См. также

Документация по брандмауэру

Документация Hetzner по брандмауэру для выделенных серверов

community.hrobot.firewall_info

Получение информации о настройке брандмауэра.

Примеры

- name: Configure firewall for server with main IP 1.2.3.4
  community.hrobot.firewall:
    hetzner_user: foo
    hetzner_password: bar
    server_ip: 1.2.3.4
    state: present
    whitelist_hos: yes
    rules:
      input:
        - name: Allow everything to ports 20-23 from 4.3.2.1/24
          ip_version: ipv4
          src_ip: 4.3.2.1/24
          dst_port: '20-23'
          action: accept
        - name: Allow everything to port 443
          ip_version: ipv4
          dst_port: '443'
          action: accept
        - name: Drop everything else
          ip_version: ipv4
          action: discard
  register: result

- ansible.builtin.debug:
    msg: "{{ result }}"

Возвращаемые значения

Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:

Ключевые параметры Возвращаемое значение Описание
firewall
словарь
успех
Настройка брандмауэра.

port
строка
успех
Порт коммутатора брандмауэра.
main или kvm.

Пример:
main
rules
словарь
успех
Правила брандмауэра.

input
список / элементы=словарь
успех
Правила входящего трафика брандмауэра.

action
строка
успех
Действие при совпадении правила.
accept или discard.

Пример:
accept
dst_ip
строка
успех
IP-адрес или адрес подсети назначения.
Нотация CIDR.

Пример:
1.2.3.4/32
dst_port
строка
успех
Порт назначения или диапазон портов.

Пример:
443
ip_version
строка
успех
Версия интернет-протокола.

Пример:
ipv4
name
строка
успех
Имя правила брандмауэра.

Пример:
Разрешить доступ к серверу по HTTP
protocol
строка
успех
Протокол выше уровня IP.

Пример:
tcp
src_ip
строка
успех
IP-адрес или адрес подсети источника.
Нотация CIDR.

src_port
строка
успех
Порт источника или диапазон портов.

tcp_flags
строка
успех
Флаги TCP или логическое сочетание флагов.

server_ip
строка
успех
Основной IP-адрес сервера.

Пример:
1.2.3.4
server_number
целое число
успех
Внутренний номер сервера Hetzner.

Пример:
12345
status
строка
успех
Статус брандмауэра.
active или disabled.
Будет in process если брандмауэр в процессе обновления, и wait_for_configured установлено в no или timeout задано слишком малым значением.

Пример:
active
whitelist_hos
логическое значение
успех
Разрешен ли доступ к услугам Hetzner.

Пример:
True


Авторы

  • Felix Fontein (@felixfontein)

© 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/community/hrobot/firewall_module.html

Spec-Zone.ru

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