community.hrobot.firewall_info 模块 – 管理 Hetzner 的专用服务器防火墙

注意

此模块是 community.hrobot 集合 (版本 2.0.2) 的一部分。

如果您正在使用 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install community.hrobot

要在剧本中使用它,请指定:community.hrobot.firewall_info

概要

  • 管理 Hetzner 的专用服务器防火墙。

参数

参数

注释

hetzner_password

字符串 / 必需

Robot 网络服务用户的密码。

hetzner_user

字符串 / 必需

Robot 网络服务用户的用户名。

server_ip

字符串

服务器的主 IP 地址。

必须指定 server_ipserver_number 之一。

请注意,Hetzner 已弃用通过服务器的主 IP 来识别服务器防火墙的方法。因此,使用此选项可能会随时停止工作。请改用 server_number

server_number

整数

在 community.hrobot 1.8.0 中添加

服务器编号。

必须指定 server_ipserver_number 之一。

timeout

整数

等待防火墙配置完成的超时时间(以秒为单位)。

默认值: 180

wait_delay

整数

再次检查防火墙是否已配置之前的等待延迟(以秒为单位)。

默认值: 10

wait_for_configured

布尔值

是否等待直到防火墙成功配置后再从模块返回。

当防火墙当前正在配置时,API 返回状态 in progress。如果发生这种情况,模块将尝试再次运行,直到状态更改为 activedisabled

请注意存在请求限制。如果您必须进行多次更新,最好禁用等待,并定期使用 community.hrobot.firewall_info 查询状态。

选项

  • false

  • true ← (默认)

属性

属性

支持

描述

action_group

动作组: community.hrobot.robot

在 community.hrobot 1.6.0 中添加

module_defaults 中使用 group/community.hrobot.robot 为此模块设置默认值。

check_mode

支持:完全支持

此操作不会修改状态。

可以在 check_mode 下运行,并在不修改目标的情况下返回更改状态预测。

diff_mode

支持: N/A

此操作不会修改状态。

处于 diff 模式时,将返回有关更改内容(或可能需要在 check_mode 下更改的内容)的详细信息。

另请参阅

另请参阅

防火墙文档

Hetzner 有关专用服务器无状态防火墙的文档

community.hrobot.firewall

配置防火墙。

示例

- name: Get firewall configuration for server with main IP 1.2.3.4
  community.hrobot.firewall_info:
    hetzner_user: foo
    hetzner_password: bar
    server_ip: 1.2.3.4
  register: result

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

返回值

常见的返回值已在 此处 记录,以下是此模块独有的字段

描述

firewall

字典

防火墙配置。

返回:成功

allowlist_hos

布尔值

在 community.hrobot 1.2.0 中添加

Hetzner 服务是否具有访问权限。

返回:成功

示例: true

filter_ipv6

布尔值

防火墙规则是否也应用于 IPv6。

返回:成功

示例: false

端口

字符串

防火墙的交换机端口。

mainkvm

返回:成功

示例: "main"

规则

字典

防火墙规则。

返回:成功

输入

列表 / 元素=字典

输入防火墙规则。

返回:成功

动作

字符串

如果规则匹配,则执行的动作。

acceptdiscard

返回:成功

只能返回

  • "accept"

  • "discard"

示例: "accept"

目标 IP

字符串

目标 IP 地址或子网地址。

CIDR 表示法。

返回:成功

示例: "1.2.3.4/32"

目标端口

字符串

目标端口或端口范围。

返回:成功

示例: "443"

IP 版本

字符串

互联网协议版本。

无值表示规则同时适用于 IPv4 和 IPv6。

返回:成功

示例: "ipv4"

名称

字符串

防火墙规则的名称。

返回:成功

示例: "允许 HTTP 访问 服务器"

协议

字符串

IP 层之上的协议。

返回:成功

示例: "tcp"

源 IP

字符串

源 IP 地址或子网地址。

CIDR 表示法。

返回:成功

源端口

字符串

源端口或端口范围。

返回:成功

TCP 标志

字符串

TCP 标志或标志的逻辑组合。

返回:成功

输出

列表 / 元素=字典

输出防火墙规则。

返回:成功

动作

字符串

如果规则匹配,则执行的动作。

acceptdiscard

返回:成功

只能返回

  • "accept"

  • "discard"

示例: "accept"

目标 IP

字符串

目标 IP 地址或子网地址。

CIDR 表示法。

返回:成功

示例: "1.2.3.4/32"

目标端口

字符串

目标端口或端口范围。

返回:成功

示例: "443"

IP 版本

字符串

互联网协议版本。

无值表示规则同时适用于 IPv4 和 IPv6。

返回:成功

名称

字符串

防火墙规则的名称。

返回:成功

示例: "允许 HTTP 访问 服务器"

协议

字符串

IP 层之上的协议。

返回:成功

示例: "tcp"

源 IP

字符串

源 IP 地址或子网地址。

CIDR 表示法。

返回:成功

源端口

字符串

源端口或端口范围。

返回:成功

TCP 标志

字符串

TCP 标志或标志的逻辑组合。

返回:成功

server_ip

字符串

服务器的主 IP 地址。

返回:成功

示例: "1.2.3.4"

server_number

整数

Hetzner 的内部服务器编号。

返回:成功

示例: 12345

状态

字符串

防火墙的状态。

activedisabled

如果防火墙当前正在更新,并且 wait_for_configured 设置为 falsetimeout 设置为过小的值,则将显示为 in process

返回:成功

示例: "active"

白名单主机

布尔值

Hetzner 服务是否具有访问权限。

返回值 allowlist_hos 的旧名称,最终将被移除。

返回:成功

示例: true

作者

  • Felix Fontein (@felixfontein)