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

要在剧本中使用它,请指定: 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 个字符的字符串。

state

字符串

指定资源的所需状态。

选项

  • "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

  • 对于旧版剧本,此模块也支持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)