Сравнение коммутаторов: различия между версиями

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску
Строка 184: Строка 184:
 
Т.к. коммутатор поддерживает port-security то во избежание переполнения таблицы коммутации ограниваю число маков на порту до 10
 
Т.к. коммутатор поддерживает port-security то во избежание переполнения таблицы коммутации ограниваю число маков на порту до 10
 
<PRE>
 
<PRE>
  +
interface range ethernet e(1-24)
  +
dot1x multiple-hosts
  +
security mode max-addresses
  +
port security max 10
  +
port security discard
  +
exit
  +
</PRE>
  +
Запускаю arppoison (собрано на ноутбуке Dell, ASP linux неважно-какой-версии). Судя по tcpdump на порт коммутатора приходят пакеты со слчайными маками ...
  +
<PRE>
  +
#tcpdump -n arp -e
  +
...
  +
13:58:21.583911 00:2a:d4:74:c6:2e > Broadcast, ethertype ARP (0x0806), length 42: arp reply 223.134.179.92 is-at 00:2a:d4:74:c6:2e
  +
13:58:21.587912 00:00:97:f6:a6:e6 > Broadcast, ethertype ARP (0x0806), length 42: arp reply 206.27.51.62 is-at 00:00:97:f6:a6:e6
  +
13:58:21.591910 00:4d:8b:2a:b9:a4 > Broadcast, ethertype ARP (0x0806), length 42: arp reply 146.94.241.33 is-at 00:4d:8b:2a:b9:a4
  +
13:58:21.595914 00:31:c4:b3:a7:29 > Broadcast, ethertype ARP (0x0806), length 42: arp reply 100.146.34.25 is-at 00:31:c4:b3:a7:29
  +
13:58:21.599913 00:03:70:44:8e:54 > Broadcast, ethertype ARP (0x0806), length 42: arp reply 111.35.176.20 is-at 00:03:70:44:8e:54
  +
13:58:21.603909 00:16:db:ec:bd:a3 > Broadcast, ethertype ARP (0x0806), length 42: arp reply 111.213.245.11 is-at 00:16:db:ec:bd:a3
  +
13:58:21.607911 00:12:a5:b2:31:4d > Broadcast, ethertype ARP (0x0806), length 42: arp reply 228.37.251.13 is-at 00:12:a5:b2:31:4d
  +
13:58:21.611910 00:24:44:26:9f:fe > Broadcast, ethertype ARP (0x0806), length 42: arp reply 172.232.93.77 is-at 00:24:44:26:9f:fe
  +
13:58:21.615914 00:41:9b:91:86:43 > Broadcast, ethertype ARP (0x0806), length 42: arp reply 84.20.17.102 is-at 00:41:9b:91:86:43
  +
13:58:21.619912 00:37:4f:2b:f4:de > Broadcast, ethertype ARP (0x0806), length 42: arp reply 40.170.168.93 is-at 00:37:4f:2b:f4:de
  +
13:58:21.624664 00:04:27:5c:f9:e4 > Broadcast, ethertype ARP (0x0806), length 42: arp reply 210.39.51.64 is-at 00:04:27:5c:f9:e4
  +
13:58:21.627957 00:06:20:a6:c9:52 > Broadcast, ethertype ARP (0x0806), length 42: arp reply 205.37.44.0 is-at 00:06:20:a6:c9:52
  +
</PRE>
   
  +
На коммутаторе наблюдаю:
  +
<PRE>
  +
test# sh bridge address-table
  +
Aging time is 300 sec
  +
  +
Vlan Mac Address Port Type
  +
-------- --------------------- ------ ----------
  +
1 00:15:17:2c:a8:42 g1 dynamic
  +
201 00:04:2f:1c:e0:52 e1 dynamic
  +
201 00:04:e5:0f:e9:ee e1 dynamic
  +
201 00:0c:13:1b:38:9f e1 dynamic
  +
201 00:15:17:2c:a8:42 g1 dynamic
  +
201 00:15:3f:db:08:c7 e1 dynamic
  +
201 00:16:cc:0e:84:f7 e1 dynamic
  +
201 00:1c:23:95:8d:8b e1 dynamic
  +
201 00:20:0b:d3:22:88 e1 dynamic
  +
201 00:3a:37:a5:ca:bb e1 dynamic
  +
201 00:3c:76:0f:8c:b3 e1 dynamic
  +
201 00:3f:98:e9:98:c8 e1 dynamic
 
</PRE>
 
</PRE>

Версия 12:59, 10 июля 2009

Сравнение коммутаторов.

В связи с тем, что у меня закончились запасы DES-35{26|50}, остро встал вопрос о замене. Из кандидатов на замену:

  • Alcatel-Lucent LS-6224
  • Dlink DES -3028 (у меня его нет в наличии, вместо него вцелом аналогичный DES-3526 - тесты делались много раз.)
  • Alied Telesyn AT-8000S
  • Accton Edge-Core ES-3528XA-v2


