1. Новости
Заметки пользователей
28.03.2013 08:10
2641
0
28.03.2013 08:10
PDF
2641
0

ACL: списки контроля доступа в коммутаторах Extreme

Идеология списков контроля доступа в коммутаторах Extreme Networks несколько отличается от идеологии, принятой в коммутаторах производства Компании Cisco Systems. В данной статье речь пойдет о настройке ACL в коммутаторах Extreme и чем ACL в коммутаторах Extreme отличаются от ACL в Cisco.

В коммутаторах Extreme можно создать два типа списков контроля доступа:

  • Статические
  • Динамические

Динамические ACL

Динамические списки контроля доступа создаются используя CLI, их можно просмотреть в конфигурации, выполнив команду show configuration «acl».

Для создания динамического acl нужно выполнить команду:

create access-list < dynamic-rule > < conditions > < actions > {non-permanent}

Если в команде используется ключ non-permanent, список контроля доступа сотрется из конфигурации после перезагрузки коммутатора.

Динамические ACL могут применяться как к физическим портам так и к VLAN:

configure access-list add < dynamic_rule > [ [[first | last] {priority < p_number >} {zone < zone >} ] | [[before | after] < rule >] | [ priority < p_number > {zone < zone >} ]] [ any | vlan < vlanname > | ports < portlist > ] {ingress | egress}

Для удаления acl с порта или VLAN необходимо выполнить команду:

configure access-list delete < ruleName > [ any | vlan < vlanname > | ports < portlist > |
all] {ingress | egress}

Пример создания списка контроля доступа, фильтрующего пакеты BPDU Cisco PVST+ и применения этого acl на порты 11-21:

create access-list bpdu1 «ethernet-destination-address 01:00:0c:cc:cc:cd ;» «deny»
create access-list bpdu2 «ethernet-destination-address 01:80:C2:00:00:00 ;» «deny»
conf access-list add «bpdu1» first ports 11-21 ingress
conf access-list add «bpdu2» first ports 11-21 ingress

Статические ACL

Статические acl представляют собой файлы, редактируемые VI-подобным редактором или загружаемые с внешнего TFTP сервера.
Для создания или редактирования ACL необходимо выполнить команду:
edit policy < policy-name >
Для начала редактирования нужно нажать клавишу «i».
Команды, используемы для редактирования ACL:
dd — To delete the current line
yy — To copy the current line
p — To paste the line copied
:w — To write (save) the file
:q — To quit the file if no changes were made
:q! — To forcefully quit the file without saving changes
:wq — To write and quit the file

Правильность ACL можно и нужно проверить, используя команду:

check policy < policy-name >

Если уже примененный на порту VLAN или в протоколе маршрутизации ACL изменился, необходимо выполнить команду:

refresh policy < policy-name >

Иначе, не смотря на то, что ACL уже изменен, будет использоваться его старая версия.

Просмотр ACL:

show policy {< policy-name > | detail}
 

Использование ACL

Списки контроля доступа можно использовать как для фильтрации сетевого трафика, так и для контроля за распространением маршрутов в сетевых протоколах (BGP, OSPF итд).
Применение ACL на порту коммутатора или на VLAN:

configure access-list [any | ports < portlist > | vlan < vlanname >] {ingress |
egress}

Отмена ACL с порта коммутатора или с VLAN:

unconfigure access-list < policy-name > {any | ports < portlist > | vlan < vlanname >}
{ingress | egress}

 

Использование ACLв протоколах маршрутизации:

configure bgp import-policy [< policy-name > | none]
configure rip import-policy [< policy-name > | none]

 

Настройка списков контроля доступа

Каждое правило имеет следующий синтаксис:

entry < ACLrulename >{
if {
match-conditions;
} then {
action;
action-modifiers;
}
}


То есть каждое правило имеет условие совпадения (match-conditions) и действие (action и action-modifiers).
Например, правило, разрешающее трафик из IP подсети 10.203.134.0/24, с UDP порта 190 на UDP порты 1200 – 1250 IP адреса 140.158.18.16:

entry udpacl {
if {
source-address 10.203.134.0/24;
destination-address 140.158.18.16/32;
protocol udp;
source-port 190;
destination-port 1200 — 1250;
} then {
permit;
}
}

 

