community.hrobot.firewall – Управление брандмауэром выделенного сервера Hetzner
Примечание
Этот плагин входит в коллекцию community.hrobot (версия 1.1.0).
Для его установки используйте: ansible-galaxy collection install community.hrobot.
Чтобы использовать его в плейбуке, укажите: community.hrobot.firewall.
Обзор
- Управление брандмауэром выделенного сервера Hetzner.
- Обратите внимание, что проверка идемпотентности для флагов TCP просто сравнивает строки и не пытается интерпретировать правила. В будущем это может измениться.
Требования
Ниже перечислены требования, необходимые на хосте, на котором будет выполняться этот модуль.
- ipaddress
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | ||
|---|---|---|---|---|
| hetzner_password строка / обязательно | Пароль для пользователя веб-сервиса Robot. | |||
| hetzner_user строка / обязательно | Имя пользователя для пользователя веб-сервиса Robot. | |||
| 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 | |||
Авторы
- Фёликс Фонтейн (@felixfontein)
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/hrobot/firewall_module.html