Создание ACL EcoNAT Documentation / Создание ACL
Для создания ACL необходимо отправить команду create acl <name> или create aclv6 <name>. Имя ACL может содержать только латинские буквы (регистр учитывается), цифры и знак подчёркивания. В результате выполнения команды в ветке конфигурации acls создаётся объект (пустой список) aclname или aclv6name соответственно. Для перехода к созданному списку необходимо отправить команду edit acl<name> или goto acl<name> (edit aclv6<name> или goto aclv6<name>), после чего можно приступить к формированию списка правил.
Общий синтаксис команды для задания правила ACL:
<num> <type> <protocol> <src>[~<vid>] [port <src_port>] <dst>[~<vid>] [port <dst_port>]
В квадратных скобках указаны необязательные параметры. Следует указывать только значения параметров (без имени). Исключением является параметр port: перед значением, через пробел, должно идти слово "port". Описание всех параметров команды дано в таблице ниже.
Имя параметра | Описание |
---|---|
num | Порядковый номер правила, который определяет его приоритет. Чем меньше значение, тем выше приоритет. ACL не может содержать правила с одинаковыми номерами. При добавлении правила с номером, который уже присутствует в списке, новое правило заменит существующее с данным номером. Если номер не указан, то при добавлении правила в ACL номер присваивается автоматически. Правила применяются в порядке убывания приоритета (возрастания номера), поэтому приоритет частных правил должен быть выше, чем приоритет общих. Например, если в ACL задано разрешающее правило вида 10 permit ip src 194.85.16.0/24~10-50 dst any и требуется исключить из обработки пулом, к которому привязан ACL, весь трафик VLAN 20 данной подсети, то следует задать запрещающее правило вида 9 deny ip src 194.85.16.0/24~20 dst any, т. е. с номером меньше 10. |
type | Тип правила: разрешающее (allow или permit) или запрещающее (deny). Пакеты, соответствующие разрешающему правилу, будут обрабатываться подсистемой или функцией, в настройках которой указан данный ACL (например, пул или DPI-список). Пакеты, соответствующие запрещающему правилу, исключаются из обработки на текущем уровне подсистемы или функции, в настройках которой указан данный ACL, и передаются на анализ на следующий уровень (например, в другой пул или DPI-список). |
protocol | Протокол передачи данных. Допустимые значения:
Если не указать значение параметра protocol, то ему будет присвоено значение ip. |
src | IP-адрес отправителя. Допустимые значения (с примерами):
Адреса IPv6 можно указывать в полной или сокращённой форме, но в списке правил они всегда отображаются в сокращённой форме. Если не указать значение параметра src, то ему будет присвоено значение any. При этом в команде обязательно должно быть указано значение параметра dst (см. пример 1 ниже). |
vid | Идентификатор VLAN (от 0 до 4094). Значение vid задаётся с префиксом ~ (тильда) без пробела после значения src. Можно задать одно значение или диапазон (например, <src>~10-20). Для того чтобы задать vid для всех IP-адресов, значение параметра src должно быть задано в явном виде, т. е. 0.0.0.0/0 или ::/0 (см. пример 2 ниже). ПРИМЕЧАНИЕ Для того чтобы тегированный трафик обрабатывался в соответствии с заданными правилами, необходимо в ветке system.nat_defaults присвоить параметру vlan_mode значение vlan или qinq. В противном случае весь тегированный трафик будет проходить через EcoSGE без обработки. |
src_port и dst_port | Номера портов отправителя и получателя. Только для протоколов TCP и UDP. Можно задать одно значение или диапазон через дефис. |
dst | IP-адрес получателя. Допустимые значения (с примерами):
Адреса IPv6 можно указывать в полной или сокращённой форме, но в списке правил они всегда отображаются в сокращённой форме. Если не указать значение параметра dst, то ему будет присвоено значение any (см. пример 3 ниже). |
Пример 1. Задание правила без значения src:
EcoSGE:acls.acltest# 10 allow dst 10.20.30.40
EcoSGE:acls.acltest# ls
acltest {
10 permit ip src any dst host 10.20.30.40
}
Пример 2. Задание vid для всех IP-адресов:
EcoSGE:acls.acltest# 10 allow ip 0.0.0.0/0~10-20
EcoSGE:acls.acltest# ls
acltest {
10 permit ip src 0.0.0.0/0~10-20 dst any
}
Пример 3. Задание правила без значения dst:
EcoSGE:acls.acltest# 10 allow ip 10.0.0.1
EcoSGE:acls.acltest# ls
acltest {
10 permit ip src host 10.0.0.1 dst any
}