В ACL можно делать description и comment:

# this line is a comment
@description «This line is a description»
 

Match Conditions
Основные match-conditions представлены ниже:

  • ethernet-source-address < mac-address >—Ethernet source address
  • ethernet-destination-address < mac-address > < mask >—Ethernet destination address and mask
  • source-address < prefix >—IP source address and mask
  • destination-address < prefix >—IP destination address and mask
  • source-port [< port > | < range]—TCP or UDP source port range
  • destination-port [< port > | < range >]—TCP or UDP destination port range

Actions
Основные действия:

  • permit—The packet is forwarded.
  • deny—The packet is dropped.

Action Modifiers
Наиболее часто применяемые Action Modifiers описаны ниже:

  • count < countername >—Increments the counter named in the action modifier
  • byte-count < byte counter name >—Increments the byte counter named in the action modifier
  • packet-count < packet counter name >—Increments the packet counter named in the action modifier
  • log—Logs the packet header
  • log-raw—Logs the packet header in hex format
  • meter < metername >—Takes action depending on the traffic rate
  • mirror—Sends a copy of the packet to the monitor (mirror) port (ingress only)
  • mirror-cpu—Mirrors a copy of the packet to the CPU in order to log it (ingress only)
  • qosprofile < qosprofilename >—Forwards the packet to the specified QoS profile
  • redirect < ipv4 addr >—Forwards the packet to the specified IPv4 address
  • redirect-port < port >—Overrides the forwarding decision and changes the egress port used. If the specified port is part of a load share group then this action will apply the load sharing algorithm.

Гораздо более подробно Match Conditions, Action и Action Modifiers описаны в главе 18 Concept Guide.
 

Wide Key ACLs

В коммутаторах Extreme Networksсуществует понятие Wide Key ACLs. Данная функция позволяет использовать 362 битные Match Conditions вместо стандартных 181 битных. Соответственно можно делать большие Match Conditions а так же использовать полные destination-source IPv6 Match Conditions.

Для включения или выключения Wide Key ACLs нужно выполнить команду:

configure access-list width [double | single] [slot < slotNo | all >]
 

Примеры списков контроля доступа

ACL, ограничивающий трафик в VLAN 100, накладывая на него meter voiceServiceMeter:
entry voiceService {
if {
vlan-id 100;
} then {
meter voiceServiceMeter;
}
}

ACL, зеркалирующий весь трафик VLAN 300:
entry voiceService {
if {
vlan-id 300;
} then {
mirror;
}
}

ACL, разрешающий трафик на IP адрес 10.200.250.2 и запрещающий весь остальной трафик:

entry test_policy_4 {
if {
source-address 0.0.0.0/0;
destination-address 10.200.250.2/32;
} then {
permit;
count test_policy_permit;
}
}
# deny everyone else
entry test_policy_99 {
if {
} then {
deny;
count test_policy_deny;
}
}

 

Основные отличия от ACL в коммутаторах Cisco

Как известно, ACL в оборудовании Cisco имеют следующий вид:
access-list 2 permit 1.1.1.0 0.0.0.255
access-list 100 permit tcp 1.1.1.1 0.0.0.0 2.2.2.2 0.0.0.0 eq 23


ACL, использующиеся в коммутаторах Extreme, отличаются от ACL в Cisco двумя моментами:
1. Синтаксис. ACL в Extreme иерархические, что с одной стороны более сложно в написании, с другой существенно расширяет возможности списков контроля доступа. Так, например, внутри ACL можно указать ключ mirror, и трафик будет зеркалироваться, или redirect, тогда трафик будет перенаправляться механизмами PBR (policy based routing). Внутри ACL Extreme можно применять политики QoS (ограничение полосы, перемаркировка и тд.)

2. ACL в Extreme не имеют завершающего deny в конце правила. То есть, если пакет не совпал ни с одним правилом в ACL, пакет будет разрешен.
Каждый ACL, цель которого в итоге что-то запретить, должен завершаться правилом:

entry denyall {
if {
} then {
deny;
}
}


3. Списки контроля доступа в Extreme работают на аппаратном уровне, и даже такие действия как PBR и mirroring не загружают CPU коммутатора.

0 комментариев
Оставлять комментарии могут только авторизованные пользователи