ACL Table
Для каждой таблицы определяются тип и направление. Таблицы содержат правила, и перечь портов к которым эти правила применяются, таблица может быть ассоциирована с одним или несколькими интерфейсами, так же как и интерфейс может быть ассоциирован с множеством таблиц. Каждая таблица имеет определенный тип, который определяет назначение таблицы и то, каким образом будет обрабатываться трафик, который будет соответствовать данной таблице. Таблица может иметь один из следующих типов: L3, L3V6 (IPv6 ACL table), FLOW_CONTROL , MIRROR, CTRLPLANE, VXLAN_STATS. Направление может быть ingress и egress, правило не может обрабатывать оба направления одновременно.
ACL Rule
В правиле определяется приоритет, условие совпадения и действие после совпадения. Правило ACL можно добавить только к одной таблице, но таблица может иметь несколько правил. Приоритет тем выше, чем больше номер правила (20 приоритетнее 10).
Команды диагностики
Table Rule Priority Action Match
-------- -------- ---------- -------- ------------------
ACC_TAB1 rule_100 100 FORWARD IP_TYPE: ANY
SRC_IP: 2.2.2.2/32
ACC_TAB1 rule_10 10 FORWARD IP_TYPE: ANY
SRC_IP: 1.1.1.1/32
ACC_TAB2 rule_1 1 FORWARD IP_TYPE: ANY
TName Type Binding Description Stage
-------- ------ --------- ------------- -------
ACC_TAB1 L3 Ethernet0 ACC_TAB1 ingress
ACC_TAB2 L3 Ethernet0 ACC_TAB2 ingress
TAB_001 L3 TAB_001 ingress
Команды настройки.
[Возможные параметры]
table_type = L3, L3v6, MIRROR, MIRRORv6, FLOW_CONTROL, CTRLPLANE
table_name Имя
table_stage Направление ingress или egress
Пример
access-list ACC_TAB1 l3 ingress
Удаление таблицы.
no access-list table_name
P.S. Перед удалением таблицы требуется удалить все правила из таблицы.
[Возможные параметры]
ingress action
packet-action {deny|permit|trap-to-cpu|copy-to-cpu}
redirect-action {ethernet|lag}
egress action
packet-action {deny|permit|trap-to-cpu|copy-to-cpu}
Возможные поля для сопоставления трафика (rule)
vlan-pri vlan-pri range 0-7
outer-vlan outer-vlan range 1-4094
ip-protocol ip-protocol range 0-255
source-port sport range 0-65535
destination-port dport range 0-65535
tcp-flags tcp-flags HEX<0-FF>
source -mac smac HH:HH:HH:HH:HH:HH(ingress)
destination-mac dmac HH:HH:HH:HH:HH:HH(ingress)
Специфичные для таблицы типа L3
source-ip sip A.B.C.D(/M)
destination-ip dip A.B.C.D(/M)
icmp-type icmp-type range 0-16
icmp-code icmp-code ``` range 0-5
ethernet-type eth-type HEX<0-FFFF>
ecn ecn range 0-3
dscp dscp range 0-63
rule id от 0 до 500, как писалось выше чем больше номер правила тем выше приоритет.
access-list ACC_TAB1 l3 ingress
rule 100 source-ip 192.168.0.0/24 packet-action permit
rule 99 source-ip 192.168.1.0/24 packet-action deny
Удаление правила
no rule rule-id
type тип интерфейса, ethernet или link-aggregation
interface-name имя интерфейса.
bind interface ethernet 0/0
Пример конфигурации
Ограничение SSH (control-plane)
Запрещаем доступ к коммутатору по ssh из сети 10.8.1.0/24:
access-list CTRL1 ctrlplane ingress ssh
rule 100 source-ip 10.8.1.0/24 packet-action deny
rule 99 source-ip 0.0.0.0/0 packet-action accept
Фильтрация DNS (data-plane)
Разрешаем только DNS-запросы к серверам 172.21.1.10 и 172.21.1.11:
access-list DNS_CTRL l3 ingress
bind interface ethernet 0/0
rule 99 ip-protocol 6 destination-port 53 source-ip 0.0.0.0/0 ip-type IP packet-action deny
rule 100 ip-protocol 17 destination-port 53 source-ip 0.0.0.0/0 ip-type IP packet-action deny
rule 101 ip-protocol 17 destination-port 53 source-ip 172.21.1.10/32 ip-type IP packet-action permit
rule 102 ip-protocol 17 destination-port 53 source-ip 172.21.1.11/32 ip-type IP packet-action permit
rule 103 ip-protocol 6 destination-port 53 source-ip 172.21.1.11/32 ip-type IP packet-action permit
rule 104 ip-protocol 6 destination-port 53 source-ip 172.21.1.10/32 ip-type IP packet-action permit
Первые два правила запрещают UDP/TCP трафик на dst-port 53 из всех сетей, они же являются самыми низко приоритетными в этой таблице. Оставшиеся правила разрешают DNS запросы на NS сервера 172.21.1.10 и 172.21.1.11. Строка bind interface ethernet 0/0 указывает на то, на какие именно интерфейсы применены правила.
Фильтрация ARP (data-plane)
Разрешаем ARP-ответы только от 10.100.1.0/24:
access-list ARP_CTRL l3 ingres
bind interface ethernet 0/0
rule 100 ip-type ARP_REPLY source-ip 10.100.1.0/24 packet-action permit
rule 99 ip-type ARP_REPLY source-ip 0.0.0.0/0 packet-action deny