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 строка |
| Порт коммутатора брандмауэра. | ||
| rules словарь | Правила брандмауэра. | |||
| input список / элементы=словарь | Правила входного брандмауэра. | |||
| action строка / обязательно |
| Действие, если правило соответствует. | ||
| dst_ip строка | Адрес назначения IP или адрес подсети. Нотация CIDR. | |||
| dst_port строка | Порт назначения или диапазон портов. | |||
| ip_version строка / обязательно |
| Версия интернет-протокола. Обратите внимание, что в настоящее время 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. | ||
| timeout целое число | Значение по умолчанию: 180 | Таймаут (в секундах) ожидания настройки брандмауэра. | ||
| update_timeout целое число | Значение по умолчанию: 30 | Таймаут, используемый при настройке брандмауэра. Обратите внимание, что вызов API возвращает результат до того, как брандмауэр был успешно настроен. | ||
| wait_delay целое число | Значение по умолчанию: 10 | Задержка ожидания (в секундах) перед повторной проверкой настройки брандмауэра. | ||
| wait_for_configured логическое значение |
| Ожидать, пока брандмауэр будет успешно настроен перед определением дальнейших действий и возвращением из модуля. API возвращает статус in progress, когда брандмауэр настраивается. В этом случае модуль будет пытаться снова, пока статус не изменится на active или disabled. Обратите внимание, что существует ограничение на количество запросов. Если необходимо выполнить несколько обновлений, лучше отключить ожидание и регулярно использовать community.hrobot.firewall_info для запроса статуса. | ||
| whitelist_hos логическое значение |
| Разрешить доступ сервисам 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