К сожалению, я не имею информации о закупочных ценах, но по моим данным самый дешевый и коммутаторов - Accton Edge-Core ES-3528XA-v2
Все коммутаторы имеют 24 порта 10/100 и 2-4 порта combo.


Необходимый функционал

Совершенно необходимым для коммутатора уровня доступа я считаю:

  1. DHCP Snooping
  2. Option 82 Insertion
  3. ACL (фильтрация на уровне номера порта tcp/udp и номеров протоколов ip считаю вполне достаточной)
  4. VLAN (число 64 считаю вполне достаточно для коммуттатора который не планируется как транзитный)
  5. IP Source Guard (ф-я может называться по разному в зависимости от вендора)
  6. Loopback detect
  7. Port Security
  8. Storm Control
  9. MSTP с возможностью полной блокировки любых STP-пакетов на клиентских портах. (этот момент сомнителен, коммутаторы на доме почти всегда имеют только один аплинк)

Описанный функционал вытекает из того факта, что используется схема влан-на-группу-домов. Это с одной стороны, позволяет разгрузить агрегатоы (недешевые), с другой - налагает повышенные требования на коммутаторы досупа. Дискуссия о достоинствах или недостатоках этой схемы перед схемой влан-на-абонента выходит за пределы этой статьи.

Функционал, который желателен но обязательным не является

  1. Авторизация доступа на коммутатор с использованием RADIUS-сервера. С разграничением полномочий для предоставления досупа низкоквалифицированному персоналу без возможности внесения изменений в конфигурацию.
  2. Кабельный тестер
  3. Возможность снимать информацию о маках коммутатора и о состояни DHCP Snooping database по SNMP
  4. SNMP v3, ssh (вместо телнета), ACL на интерфейс управления коммутатором, получение времени по ntp, пересылка сообщений на удаленный syslog.
  5. Поддержка "китайских" SFP. (Возиться с программатором безплатно не хочется.)

Отдельно отмечу, что на данный момент работа с мультикастом не требуется, и в связи с полным отсутвием опыта у меня в этой области, от тестирования пока отказался.

Тесты

Определяю базовый набор тестов.

  • Получения ip адреса тестовым компьютером на основе данных коммутатор-влан-порт.
  • Проверка работы IP Source Guard.
  • Проверка работы ACL
  • Атака Arppoison на коммутатор с "клиентского" порта.
  • Проверка работы Loopback Detect
  • Проверка работы Broadcast Storm Control (как?)

ALcatel-Lucent LS-6224

у меня для теста достался следующий коммутатор:

test#  sh ver
SW version    1.5.1.7 ( date  26-Feb-2008 time  17:04:09 )
Boot version    1.0.0.12 ( date  19-Oct-2006 time  09:07:37 )
HW version    00.00.01

DHCP Snooping + Opt. 82 + ip source guard

Конфиг DHCPd

Кофигурирую DHCPd (максимально простой конфиг):

...
class "port-1"
{
   match if (
        binary-to-ascii(10, 16, "",  substring(option agent.circuit-id, 2, 2)) = "201"
        and
        binary-to-ascii(10, 8, "/",  suffix(option agent.circuit-id, 1)) = "1"
    );

}
...



