Перейти к содержимому
Калькуляторы

ACL для коммутаторов доступа. Dlink

а можно сделать более "глобальнее" и создать на основе ethernet?

Можно, через PCF.

 

ACL только для DES3200

 

1. В профиле определяется выборки по внутренему тегу пакета и по неиспользуемому в правилах полю в пакете.

1.1. В правиле разрешается прохождение пакета с внутреним тегом. Также на это правило можно будет повесить Flow Meter, ограничив тем самым исходящую скорость во влане.

Для ограничения входящей скорость нужно будет еще одно разрешающее правило на порт аплинка, на которое потом вещается Flow Meter.

CLI:

Profile:

create access_profile packet_content_mask c_tag 0xffff offset1 l2 0 0xFFFF profile_id 1

Rule:

# Allow Vlan

config access_profile profile_id 1 add access_id 1 packet_content c_tag 0x0faa offset1 0x0 port 1 permit

...

А реализовать всё это на DES-3200 HW Ver. C1 не пытались?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А реализовать всё это на DES-3200 HW Ver. C1 не пытались?

 

Вот пример нашей реализации:

 

# 1. На абонентских портах делаем следующие настройки:

# 1.1. Включаем DHCP Server Screening
config filter dhcp_server ports 1-8 state enable

# 1.2. Включаем обнаружение колец на портах абонентов
#      и выключаем на магистральных портах
enable loopdetect 
config loopdetect recover_timer 1800 
config loopdetect interval 10 
config loopdetect ports 1-8 state enable 
config loopdetect ports 9-10 state disable

# 1.3. Запрещаем STP трафик
config stp version rstp 
config stp ports 1-8 fbpdu disable state disable

# 2. Настраиваем ACL

# 2.1. Создаем ACL типа ethernet в первой ячейке памяти

# На всякий случай удаляем все ранее записанные правила
delete access_profile profile_id 1
# Создаем профиль
create access_profile profile_id 1 profile_name 1 ethernet source_mac FF-FF-FF-FF-FF-FF destination_mac FF-FF-FF-FF-FF-FF ethernet_type
# В случае, если нужно заблокировать MAC абонента на порту
# config access_profile profile_id 1 add access_id 1 ethernet source_mac D4-CA-6D-BE-1C-86 port 6 deny

# Блокируем PPPoE Discovery 
config access_profile profile_id 1 add access_id 2 ethernet ethernet_type 0x8863 port 1-8 deny
# Блокируем PPPoE Session
config access_profile profile_id 1 add access_id 3 ethernet ethernet_type 0x8864 port 1-8 deny
# Блокируем IPX
config access_profile profile_id 1 add access_id 4 ethernet ethernet_type 0x8137 port 1-8 deny
# Блокируем AppleTalk
config access_profile profile_id 1 add access_id 5 ethernet ethernet_type 0x809B port 1-8 deny
# Блокируем AppleTalk ARP
config access_profile profile_id 1 add access_id 6 ethernet ethernet_type 0x80F3 port 1-8 deny
# Блокируем IPv6
config access_profile profile_id 1 add access_id 7 ethernet ethernet_type 0x86DD port 1-8 deny
# Блокируем IP Broadcast
config access_profile profile_id 1 add access_id 8 ethernet destination_mac FF-FF-FF-FF-FF-FF ethernet_type 0x0800 port 1-8 deny
# Разрешаем ARP
config access_profile profile_id 1 add access_id 10 ethernet ethernet_type 0x0806 port 1-8 permit counter enable
# Ограничиваем поток ARP трафика до 64 кБит/с
config flow_meter profile_id 1 access_id 10 rate 64 rate_exceed drop_packet

# 2.2. Создаем ACL типа PCF в третьей ячейке памяти

# На всякий случай удаляем все ранее записанные правила
delete access_profile profile_id 3

