Модуль community.hrobot.firewall – Управление брандмауэром выделенного сервера Hetzner
Примечание
Этот модуль является частью коллекции community.hrobot (версия 2.0.2).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.hrobot. Для использования этого модуля необходимы дополнительные требования. Подробности см. в разделе Требования.
Для использования в playbook укажите: community.hrobot.firewall.
Описание
- Управление брандмауэром выделенного сервера Hetzner.
- Обратите внимание, что проверка идемпотентности для флагов TCP просто сравнивает строки и не пытается интерпретировать правила. Это может измениться в будущем.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- ipaddress
Параметры
Параметр | Комментарии |
|---|---|
allowlist_hos псевдонимы: whitelist_hos логический | Предоставлять ли Hetzner-сервисам доступ. Варианты:
|
filter_ipv6 логический добавлено в community.hrobot 1.8.0 | Фильтровать трафик IPv6 также. Трафик IPv4 всегда фильтруется, фильтрация трафика IPv6 должна быть явно включена. Варианты:
|
hetzner_password строка / обязательно | Пароль для пользователя Robot web-службы. |
hetzner_user строка / обязательно | Имя пользователя для пользователя Robot web-службы. |
port строка | Порт коммутатора брандмауэра. Варианты:
|
rules словарь | Правила брандмауэра. |
|
input список / элементы=словарь |
Правила входного брандмауэра. |
|
action строка / обязательно |
Действие, если правило совпадает. Варианты:
|
|
dst_ip строка |
Адрес назначения IP или адрес подсети. Нотация CIDR. |
|
dst_port строка |
Порт назначения или диапазон портов. |
|
ip_version строка |
Версия интернет-протокола. Оставьте пустым, чтобы отфильтровать оба протокола. Обратите внимание, что в этом случае нельзя указать ни |
|
name строка |
Имя правила брандмауэра. Обратите внимание, что Hetzner ограничивает символы, которые могут быть использованы для имён правил. В настоящее время разрешены только буквы |
|
protocol строка |
Протокол выше уровня IP. |
|
src_ip строка |
Адрес источника IP или адрес подсети. Нотация CIDR. |
|
src_port строка |
Порт источника или диапазон портов. |
|
tcp_flags строка |
Флаги TCP или логическое объединение флагов. Поддерживаемые Hetzner флаги: Их можно комбинировать с См. документацию для получения дополнительной информации. |
|
output список / элементы=словарь добавлено в community.hrobot 1.8.0 |
Правила выходного брандмауэра. |
|
action строка / обязательно |
Действие, если правило совпадает. Варианты:
|
|
dst_ip строка |
Адрес назначения IP или адрес подсети. Нотация CIDR. |
|
dst_port строка |
Порт назначения или диапазон портов. |
|
ip_version строка |
Версия интернет-протокола. Оставьте пустым, чтобы отфильтровать оба протокола. Обратите внимание, что в этом случае нельзя указать ни |
|
имя строка |
Имя правила брандмауэра. Обратите внимание, что Hetzner ограничивает символы, которые могут быть использованы для имён правил. В настоящее время разрешены только буквы |
|
протокол строка |
Протокол выше уровня IP. |
|
src_ip строка |
Адрес исходного IP-адреса или подсети. Нотация CIDR. |
|
src_порт строка |
Исходный порт или диапазон портов. |
|
tcp_флаги строка |
Флаги TCP или логическое сочетание флагов. Поддерживаемые Hetzner флаги — Их можно комбинировать с Дополнительную информацию см. в документации. |
server_ip строка | Основной IP-адрес сервера. Должен быть указан ровно один из Обратите внимание, что Hetzner устарело идентификацию брандмауэра сервера по основному IP-адресу сервера. Использование этого параметра может в любое время перестать работать. Используйте |
server_номер целое число добавлено в community.hrobot 1.8.0 | Номер сервера. Должен быть указан ровно один из |
состояние строка | Состояние брандмауэра. Брандмауэр активен, если состояние равно Варианты:
|
таймаут целое число | Таймаут (в секундах) ожидания настройки брандмауэра. По умолчанию: |
таймаут_обновления целое число | Таймаут, используемый при настройке брандмауэра. Обратите внимание, что вызов API возвращает результат до успешной настройки брандмауэра. По умолчанию: |
задержка_ожидания целое число | Задержка ожидания (в секундах) перед повторной проверкой настройки брандмауэра. По умолчанию: |
ждать_настройки логическое | Нужно ли ждать, пока брандмауэр будет успешно настроен, прежде чем определять дальнейшие действия и возвращать результат модуля. API возвращает статус Обратите внимание, что существует ограничение запросов. Если необходимо выполнить несколько обновлений, лучше отключить ожидание и регулярно использовать community.hrobot.firewall_info для запроса статуса. Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
action_group | Группа действий: community.hrobot.robot добавлено в community.hrobot 1.6.0 | Используйте |
check_режим | Поддержка: полная | Может работать в |
diff_режим | Поддержка: полная | При работе в режиме diff будет возвращать подробности о том, что изменилось (или, возможно, требует изменения в |
См. также
См. также
- Документация по брандмауэру
-
Документация 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
filter_ipv6: true
allowlist_hos: true
rules:
input:
- name: Allow ICMP protocol
# This is needed so you can ping your server
ip_version: ipv4
protocol: icmp
action: accept
# Note that it is not possible to disable ICMP for IPv6
# (https://robot.hetzner.com/doc/webservice/en.html#post-firewall-server-id)
- name: Allow responses to incoming TCP connections
protocol: tcp
dst_port: '32768-65535'
tcp_flags: ack
action: accept
- name: Allow restricted access from some known IPv4 addresses
# Allow everything to ports 20-23 from 4.3.2.1/24 (IPv4 only)
ip_version: ipv4
src_ip: 4.3.2.1/24
dst_port: '20-23'
action: accept
- name: Allow everything to port 443
dst_port: '443'
action: accept
- name: Drop everything else
action: discard
output:
- name: Accept everything
action: accept
register: result
- ansible.builtin.debug:
msg: "{{ result }}"
Значения возврата
Общие значения возврата описаны в здесь, следующие поля уникальны для данного модуля:
Ключ | Описание |
|---|---|
firewall dictionary | Конфигурация брандмауэра. Возвращено: success |
|
allowlist_hos boolean added in community.hrobot 1.2.0 |
Есть ли доступ у служб Hetzner. Возвращено: success Пример: |
|
port string |
Порт коммутатора брандмауэра.
Возвращено: success Пример: |
|
rules dictionary |
Правила брандмауэра. Возвращено: success |
|
input list / elements=dictionary |
Входные правила брандмауэра. Возвращено: success |
|
action string |
Действие, если правило соответствует.
Возвращено: success Может возвращать только:
Пример: |
|
dst_ip string |
IP-адрес или адрес подсети назначения. Нотация CIDR. Возвращено: success Пример: |
|
dst_port string |
Порт или диапазон портов назначения. Возвращено: success Пример: |
|
ip_version string |
Версия интернет-протокола. Отсутствие значения означает, что правило применяется как к IPv4, так и к IPv6. Возвращено: success Пример: |
|
name string |
Имя правила брандмауэра. Возвращено: success Пример: |
|
protocol string |
Протокол выше IP-уровня. Возвращено: success Пример: |
|
src_ip string |
IP-адрес или адрес подсети источника. Нотация CIDR. Возвращено: success |
|
src_port string |
Порт или диапазон портов источника. Возвращено: success |
|
tcp_flags string |
Флаги TCP или логическое сочетание флагов. Возвращено: success |
|
output list / elements=dictionary |
Выходные правила брандмауэра. Возвращено: success |
|
action string |
Действие, если правило соответствует.
Возвращено: success Может возвращать только:
Пример: |
|
dst_ip string |
IP-адрес или адрес подсети назначения. Нотация CIDR. Возвращено: success Пример: |
|
dst_port string |
Порт или диапазон портов назначения. Возвращено: success Пример: |
|
ip_version string |
Версия интернет-протокола. Отсутствие значения означает, что правило применимо как к IPv4, так и к IPv6. Возвращаемое значение: success |
|
name string |
Имя правила брандмауэра. Возвращаемое значение: success Пример: |
|
protocol string |
Протокол выше уровня IP. Возвращаемое значение: success Пример: |
|
src_ip string |
Адрес источника IP или адрес подсети. Нотация CIDR. Возвращаемое значение: success |
|
src_port string |
Порт источника или диапазон портов. Возвращаемое значение: success |
|
tcp_flags string |
Флаги TCP или логическое сочетание флагов. Возвращаемое значение: success |
|
server_ip string |
Основной IP-адрес сервера. Возвращаемое значение: success Пример: |
|
server_number integer |
Внутренний номер сервера Hetzner. Возвращаемое значение: success Пример: |
|
status string |
Статус брандмауэра.
Будет Возвращаемое значение: success Пример: |
|
whitelist_hos boolean |
Разрешен ли доступ к услугам Hetzner. Старое название возвращаемого значения Возвращаемое значение: success Пример: |
Ссылки на сборки
© 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/community/hrobot/firewall_module.html