shared-network "clients" {
    subnet 172.16.253.0 netmask 255.255.255.252 { }

    subnet 10.200.0.0 netmask 255.255.0.0 {
        option subnet-mask 255.255.0.0;
        option broadcast-address 10.200.255.255;
        option routers 10.200.0.1;


        pool {
        range 10.200.0.2;
        allow members of "port-1";
        }

        pool {
    }

}

Конфиг коммутатора

Наиболее важные моменты в конфигурации коммутатора:

interface range ethernet e(1-24)
 dot1x multiple-hosts
 security mode max-addresses
 port security max 10
 port security discard
 switchport access vlan 201
 loopback-detection enable
 service-acl input test2
 ip source-guard
exit 


ip dhcp snooping
ip dhcp snooping vlan 201

interface ethernet g1
 ip dhcp snooping trust
exit

ip source-guard
ip source-guard tcam retries-freq 600

interface vlan 1
 ip address 172.16.253.2 255.255.255.0
exit

ip default-gateway 172.16.253.1

ip access-list test2
 permit any 10.200.0.0 0.0.255.255 10.200.0.1 0.0.0.0
 permit any 10.199.0.0 0.0.255.255 10.199.0.1 0.0.0.0
 deny any 10.200.0.0 0.0.255.255 any
 deny any 10.199.0.0 0.0.255.255 any
 permit any any any
exit

hostname test
ip ssh server

Проверка работы

При запросе DHCP от клиента в Vlan201 вижу:

... поскипано ...
    Option: (t=82,l=18) Agent Information Option
        Option: (82) Agent Information Option
        Length: 18
        Value: 0106000400C90101020800060012CF84D420
        Agent Circuit ID: 000400C90101
        Agent Remote ID: 00060012CFXXXXXX
    End Option

Где Agent Circuit ID: 00C90101 Значение Circuit ID побайтно:00 04 00C9 01 01

00 - Тип Circit ID (Всегда 0?) (1 байт, смещение 0)
04 - Длинна (констаната? почему такое значение?) (1 байт, смещение 1)
00C9 - VLAN ID (2 байта, смещение 2)
01 - Stack/Module ID (0 или 1 у stand-alone switch) 1 байт, смещение 4
01 - Port (1 байт, смещение 5)

Очевидно, что вставка Opt. 82 работает. Пробую переключь DHCP-сервер в другой порт (g2) и включаю его как не-доверительный.

interface ethernet g2
 no ip dhcp snooping trust
exit

После истечения времени аренды связь с тестовым хостом пропадает. При обратном переключении - восстанавливается.

sh ip dhcp snooping binding
Total number of binding: 1

   MAC Adreess       IP Address    Lease (sec)     Type    VLAN Interface
------------------ --------------- ------------ ---------- ---- ----------
00:1c:23:95:8d:8b  10.200.0.2      46           learned    201  e1

ip source guard и ACL работают так как и описано в документации без всяких "но". Попытка поставить ip адрес руками а не использовать автоматическое получение приводит к неработоспособности сети (что и требовалось).

Arppoison

Для атаки Arppoison использую одноименную утилиту из пакета arptools Т.к. коммутатор поддерживает port-security то во избежание переполнения таблицы коммутации ограниваю число маков на порту до 10

interface range ethernet e(1-24)
 dot1x multiple-hosts
 security mode max-addresses
 port security max 10
 port security discard
exit 

Запускаю arppoison (собрано на ноутбуке Dell, ASP linux неважно-какой-версии). Судя по tcpdump на порт коммутатора приходят пакеты со слчайными маками ...

#tcpdump -n arp -e
...
13:58:21.583911 00:2a:d4:74:c6:2e > Broadcast, ethertype ARP (0x0806), length 42: arp reply 223.134.179.92 is-at 00:2a:d4:74:c6:2e
13:58:21.587912 00:00:97:f6:a6:e6 > Broadcast, ethertype ARP (0x0806), length 42: arp reply 206.27.51.62 is-at 00:00:97:f6:a6:e6
13:58:21.591910 00:4d:8b:2a:b9:a4 > Broadcast, ethertype ARP (0x0806), length 42: arp reply 146.94.241.33 is-at 00:4d:8b:2a:b9:a4
13:58:21.595914 00:31:c4:b3:a7:29 > Broadcast, ethertype ARP (0x0806), length 42: arp reply 100.146.34.25 is-at 00:31:c4:b3:a7:29
13:58:21.599913 00:03:70:44:8e:54 > Broadcast, ethertype ARP (0x0806), length 42: arp reply 111.35.176.20 is-at 00:03:70:44:8e:54
13:58:21.603909 00:16:db:ec:bd:a3 > Broadcast, ethertype ARP (0x0806), length 42: arp reply 111.213.245.11 is-at 00:16:db:ec:bd:a3
13:58:21.607911 00:12:a5:b2:31:4d > Broadcast, ethertype ARP (0x0806), length 42: arp reply 228.37.251.13 is-at 00:12:a5:b2:31:4d
13:58:21.611910 00:24:44:26:9f:fe > Broadcast, ethertype ARP (0x0806), length 42: arp reply 172.232.93.77 is-at 00:24:44:26:9f:fe
13:58:21.615914 00:41:9b:91:86:43 > Broadcast, ethertype ARP (0x0806), length 42: arp reply 84.20.17.102 is-at 00:41:9b:91:86:43
13:58:21.619912 00:37:4f:2b:f4:de > Broadcast, ethertype ARP (0x0806), length 42: arp reply 40.170.168.93 is-at 00:37:4f:2b:f4:de
13:58:21.624664 00:04:27:5c:f9:e4 > Broadcast, ethertype ARP (0x0806), length 42: arp reply 210.39.51.64 is-at 00:04:27:5c:f9:e4
13:58:21.627957 00:06:20:a6:c9:52 > Broadcast, ethertype ARP (0x0806), length 42: arp reply 205.37.44.0 is-at 00:06:20:a6:c9:52

На коммутаторе наблюдаю:

test# sh bridge address-table
Aging time is 300 sec

  Vlan        Mac Address       Port     Type
-------- --------------------- ------ ----------
   1       00:15:17:2c:a8:42     g1    dynamic
  201      00:04:2f:1c:e0:52     e1    dynamic
  201      00:04:e5:0f:e9:ee     e1    dynamic
  201      00:0c:13:1b:38:9f     e1    dynamic
  201      00:15:17:2c:a8:42     g1    dynamic
  201      00:15:3f:db:08:c7     e1    dynamic
  201      00:16:cc:0e:84:f7     e1    dynamic
  201      00:1c:23:95:8d:8b     e1    dynamic
  201      00:20:0b:d3:22:88     e1    dynamic
  201      00:3a:37:a5:ca:bb     e1    dynamic
  201      00:3c:76:0f:8c:b3     e1    dynamic
  201      00:3f:98:e9:98:c8     e1    dynamic