Dell Networking SONiC: пример конфигурации базового списка доступа
Summary: В этой статье на примере объясняется, как настроить базовый список управления доступом (ACL) для блокировки трафика в определенной подсети в Dell Networking SONiC.
Instructions
Предварительные условияДля демонстрации концепций мы используем стандартное именование интерфейса. См. статью Dell Networking серии S. Basic Interface Configuration — SONiC 4.0 для получения дополнительной информации об именовании интерфейсов |
Указатель
Цель
Топология
Синтаксис
командКонфигурация
Проверять
Цель
В этой статье мы продемонстрируем базовое применение списка доступа. Предположим, что у нас есть две фермы серверов, а именно Green и RED.
Необходимо разрешить трафику, входящему в интерфейс Eth 1/1 из подсети 10.0.0.0/24, отказывать в доступе к RED (50.0.0.0/24). Весь остальной трафик должен быть разрешен.
Топология

Синтаксис команд
Синтаксис конфигурации для списка доступа IPv4
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# ip access-list {access-list-name}
DELLSONiC(conf-ipv4-acl)# seq {1-65535} {permit | deny | discard |transit | remark description } {ip | ip-protocol} {any | host source-ip-address [/source-ip-prefix-len]} {any | host dest-ip-address [/dest-ip-prefix-len]} [remark description] |
Когда пакет соответствует инструкции в списке доступа L3 IPv4, выполняется одно из следующих действий:
- Permit — Пакет пересылается в плоскости данных. Пакет засчитывается.
- Запретить — пакет отбрасывается в плоскости данных. Пакет засчитывается.
- Транзит — пакет пересылается в плоскости данных. Пакет не учитывается.
- Discard — пакет отбрасывается на плоскости данных. Пакет не учитывается.
Применение списка доступа в интерфейсе
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# interface {interface}
DELLSONiC(config-if-XXXX# ip access-group {access-lsit} {in/out} |
Некоторые ключевые моменты, о которых следует помнить при настройке списка доступа. Для краткости мы будем использовать термин ACL в качестве краткой формы для списка доступа.
- Замечание заключается в добавлении описания в список доступа. Это никак не влияет на трафик.
- Список доступа не фильтрует трафик, предназначенный для коммутатора, например IP-адрес замыкания на себя, IP-адрес интерфейса, IP-адрес VLAN.
- Глобальные списки ACL (списки ACL, не назначенные определенному интерфейсу или интерфейсам) фильтруют весь трафик, который передается мостами или маршрутизируется на интерфейсах коммутатора. Глобальные списки ACL поддерживают правила MAC, IPv4 и IPv6.
- Списки ACL, применяемые к интерфейсу Ethernet или интерфейса порта-канала, обрабатывают пакеты L2 и L3, чтобы определить, следует ли пересылать или отбрасывать пакет на основе критериев разрешения или отклонения в ACL.
- Списки контроля доступа, применяемые для VLAN, фильтруют весь трафик, который передается мостами в той же VLAN либо маршрутизируется в VLAN или из нее. Применяйте списки контроля доступа VLAN как к мостовому, так и к маршрутизируемому трафику. Списки ACL VLAN поддерживают ACL MAC, IPv4 и IPv6.
- Списки ACL обрабатываются в последовательном порядке от первой до последней пронумерованной записи. При обнаружении совпадения дальнейшая обработка списка контроля доступа не выполняется.
- По умолчанию все списки контроля доступа MAC, IPv4 и IPv6 уровня L2 содержат в конце правило запрета any. Правило deny any отбрасывает весь трафик, который не соответствует предыдущим записям разрешения или запрета в ACL.
- Добавьте правило permit any в конец списка контроля доступа, чтобы разрешить все пакеты, которые не отклоняются другими критериями.
Для проверки конфигурации списка доступа используйте следующие команды.
Show details of all access list in switch DELLSONiC# show ip access-lists |
Show details of specific access list in switch DELLSONiC# show ip access-lists <access-list-name> |
Show details of access list and applied interface DELLSONiC# show ip access-group |
Настройка
Давайте настроим список доступа. Замечание заключается в добавлении описания в список доступа. Это никак не влияет на трафик.
admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure DELLSONiC(config)# ip access-list DENY-RED DELLSONiC(config-ipv4-acl)# remark "DENY IP of RED" DELLSONiC(config-ipv4-acl)# seq 1 deny ip 10.0.0.0/24 50.0.0.0/24 remark "DENY RED" DELLSONiC(config-ipv4-acl)# seq 10 permit ip any any remark "Permit Everything else" DELLSONiC(config-ipv4-acl)# end DELLSONiC# |
Теперь применим список доступа к интерфейсу Eth 1/1.
admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure DELLSONiC(config)# interface Eth 1/1 DELLSONiC(config-if-Eth1/1)# ip access-group DENY-RED in DELLSONiC(config-if-Eth1/1)# end DELLSONiC# |
Проверка
Используйте следующую команду для проверки конфигурации списка доступа.
DELLSONiC# show ip access-lists
ip access-list DENY-RED
remark "DENY IP of RED"
seq 1 deny ip 10.0.0.0/24 50.0.0.0/24 (332 packets) [33864 bytes]
remark "DENY RED"
seq 10 permit ip any any (0 packets) [0 bytes]
remark "Permit Everything else"
DELLSONiC#
We can see the packets/bytes is counted when a condition is matched when deny is configured. If we had configured discard, the counters will not increment.
|
DELLSONiC# show ip access-group Ingress IP access-list DENY-RED on Eth1/1 DELLSONiC# |