# Создаем профиль. Анализировать будем протокол, IP адреса отправителя и получателя, порт источника, порт назначения
# offset_chunk_1 6 0x00FF0000 - протокол. Например, для udp значение = 11 
# offset_chunk_2 7 0xFFFFFFFF - ip отправителя
# offset_chunk_3 8 0xFFFFFFFF - ip получателя
# offset_chunk_4 9 0xFFFFFFFF - порт источника / порт получателя
create access_profile profile_id 3 profile_name 3 packet_content_mask offset_chunk_1 6 0x00FF0000 offset_chunk_2 7 0xFFFFFFFF offset_chunk_3 8 0xFFFFFFFF offset_chunk_4 9 0xFFFFFFFF

# Блокируем DHCP Server
config access_profile profile_id 3 add access_id 100 packet_content offset_chunk_1 0x00110000 mask 0x00FF0000 offset_chunk_4 0x0043 mask 0x0000FFFF port 1-8 deny
# Блокируем DHCP Client
config access_profile profile_id 3 add access_id 101 packet_content offset_chunk_1 0x00110000 mask 0x00FF0000 offset_chunk_4 0x0044 mask 0x0000FFFF port 1-8 deny
# Блокируем NETBIOS Name Service (UDP 137) 
config access_profile profile_id 3 add access_id 102 packet_content offset_chunk_1 0x00110000 mask 0x00FF0000 offset_chunk_4 0x0089 mask 0x0000FFFF port 1-8 deny
# Блокируем NETBIOS Datagram Service (UDP 138)
config access_profile profile_id 3 add access_id 103 packet_content offset_chunk_1 0x00110000 mask 0x00FF0000 offset_chunk_4 0x008a mask 0x0000FFFF port 1-8 deny
# Блокируем Microsoft-DS SMB file sharing (UDP 445) & Block Microsoft Naked CIFS,Microsoft-DS Active Directory, Windows shares (TCP 445)
config access_profile profile_id 3 add access_id 104 packet_content offset_chunk_4 0x01bd mask 0x0000FFFF port 1-8 deny
# Блокируем SSDP Discovery (UDP 1900)
config access_profile profile_id 3 add access_id 105 packet_content offset_chunk_1 0x00110000 mask 0x00FF0000 offset_chunk_4 0x076c mask 0x0000FFFF port 1-8 deny
# Блокируем Location Service (TCP 135)
config access_profile profile_id 3 add access_id 106 packet_content offset_chunk_1 0x00060000 mask 0x00FF0000 offset_chunk_4 0x0087 mask 0x0000FFFF port 1-8 deny
# Блокируем NETBIOS session service (TCP 139)
config access_profile profile_id 3 add access_id 107 packet_content offset_chunk_1 0x00060000 mask 0x00FF0000 offset_chunk_4 0x008b mask 0x0000FFFF port 1-8 deny
# Блокируем Microsoft Universal Plug&Play Discovery (TCP 2869)
config access_profile profile_id 3 add access_id 108 packet_content offset_chunk_1 0x00060000 mask 0x00FF0000 offset_chunk_4 0x0b35 mask 0x0000FFFF port 1-8 deny
# Блокируем Universal Plug and Play (TCP 5000)
config access_profile profile_id 3 add access_id 109 packet_content offset_chunk_1 0x00060000 mask 0x00FF0000 offset_chunk_4 0x1388 mask 0x0000FFFF port 1-8 deny

# Разрешаем трафик, отправленный из подсети 10.51.0.0/16
config access_profile profile_id 3 add access_id 150 packet_content offset_chunk_2 0x0A330000 mask 0xFFFF0000 port 1-8 permit
# Разрешаем трафик, отправленный из подсети 10.87.0.0/16
config access_profile profile_id 3 add access_id 151 packet_content offset_chunk_2 0x0A570000 mask 0xFFFF0000 port 1-8 permit counter enable

# Тут еще несколько наших подсетей

