f5networks.f5_modules.bigip_firewall_rule 模块 – 管理 AFM 防火墙规则
注意
此模块是 f5networks.f5_modules 集合(版本 1.32.1)的一部分。
如果您正在使用 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install f5networks.f5_modules
。
要在 playbook 中使用它,请指定:f5networks.f5_modules.bigip_firewall_rule
。
f5networks.f5_modules 1.0.0 中的新增功能
概要
管理 AFM(高级防火墙管理器)防火墙策略中的防火墙规则。新规则将始终添加到策略的末尾。可以使用
bigip_security_policy
模块重新排序规则。也可以使用bigip_security_policy
模块预先排序规则,然后稍后使用bigip_firewall_rule
模块进行更新。
参数
参数 |
注释 |
---|---|
指定防火墙规则的操作。 当为 当为 当为 当为 创建新规则时,如果未提供此参数,则默认值为 选项
|
|
规则描述。 |
|
指定规则应用的数据包目标。 将此字段留空,则将规则应用于所有地址和所有端口。 您可以指定以下目标项。IPv4 或 IPv6 地址、IPv4 或 IPv6 地址范围、地理位置、VLAN、地址列表、端口、端口范围、端口列表或地址列表。 您可以为源地址指定不同类型的项的组合。 可以为目标项指定特殊值 |
|
指定特定的 IP 地址。 |
|
指定现有的地址列表。 |
|
指定地址范围。 |
|
指定国家/地区代码。 |
|
指定单个数字端口。 此选项仅在 |
|
指定现有的端口列表。 此选项仅在 |
|
指定端口范围,即两个端口值,中间用连字符分隔。连字符左侧的端口应小于右侧的端口。 此选项仅在 |
|
指定规则使用的 Internet 控制消息协议 (ICMP) 或 ICMPv6 消息 仅当 |
|
指定为响应指定的 ICMP 消息类型而返回的代码。 您可以指定代码,每个代码都设置为与关联的类型相符,例如无代码 (0)(与回显应答 (0) 相关联)和主机不可达 (1)(与目标不可达 (3) 相关联),或者您可以指定 您还可以指定任意代码。 ICMP 协议包含现有消息代码和数字对的定义。 |
|
指定 ICMP 消息的类型。 您可以指定控制消息,例如回显应答 (0) 和目标不可达 (3),或者您可以指定 您还可以指定任意 ICMP 消息。 ICMP 协议包含现有消息类型和数字对的定义。 |
|
指定应用于防火墙规则的 iRule。 当防火墙规则匹配流量时,可以启动 iRule。 |
|
指定是否为防火墙规则启用或禁用日志记录。 创建新规则时,如果未指定此参数,则默认值为 选项
|
|
指定规则的名称。 |
|
包含要管理的规则的策略。 必须指定 |
|
包含要管理的规则的规则列表。 必须指定 |
|
用于管理资源的设备分区。 默认值: |
|
指定规则应用的协议。 协议可以通过其名称或数字值指定。 可以指定特殊的协议值 |
|
包含连接详细信息的字典对象。 |
|
配置身份验证提供程序以从远程设备获取身份验证令牌。 此选项主要在与 BIG-IQ 设备一起工作时使用。 |
|
如果为 您可以通过设置环境变量 之前使用的变量 选项
|
|
用于连接到 BIG-IP 或 BIG-IQ 的用户帐户的密码。 您可以通过设置环境变量 |
|
BIG-IP 主机或 BIG-IQ 主机。 您可以通过设置环境变量 |
|
BIG-IP 服务器端口。 您可以通过设置环境变量 默认值: |
|
指定与网络设备通信(用于连接或发送命令)的超时时间(以秒为单位)。 如果在操作完成之前超过超时时间,模块将报错。 |
|
配置连接到远程设备时使用的传输连接。 选项
|
|
用于连接到 BIG-IP 或 BIG-IQ 的用户名。 此用户必须在设备上具有管理员权限。 您可以通过设置环境变量 |
|
如果为 您可以通过设置环境变量 选项
|
|
指定要在规则中使用的现有规则列表。 此参数与许多其他单独的规则特定设置互斥。 这包括 仅当指定了 |
|
指定防火墙规则的计划。 您可以配置计划以定义防火墙规则处于活动状态的日期和时间。 |
|
指定规则适用的数据包源。 将此字段留空,则将规则应用于所有地址和所有端口。 您可以指定以下源项。 IPv4 或 IPv6 地址、IPv4 或 IPv6 地址范围、地理位置、VLAN、地址列表、端口、端口范围、端口列表或地址列表。 您可以为源地址指定不同类型的项的组合。 可以为所有源项指定特殊值 |
|
指定特定的 IP 地址。 |
|
指定现有的地址列表。 |
|
指定地址范围。 |
|
指定国家/地区代码。 |
|
指定单个数字端口。 此选项仅在 |
|
指定现有的端口列表。 此选项仅在 |
|
指定端口范围,即两个端口值,中间用连字符分隔。连字符左侧的端口应小于右侧的端口。 此选项仅在 |
|
指定规则适用的 VLAN。 VLAN 源是指数据包的源。 |
|
当 当 选项
|
|
指示规则或规则列表的活动状态。 当 当 当 在创建新规则时,如果未提供此参数,则默认值为 选项
|
注释
注意
有关使用 Ansible 管理 F5 Networks 设备的更多信息,请参阅 https://ansible.org.cn/integrations/networks/f5。
需要 BIG-IP 软件版本 >= 12。
F5 模块仅操作 F5 产品的运行配置。 要确保 BIG-IP 特定配置持久保存到磁盘,请务必至少包含一个使用 f5networks.f5_modules.bigip_config 模块保存运行配置的任务。 有关如何正确使用该模块保存运行配置,请参阅该模块的文档。
示例
- name: Create a new rule in the foo firewall policy
bigip_firewall_rule:
name: foo
parent_policy: policy1
protocol: tcp
source:
- address: 1.2.3.4
- address: "::1"
- address_list: foo-list1
- address_range: 1.1.1.1-2.2.2.2
- vlan: vlan1
- country: US
- port: 22
- port_list: port-list1
- port_range: 80-443
destination:
- address: 1.2.3.4
- address: "::1"
- address_list: foo-list1
- address_range: 1.1.1.1-2.2.2.2
- country: US
- port: 22
- port_list: port-list1
- port_range: 80-443
irule: irule1
action: accept
logging: true
provider:
password: secret
server: lb.mydomain.com
user: admin
delegate_to: localhost
- name: Create an ICMP specific rule
bigip_firewall_rule:
name: foo
protocol: icmp
icmp_message:
type: 0
source:
- country: US
action: drop
logging: true
provider:
password: secret
server: lb.mydomain.com
user: admin
delegate_to: localhost
- name: Add a new policy rule that uses an existing rule list
bigip_firewall_rule:
name: foo
parent_policy: foo_policy
rule_list: rule-list1
provider:
password: secret
server: lb.mydomain.com
user: admin
delegate_to: localhost
返回值
通用返回值记录在 此处,以下是此模块特有的字段
Key |
描述 |
---|---|
防火墙规则的操作。 返回: changed 示例: |
|
规则描述。 返回: changed 示例: |
|
规则适用的数据包目标。 返回: changed 示例: |
|
特定的 IP 地址。 返回: changed 示例: |
|
现有的地址列表。 返回: changed 示例: |
|
地址范围。 返回: changed 示例: |
|
国家/地区代码。 返回: changed 示例: |
|
单个数字端口。 返回: changed 示例: |
|
现有的端口列表。 返回: changed 示例: |
|
端口范围。 返回: changed 示例: |
|
规则使用的(ICMP)或 ICMPv6 消息 返回: changed 示例: |
|
响应指定的 ICMP 消息类型返回的代码。 返回: changed 示例: |
|
ICMP 消息的类型。 返回: changed 示例: |
|
应用于防火墙规则的 iRule。 返回: changed 示例: |
|
启用或禁用防火墙规则的日志记录。 返回: changed 示例: |
|
规则的名称。 返回: changed 示例: |
|
包含要管理的规则的策略。 返回: changed 示例: |
|
包含要管理的规则的规则列表。 返回: changed 示例: |
|
规则适用的协议。 返回: changed 示例: |
|
在父策略中使用的现有规则列表。 返回: changed 示例: |
|
防火墙规则的计划。 返回: changed 示例: |
|
规则适用的数据包源。 返回: changed 示例: |
|
特定的 IP 地址。 返回: changed 示例: |
|
现有的地址列表。 返回: changed 示例: |
|
地址范围。 返回: changed 示例: |
|
国家/地区代码。 返回: changed 示例: |
|
单个数字端口。 返回: changed 示例: |
|
现有的端口列表。 返回: changed 示例: |
|
端口范围。 返回: changed 示例: |
|
数据包的源 VLAN。 返回: changed 示例: |
|
规则或规则列表的活动状态。 返回: changed 示例: |