arista.eos.eos_acls 模块 – ACL 资源模块
注意
此模块是 arista.eos 集合 (版本 10.0.1) 的一部分。
如果您使用的是 ansible
包,则可能已安装此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用: ansible-galaxy collection install arista.eos
。
要在 playbook 中使用它,请指定: arista.eos.eos_acls
。
arista.eos 1.0.0 中的新增功能
概要
此模块管理 Arista EOS 接口的 IP 访问列表属性。
参数
参数 |
注释 |
---|---|
IP 访问列表选项的字典 |
|
访问控制列表 (ACL) 列表。 |
|
过滤数据 |
|
数据包的目标地址 |
|
IP 地址的点分十进制表示法 |
|
规则匹配所有源地址 选项
|
|
主机 IP 地址 |
|
指定目标端口/协议,以及运算符。(与 tcp/udp 一起使用)。 |
|
子网地址 |
|
源通配符位 |
|
添加碎片规则 选项
|
|
匹配非头部碎片数据包 选项
|
|
应用于规则的操作 选项
|
|
跳数限制值。 |
|
对于事实收集,任何未完全解析的 ACE 都会显示为此属性的值。 |
|
记录与该规则匹配的内容 选项
|
|
指定要匹配的协议。 请参阅供应商文档以了解有效值。 |
|
所选协议的所有可能的子选项。 |
|
互联网控制消息协议设置。 |
|
管理上禁止 选项
|
|
备用地址 选项
|
|
数据报转换 选项
|
|
主机禁止 选项
|
|
网络禁止 选项
|
|
回显(ping) 选项
|
|
回显回复 选项
|
|
参数问题 选项
|
|
主机隔离 选项
|
|
主机对于优先级不可达 选项
|
|
主机重定向 选项
|
|
针对 TOS 的主机重定向 选项
|
|
主机对于 TOS 不可达 选项
|
|
主机未知 选项
|
|
主机不可达 选项
|
|
信息回复 选项
|
|
信息请求 选项
|
|
掩码回复 选项
|
|
掩码请求 选项
|
|
ICMP 消息代码 |
|
icmp 消息类型编号。 |
|
ICMP 消息类型 |
|
移动主机重定向 选项
|
|
网络重定向 选项
|
|
针对 TOS 的网络重定向 选项
|
|
网络对于 TOS 不可达 选项
|
|
网络不可达 选项
|
|
网络未知 选项
|
|
需要参数但空间不足 选项
|
|
需要参数但不存在 选项
|
|
需要分片且 DF 设置 选项
|
|
所有参数问题 选项
|
|
端口不可达 选项
|
|
优先级截止 选项
|
|
协议不可达 选项
|
|
重新组装超时 选项
|
|
所有重定向 选项
|
|
路由器发现广告 选项
|
|
路由器发现请求 选项
|
|
源抑制 选项
|
|
源路由失败 选项
|
|
所有超时 选项
|
|
时间戳回复 选项
|
|
时间戳请求 选项
|
|
traceroute 选项
|
|
TTL 超时 选项
|
|
所有不可达 选项
|
|
icmpv6 的选项。 |
|
地址不可达 选项
|
|
beyond_scope 选项
|
|
echo_reply 选项
|
|
回显请求 选项
|
|
错误的报头 选项
|
|
fragment_reassembly_exceeded 选项
|
|
跳数限制超过 选项
|
|
邻居通告 选项
|
|
neighbor_solicitation 选项
|
|
无管理员 选项
|
|
无路由 选项
|
|
数据包太大 选项
|
|
参数问题 选项
|
|
端口不可达 选项
|
|
重定向消息 选项
|
|
拒绝路由 选项
|
|
router_advertisement 选项
|
|
router_solicitation 选项
|
|
source_address_failed 选项
|
|
source_routing_error 选项
|
|
time_exceeded 选项
|
|
unreachable 选项
|
|
unrecognized_ipv6_option 选项
|
|
unrecognized_next_header 选项
|
|
互联网协议。 |
|
下一跳组名称。 |
|
互联网 V6 协议。 |
|
下一跳组名称。 |
|
tcp 协议的选项。 |
|
匹配 TCP 数据包标志 |
|
匹配 ACK 位 选项
|
|
匹配已建立的连接 选项
|
|
匹配 FIN 位 选项
|
|
匹配PSH位 选项
|
|
匹配RST位 选项
|
|
匹配SYN位 选项
|
|
匹配URG位 选项
|
|
指定注释 |
|
规则有序列表的序号 |
|
数据包的源地址 |
|
IP 地址的点分十进制表示法 |
|
规则匹配所有源地址 选项
|
|
主机 IP 地址 |
|
指定源端口/协议,以及运算符。(与tcp/udp一起使用)。 |
|
子网地址 |
|
源通配符位 |
|
匹配现有ICMP/UDP/TCP连接中的数据包 选项
|
|
将数据包中的TTL(生存时间)值与指定值进行比较 |
|
匹配单个TTL值 |
|
匹配TTL大于此数值 |
|
匹配TTL小于此数值 |
|
匹配TTL不等于此值 |
|
VLAN选项 |
|
ACL列表的名称 |
|
标准访问列表或非标准访问列表 选项
|
|
访问控制列表 (ACL) 的地址族指示符 (AFI)。 选项
|
|
此选项仅在状态为 *parsed* 时使用。 此选项的值应为通过执行命令 **show running-config | section access-list** 从EOS设备接收到的输出。 状态 *parsed* 从 |
|
配置应保留的状态。 选项
|
备注
注意
已在 Arista EOS 4.24.6F 上测试
示例
# Using merged
# Before state:
# -------------
# show running-config | section access-list
# ip access-list test1
# 10 permit ip 10.10.10.0/24 any ttl eq 200
# 20 permit ip 10.30.10.0/24 host 10.20.10.1
# 30 deny tcp host 10.10.20.1 eq finger www any syn log
# 40 permit ip any any
# ipv6 access-list test2
# 10 deny icmpv6 any any reject-route hop-limit eq 20
- name: Merge provided configuration with device configuration
arista.eos.eos_acls:
config:
- afi: ipv4
acls:
- name: test1
aces:
- sequence: 35
grant: deny
protocol: ospf
source:
subnet_address: 20.0.0.0/8
destination:
any: true
state: merged
# After state:
# ------------
#
# show running-config | section access-list
# ip access-list test1
# 10 permit ip 10.10.10.0/24 any ttl eq 200
# 20 permit ip 10.30.10.0/24 host 10.20.10.1
# 30 deny tcp host 10.10.20.1 eq finger www any syn log
# 35 deny ospf 20.0.0.0/8 any
# 40 permit ip any any
# ipv6 access-list test2
# 10 deny icmpv6 any any reject-route hop-limit eq 20
# Using merged
# Before state:
# -------------
# show running-config | section access-list
# ip access-list test1
# 10 permit ip 10.10.10.0/24 any ttl eq 200
# 20 permit ip 10.30.10.0/24 host 10.20.10.1
# 30 deny tcp host 10.10.20.1 eq finger www any syn log
# 40 permit ip any any
# ipv6 access-list test2
# 10 deny icmpv6 any any reject-route hop-limit eq 20
- name: Merge to update the given configuration with an existing ace
arista.eos.eos_acls:
config:
- afi: ipv4
acls:
- name: test1
aces:
- sequence: 35
log: true
ttl:
eq: 33
state: merged
# After state:
# ------------
#
# show running-config | section access-list
# ip access-list test1
# 10 permit ip 10.10.10.0/24 any ttl eq 200
# 20 permit ip 10.30.10.0/24 host 10.20.10.1
# 30 deny tcp host 10.10.20.1 eq finger www any syn log
# 35 deny ospf 20.0.0.0/8 any ttl eq 33 log
# 40 permit ip any any
# ipv6 access-list test2
# 10 deny icmpv6 any any reject-route hop-limit eq 20
# Using replaced
# Before state:
# -------------
# show running-config | section access-list
# ip access-list test1
# 10 permit ip 10.10.10.0/24 any ttl eq 200
# 20 permit ip 10.30.10.0/24 host 10.20.10.1
# 30 deny tcp host 10.10.20.1 eq finger www any syn log
# 40 permit ip any any
# !
# ip access-list test3
# 10 permit ip 35.33.0.0/16 any log
# !
# ipv6 access-list test2
# 10 deny icmpv6 any any reject-route hop-limit eq 20
- name: Replace device configuration with provided configuration
arista.eos.eos_acls:
config:
- afi: ipv4
acls:
- name: test1
aces:
- sequence: 35
grant: permit
protocol: ospf
source:
subnet_address: 20.0.0.0/8
destination:
any: true
state: replaced
# After state:
# ------------
#
# show running-config | section access-list
# ip access-list test1
# 35 permit ospf 20.0.0.0/8 any
# !
# ip access-list test3
# 10 permit ip 35.33.0.0/16 any log
# !
# ipv6 access-list test2
# 10 deny icmpv6 any any reject-route hop-limit eq 20
# Using overridden
# Before state:
# -------------
# show running-config | section access-list
# ip access-list test1
# 10 permit ip 10.10.10.0/24 any ttl eq 200
# 20 permit ip 10.30.10.0/24 host 10.20.10.1
# 30 deny tcp host 10.10.20.1 eq finger www any syn log
# 40 permit ip any any
# !
# ip access-list test3
# 10 permit ip 35.33.0.0/16 any log
# !
# ipv6 access-list test2
# 10 deny icmpv6 any any reject-route hop-limit eq 20
- name: override device configuration with provided configuration
arista.eos.eos_acls:
config:
- afi: ipv4
acls:
- name: test1
aces:
- sequence: 35
grant: permit
protocol: ospf
source:
subnet_address: 20.0.0.0/8
destination:
any: true
state: overridden
# After state:
# ------------
#
# show running-config | section access-list
# ip access-list test1
# 35 permit ospf 20.0.0.0/8 any
# !
# Using deleted:
# Before state:
# -------------
# show running-config | section access-list
# ip access-list test1
# 10 permit ip 10.10.10.0/24 any ttl eq 200
# 20 permit ip 10.30.10.0/24 host 10.20.10.1
# 30 deny tcp host 10.10.20.1 eq finger www any syn log
# 40 permit ip any any
# ipv6 access-list test2
# 10 deny icmpv6 any any reject-route hop-limit eq 20
# !
- name: Delete provided configuration
arista.eos.eos_acls:
config:
- afi: ipv4
acls:
- name: test1
state: deleted
# After state:
# ------------
#
# show running-config | section access-list
# ipv6 access-list test2
# 10 deny icmpv6 any any reject-route hop-limit eq 20
# using gathered
# ip access-list test1
# 35 deny ospf 20.0.0.0/8 any
# ip access-list test2
# 40 permit vlan 55 0xE2 icmpv6 any any log
- name: Gather the existing configuration
arista.eos.eos_acls:
state: gathered
# returns:
# arista.eos.eos_acls:
# config:
# - afi: "ipv4"
# acls:
# - name: test1
# aces:
# - sequence: 35
# grant: "deny"
# protocol: "ospf"
# source:
# subnet_address: 20.0.0.0/8
# destination:
# any: true
# - afi: "ipv6"
# acls:
# - name: test2
# aces:
# - sequence: 40
# grant: "permit"
# vlan: "55 0xE2"
# protocol: "icmpv6"
# log: true
# source:
# any: true
# destination:
# any: true
# using rendered
- name: Delete provided configuration
arista.eos.eos_acls:
config:
- afi: ipv4
acls:
- name: test1
aces:
- sequence: 35
grant: deny
protocol: ospf
source:
subnet_address: 20.0.0.0/8
destination:
any: true
- afi: ipv6
acls:
- name: test2
aces:
- sequence: 40
grant: permit
vlan: 55 0xE2
protocol: icmpv6
log: true
source:
any: true
destination:
any: true
state: rendered
# returns:
# ip access-list test1
# 35 deny ospf 20.0.0.0/8 any
# ip access-list test2
# 40 permit vlan 55 0xE2 icmpv6 any any log
# Using Parsed
# parsed_acls.cfg
# ipv6 access-list standard test2
# 10 permit any log
# !
# ip access-list test1
# 35 deny ospf 20.0.0.0/8 any
# 45 remark Run by ansible
# 55 permit tcp any any
# !
- name: parse configs
arista.eos.eos_acls:
running_config: "{{ lookup('file', './parsed_acls.cfg') }}"
state: parsed
# returns
# "parsed": [
# {
# "acls": [
# {
# "aces": [
# {
# "destination": {
# "any": true
# },
# "grant": "deny",
# "protocol": "ospf",
# "sequence": 35,
# "source": {
# "subnet_address": "20.0.0.0/8"
# }
# },
# {
# "remark": "Run by ansible",
# "sequence": 45
# },
# {
# "destination": {
# "any": true
# },
# "grant": "permit",
# "protocol": "tcp",
# "sequence": 55,
# "source": {
# "any": true
# }
# }
# ],
# "name": "test1"
# }
# ],
# "afi": "ipv4"
# },
# {
# "acls": [
# {
# "aces": [
# {
# "grant": "permit",
# "log": true,
# "sequence": 10,
# "source": {
# "any": true
# }
# }
# ],
# "name": "test2",
# "standard": true
# }
# ],
# "afi": "ipv6"
# }
# ]
返回值
常见的返回值已在此处记录,以下是此模块特有的字段
键 |
描述 |
---|---|
生成的配置模型调用。 返回:发生更改时 示例: |
|
模型调用之前的配置。 返回:始终返回 示例: |
|
推送到远程设备的命令集。 返回:始终返回 示例: |