# Блокируем остальной трафик
config access_profile profile_id 3 add access_id 200 packet_content offset_chunk_2 0x00000000 mask 0x00000000 port 1-8 deny

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот пример нашей реализации:

 

# 1.1. Включаем DHCP Server Screening
config filter dhcp_server ports 1-8 state enable

# Блокируем DHCP Server
config access_profile profile_id 3 add access_id 100 packet_content offset_chunk_1 0x00110000 mask 0x00FF0000 offset_chunk_4 0x0043 mask 0x0000FFFF port 1-8 deny

это вроде одно и тоже, только dhcp screening еще и в логи может писать обнаруженные серверы которые не пропустил

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

И есть в 3200 также config filter netbios

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

# На всякий случай удаляем все ранее записанные правила
delete access_profile profile_id 1

Тогда уж

delete access_profile all

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Насколько критично наличие фильтрации на доступе?

сеть 25к, ipoe, per vlan. За все время работы ни разу не видел чтобы от кого-го исходила дикая активность и он клал ветку/свитч. Вижу только нетбиос, ssdp - они особо не мешают..

Что скажете?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

per vlan

 

Если имеется ввиду vlan per user, то эта технология никакой фильтрации на доступе не требует.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

vlan на дом + management vlan+ traffic_segmentation и тоже проблем никаких никогда не было

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

это вроде одно и тоже, только dhcp screening еще и в логи может писать обнаруженные серверы которые не пропустил

Да, дополнительные правила у нас скорее для перестраховки. :)

 

И есть в 3200 также config filter netbios

Спасибо! Включим в следующую версию ACL.

 

config filter extensive_netbios all state enable

Вот отрывок офф. документации на эту тему для DES-3526:

 

NetBIOS Filtering Setting

When the NetBIOS filter is enabled, all NetBIOS packets will be filtered from the specified port. Enabling the NetBIOS filter will create one access profile and create three access rules per port (UDP port numbers 137 and 138 and TCP port number 139).

 

For Extensive NetBIOS Filter, when it is enabled, all NetBIOS packets over 802.3 frames will be filtered from the specified port. This command is used to configure the state of the NetBIOS filter. Enabling the Extensive NetBIOS filter will create one access profile and create one access rule per port (DSAP (Destination Service Access Point) =F0, and SASP (Source Service Access Point) =F0).

 

И менее многословно из документации к DES-3200 Series:

26-3

config filter extensive_netbios

Description

This command is used to configure the Switch to filter NETBIOS packets over 802.3 flame on the

specific ports.

Format

config filter extensive_netbios [<port

list> | all] state [enable | disable]

 

Тогда уж

delete access_profile all

Точно, так красивей. Поправлю, спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот пример нашей реализации:

 

# 1.1. Включаем DHCP Server Screening
config filter dhcp_server ports 1-8 state enable

# Блокируем DHCP Server
config access_profile profile_id 3 add access_id 100 packet_content offset_chunk_1 0x00110000 mask 0x00FF0000 offset_chunk_4 0x0043 mask 0x0000FFFF port 1-8 deny

это вроде одно и тоже, только dhcp screening еще и в логи может писать обнаруженные серверы которые не пропустил

У меня скрининг не отрабатывал, спасался пцф. Вроде как в какой-то прошивке исправили. Не проверял, устраивает вариант с пцф.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот пример нашей реализации:

 

# 1.1. Включаем DHCP Server Screening
config filter dhcp_server ports 1-8 state enable

# Блокируем DHCP Server
config access_profile profile_id 3 add access_id 100 packet_content offset_chunk_1 0x00110000 mask 0x00FF0000 offset_chunk_4 0x0043 mask 0x0000FFFF port 1-8 deny

это вроде одно и тоже, только dhcp screening еще и в логи может писать обнаруженные серверы которые не пропустил

У меня скрининг не отрабатывал, спасался пцф. Вроде как в какой-то прошивке исправили. Не проверял, устраивает вариант с пцф.

