community.network.ce_acl_advance 模块 – 管理华为CloudEngine交换机上的高级ACL配置。

注意

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

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

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

要在playbook中使用它,请指定: community.network.ce_acl_advance

注意

community.network 集合已被弃用,并将从 Ansible 12 中移除。有关更多信息,请参阅 讨论主题

已弃用

在以下版本中移除:

6.0.0版本

原因:

此集合及其中的所有内容均未维护且已弃用。

替代方案:

未知。

概要

  • 管理华为CloudEngine交换机上的高级ACL配置。

别名:network.cloudengine.ce_acl_advance

参数

参数

注释

acl_description

字符串

ACL描述。值为1到127个字符的字符串。

acl_name

字符串 / 必需

ACL编号或名称。对于编号规则组,3000到3999范围内的值表示高级ACL。对于命名规则组,值为1到32个区分大小写的字符的字符串,以字母开头,不支持空格。

acl_num

字符串

ACL编号。值为3000到3999范围内的整数。

acl_step

字符串

ACL步长。值为1到20范围内的整数。默认值为5。

dest_ip

字符串

目标IP地址。值为0到255个字符的字符串。默认值为0.0.0.0。值为点分十进制表示法。

dest_mask

字符串

目标IP地址掩码。值为1到32范围内的整数。

dest_pool_name

字符串

目标池的名称。值为1到32个字符的字符串。

dest_port_begin

字符串

目标端口的起始端口号。值为0到65535范围内的整数。

dest_port_end

字符串

目标端口的结束端口号。值为0到65535范围内的整数。

dest_port_op

字符串

目标端口的范围类型。

选项

  • "lt"

  • "eq"

  • "gt"

  • "range"

dest_port_pool_name

字符串

目标端口池的名称。值为1到32个字符的字符串。

dscp

字符串

区分服务代码点。值为0到63范围内的整数。

established

布尔值

匹配已建立的连接。

选项

  • false ← (默认)

  • true

frag_type

字符串

数据包分段类型。

选项

  • "fragment"

  • "clear_fragment"

icmp_code

字符串

ICMP消息代码。可以根据ICMP消息代码过滤数据包。值为0到255范围内的整数。

icmp_name

字符串

ICMP名称。

选项

  • "unconfiged"

  • "echo"

  • "echo-reply"

  • "fragmentneed-DFset"

  • "host-redirect"

  • "host-tos-redirect"

  • "host-unreachable"

  • "information-reply"

  • "information-request"

  • "net-redirect"

  • "net-tos-redirect"

  • "net-unreachable"

  • "parameter-problem"

  • "port-unreachable"

  • "protocol-unreachable"

  • "reassembly-timeout"

  • "source-quench"

  • "source-route-failed"

  • "timestamp-reply"

  • "timestamp-request"

  • "ttl-exceeded"

  • "address-mask-reply"

  • "address-mask-request"

  • "custom"

icmp_type

字符串

ICMP类型。此参数仅在数据包协议为ICMP时可用。值为0到255范围内的整数。

igmp_type

字符串

互联网组管理协议。

选项

  • "host-query"

  • "mrouter-adver"

  • "mrouter-solic"

  • "mrouter-termi"

  • "mtrace-resp"

  • "mtrace-route"

  • "v1host-report"

  • "v2host-report"

  • "v2leave-group"

  • "v3host-report"

log_flag

布尔值

记录匹配的数据包的标志。

选项

  • false ← (默认)

  • true

precedence

字符串

可以根据优先级字段过滤数据包。值为0到7范围内的整数。

protocol

字符串

协议类型。

选项

  • "ip"

  • "icmp"

  • "igmp"

  • "ipinip"

  • "tcp"

  • "udp"

  • "gre"

  • "ospf"

rule_action

字符串

基本ACL规则的匹配模式。

选项

  • "permit"

  • "deny"

rule_description

字符串

关于ACL规则的描述。

rule_id

字符串

配置模式下基本ACL规则的ID。值为0到4294967294范围内的整数。

rule_name

字符串

基本ACL规则的名称。值为1到32个字符的字符串。

source_ip

字符串

源IP地址。值为0到255个字符的字符串。默认值为0.0.0.0。值为点分十进制表示法。

src_mask

字符串

源IP地址掩码。值为1到32范围内的整数。

src_pool_name

字符串

源池的名称。值为1到32个字符的字符串。

src_port_begin

字符串

源端口的起始端口号。值为0到65535范围内的整数。

src_port_end

字符串

源端口的结束端口号。值为0到65535范围内的整数。

src_port_op

字符串

源端口的范围类型。

选项

  • "lt"

  • "eq"

  • "gt"

  • "range"

src_port_pool_name

字符串

源端口池名称。值是一个 1 到 32 个字符的字符串。

状态

字符串

指定资源的所需状态。

选项

  • "present" ← (默认)

  • "absent"

  • "delete_acl"

syn_flag

字符串

TCP标志值。值是一个 0 到 63 之间的整数。

tcp_flag_mask

字符串

TCP标志掩码值。值是一个 0 到 63 之间的整数。

time_range

字符串

ACL规则生效的时间范围名称。

tos

字符串

基于其进行数据包过滤的ToS值。值是一个 0 到 15 之间的整数。

ttl_expired

布尔值

是否匹配TTL过期,TTL值为1。

选项

  • false ← (默认)

  • true

vrf_name

字符串

VPN实例名称。值是一个 1 到 31 个字符的字符串。默认值为 _public_。

注释

注意

  • 此模块要求在被管理的远程设备上启用 netconf 系统服务。

  • 推荐连接方式为 netconf

  • 此模块也适用于旧版 playbook 的 local 连接。

示例

- name: CloudEngine advance acl test
  hosts: cloudengine
  connection: local
  gather_facts: false
  vars:
    cli:
      host: "{{ inventory_hostname }}"
      port: "{{ ansible_ssh_port }}"
      username: "{{ username }}"
      password: "{{ password }}"
      transport: cli

  tasks:

  - name: "Config ACL"
    community.network.ce_acl_advance:
      state: present
      acl_name: 3200
      provider: "{{ cli }}"

  - name: "Undo ACL"
    community.network.ce_acl_advance:
      state: delete_acl
      acl_name: 3200
      provider: "{{ cli }}"

  - name: "Config ACL advance rule"
    community.network.ce_acl_advance:
      state: present
      acl_name: test
      rule_name: test_rule
      rule_id: 111
      rule_action: permit
      protocol: tcp
      source_ip: 10.10.10.10
      src_mask: 24
      frag_type: fragment
      provider: "{{ cli }}"

  - name: "Undo ACL advance rule"
    community.network.ce_acl_advance:
      state: absent
      acl_name: test
      rule_name: test_rule
      rule_id: 111
      rule_action: permit
      protocol: tcp
      source_ip: 10.10.10.10
      src_mask: 24
      frag_type: fragment
      provider: "{{ cli }}"

返回值

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

描述

changed

布尔值

检查设备上是否进行了更改

返回值:始终

示例: true

end_state

字典

模块执行后 aaa 参数的键值对

返回值:始终

示例: {}

existing

字典

现有 aaa 服务器的键值对

返回值:始终

示例: {"aclNumOrName": "test", "aclType": "Advance"}

proposed

字典

传递到模块的参数的键值对

返回值:始终

示例: {"acl_name": "test", "state": "delete_acl"}

updates

列表 / 元素=字符串

发送到设备的命令

返回值:始终

示例: ["undo acl name test"]

状态

  • 此模块将在 6.0.0 版本中移除。 *[已弃用]*

  • 更多信息请参见 已弃用

作者

  • wangdezhuang (@QijunPan)