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
。
要在剧本中使用它,请指定: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 地址。 |
|
指定现有的地址列表。 |
|
指定地址范围。 |
|
指定国家代码。 |
|
指定单个数字端口。 此选项仅在 |
|
指定现有的端口列表。 此选项仅在 |
|
指定端口范围,即用连字符分隔的两个端口值。连字符左侧的端口应小于右侧的端口。 此选项仅在 |
|
指定规则使用的互联网控制消息协议 (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 示例: |