я к тому, что я бы например не стал включать функции которые делают одну и туже работу, как минимум не по фэншую)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

я к тому, что я бы например не стал включать функции которые делают одну и туже работу

 

С DLink-ом бывали случаи, когда одна из функций или работала неправильно, или совсем не работала ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Насколько критично наличие фильтрации на доступе?

сеть 25к, ipoe, per vlan. За все время работы ни разу не видел чтобы от кого-го исходила дикая активность и он клал ветку/свитч. Вижу только нетбиос, ssdp - они особо не мешают..

Что скажете?

На доступе или нет, но есть трафик, который надо срезать. Тот же мультикаст, например, или пакеты с поддельными src ip.

 

Если имеется ввиду vlan per user, то эта технология никакой фильтрации на доступе не требует.

Не вижу прямой связи между размером влана и фильтрацией. Да, так будет намного меньше проблем, но все они только лишь при помощи vlan-per-subscriber не решаются.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Хочу заблочить "левых" querier на клиентских портах.

Навалял свой первый ACL на D-Link :)

 

прокатит такое?

 

 

# ACL

create access_profile ip destination_ip_mask 255.255.255.255 profile_id 1

config access_profile profile_id 1 add access_id 1 ip destination_ip 224.0.0.1 port 1-24 deny

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вас не смущает, что таким образом вы заблокируете отправку всех IGMP JOIN и сломаете полностью работу своего телика?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а зачем блочить? сделайте так чтобы в выборах всегда побеждал ваш роутер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вас не смущает, что таким образом вы заблокируете отправку всех IGMP JOIN и сломаете полностью работу своего телика?

Разве Join не имеет DIP адрес запрашиваемой группы?

 

а зачем блочить? сделайте так чтобы в выборах всегда побеждал ваш роутер.

Выбрать старший адрес из подсети? или есть другие способы?

ближайший роутер где раздается мультикаст это Juniper.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А чем поможет что в влане будет 2 квирера и у вашего будет ниже IP. всё равно ппц будет.

А если испольшуешь mvr/ism влан, то разве абонент может в него подсунуть квирер?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

прокатит такое?

См. тему на форуме длинка - есть подозрение, что коммутатор может неправильно определять квериер, потому лучше использовать cpu_filter l3_control_pkt, если коммутатор это поддерживает.

 

Вас не смущает, что таким образом вы заблокируете отправку всех IGMP JOIN и сломаете полностью работу своего телика?

Емнип join отправляется на адрес группы, а адрес в примере используется как раз квериером. По идее, его и надо блокировать для абонентов, но, это не всегда помогает (см выше. :))

 

А если испольшуешь mvr/ism влан, то разве абонент может в него подсунуть квирер?

Что-то определенно может, но что не знаю. Во всяком случае маки клиентов в mvr влане могут разлетаться относительно далеко. В теории может быть одно, на практике у длинка - другое. Мы и блокируем и мультикаст-влан используем. На всякий то случай. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А чем поможет что в влане будет 2 квирера и у вашего будет ниже IP. всё равно ппц будет.

А если испольшуешь mvr/ism влан, то разве абонент может в него подсунуть квирер?

 

Как ни странно, но при использовании ISM-vlana пользователь может стать Querier.

Не помогает также выключение порта из "Member ports"

 

В данный момент применил указанные выше ACL - всё пока хорошо :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да, чото я погорячился. В 224.0.0.1 летают general query от кверира, а в 224.0.0.2 летят ливы от получателей. Тогда всё ровно. По идеи ism-влан не должен давать абоненту возможность быть квериром, странно, что это не работает. Надо взять на заметку.

Хотя стоп. Какая заметка. В ISM-влане адресация же другая совершенно.

ifndx, покажите, пожалуйста настройки ISM-влана на свитчах доступа и настройки интерфейса с мультикастом на вышестоящем устройстве.

Что-то я не могу понять как абонент, имея адресацию отличную от используемой в мальтикаст-влане может кем-то себя оъявить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да, чото я погорячился. В 224.0.0.1 летают general query от кверира, а в 224.0.0.2 летят ливы от получателей. Тогда всё ровно. По идеи ism-влан не должен давать абоненту возможность быть квериром, странно, что это не работает. Надо взять на заметку.

Хотя стоп. Какая заметка. В ISM-влане адресация же другая совершенно.

ifndx, покажите, пожалуйста настройки ISM-влана на свитчах доступа и настройки интерфейса с мультикастом на вышестоящем устройстве.

Что-то я не могу понять как абонент, имея адресацию отличную от используемой в мальтикаст-влане может кем-то себя оъявить.

 

DES-1210-28/ME

6.07.B046

B2

 

# ISM vlan
enable igmp_snooping multicast_vlan
create igmp_snooping multicast_vlan "VLAN_ISM" 111
config igmp_snooping multicast_vlan "VLAN_ISM" add member_port 1-24
config igmp_snooping multicast_vlan "VLAN_ISM" add source_port 25-28
config igmp_snooping multicast_vlan "VLAN_ISM" state enable
config igmp_snooping multicast_vlan "VLAN_ISM" replace_source_ip none
config mld_snooping multicast_vlan "VLAN_ISM" replace_source_ipv6 none
config igmp_snooping multicast_vlan "VLAN_ISM" remap_priority none
config igmp_snooping multicast_vlan_group "VLAN_ISM" add ipv4_range 224.0.42.1 224.0.42.254

# IGMP snooping
enable igmp_snooping
config igmp_snooping all router_timeout 125
config igmp_snooping all host_timeout 260
config igmp_snooping data_driven_learning max_learned_entry 256
disable igmp_snooping forward_mcrouter_only
config igmp_snooping vlanid 1,2900-2923 state disable fast_leave disable report_suppression enable
config igmp_snooping vlanid 111 state enable fast_leave enable report_suppression enable
config igmp_snooping data_driven_learning vlanid 1,111,2900-2923 state disable
config igmp_snooping data_driven_learning vlanid 1,111,2900-2923 aged_out disable
config igmp_snooping querier vlanid 1,111,2900-2923 state disable querier_version 2 last_member_query_interval 1 max_response_time 10 query_interval 125 robustness_variable 2
config router_ports vlan_name "VLAN_ISM" add 25-28
config igmp access_authentication ports 1-28 state disable




BRAS> show igmp interface xe-0/0/2.111
Interface: xe-0/0/2.111
   Querier: 172.16.16.3
   State:         Up Timeout:    None Version:  2 Groups:     25
   Immediate leave: Off
   Promiscuous mode: On
   Passive: Off

BRAS> show configuration interfaces xe-0/0/2.111
vlan-id 111;
family inet {
   unnumbered-address lo0.0;
}

BRAS> show configuration interfaces lo0
unit 0 {
   family inet {
       address 10.153.255.254/16;
       address 10.154.255.254/16;
       address 10.155.255.254/16;
       address 172.16.16.3/32 {
           primary;
           preferred;
       }
   }
}

BRAS> show configuration protocols igmp | match xe-0/0/2.111
interface xe-0/0/2.111 promiscuous-mode;

BRAS>

 

тот самый абонент из сети 10.155/16

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Так это самое:

config igmp_snooping multicast_vlan "VLAN_ISM" replace_source_ip none

Меняем на:

config igmp_snooping multicast_vlan "VLAN_ISM" replace_source_ip 172.16.16.4

 

А

address 172.16.16.3/32 {
           primary;
           preferred;
       }

 

на 172.16.16.3/29

 

И будет порядок, все запросы будут летать с SIP:172.16.16.4, а квериром будет 172.16.16.3 как самый младший адрес.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.