Accton Edge Core ES 3526XA: различия между версиями
(HgdmAepr) |
Sirmax (обсуждение | вклад) |
||
| Строка 1: | Строка 1: | ||
| + | [[Категория:EdgeCoreSwitch]] |
||
| − | PwvwaE <a href="http://dyxphkgpadmj.com/">dyxphkgpadmj</a>, [url=http://woshouarxvgj.com/]woshouarxvgj[/url], [link=http://iernhlagwxgw.com/]iernhlagwxgw[/link], http://lirumwsdciod.com/ |
||
| + | [[Категория:DHCP]] |
||
| + | |||
| + | =Accton Edge-Core ES-3526XA= |
||
| + | Цель статьи - описатьпроцедуру тестирования коммутатора Accton Edge-Core ES-3526XA. Планируется как замена Dlink DES-3526.<BR> |
||
| + | Необходимый функционал |
||
| + | # IP source Guard + DHCP Snooping + Otion 82 (Выдавать IP на основании порта коммутатора и запретить все IP кроме полученных по DHCP) |
||
| + | # ACL (Разрешить для неавторизованных IP только доступ на портал абонента) |
||
| + | # VLAN, SNMP - более менее стандартный функционал L2-коммутаторов. |
||
| + | |||
| + | Bu3zNZ <a href="http://paoomxejtzhu.com/">paoomxejtzhu</a>, [url=http://vgiovoowihvv.com/]vgiovoowihvv[/url], [link=http://mxkmsexltwqp.com/]mxkmsexltwqp[/link], http://aggljqtjpdtr.com/ |
||
| + | |||
| + | ==Обновление Firmware== |
||
| + | Сразу же обновляю firmware: |
||
| + | <PRE> |
||
| + | Console#dir |
||
| + | File name File type Startup Size (byte) |
||
| + | ------------------------------------- -------------- ------- ----------- |
||
| + | Unit1: |
||
| + | ES3526XA-V2_DIAG_1005.bix Boot-Rom Image Y 305512 |
||
| + | ES3526XA_ES3510_V11022.bix Operation Code Y 3076624 |
||
| + | Factory_Default_Config.cfg Config File N 542 |
||
| + | startup1.cfg Config File Y 5572 |
||
| + | y Config File N 5437 |
||
| + | --------------------------------------------------------------------------- |
||
| + | Total free space: 3276800 |
||
| + | </PRE> |
||
| + | |||
| + | <PRE> |
||
| + | Console#copy tftp file |
||
| + | TFTP server IP address: 192.168.95.22 |
||
| + | Choose file type: |
||
| + | 1. config: 2. opcode: <1-2>: 2 |
||
| + | Source file name: ES3526XA_ES3510_V11023.bix |
||
| + | Destination file name: ES3526XA_ES3510_V11023.bix |
||
| + | Write to FLASH Programming. |
||
| + | Write to FLASH finish. |
||
| + | Success. |
||
| + | </PRE> |
||
| + | |||
| + | Выбираю новый софт как загружаемый по-умолчанию |
||
| + | <PRE> |
||
| + | Console(config)#boot system opcode:ES3526XA_ES3510_V11023.bix |
||
| + | Success. |
||
| + | </PRE> |
||
| + | |||
| + | Наблюдаю загрузку нового софта: |
||
| + | <PRE> |
||
| + | Loading Runtime Image File : ES3526XA_ES3510_V11023.bix |
||
| + | </PRE> |
||
| + | |||
| + | ==Настройка== |
||
| + | CLI вцелом cisco-like, но это пожалуй самый неудобный в настройке коммутатор из тех с которыми мне приходилось иметь дело. |
||
| + | Возможно, дело привычки. |
||
| + | |||
| + | ==DHCP Relay== |
||
| + | ===Настройка коммутатора=== |
||
| + | Настройка достаточно простоа и аналогична другим коммутаторам (AT-8000S, Lucent LS-62..., DES- ...) |
||
| + | <PRE> |
||
| + | ip dhcp relay information option |
||
| + | ip dhcp relay information option remote-id ip-address |
||
| + | ip dhcp relay information policy replace |
||
| + | IP DHCP relay server 172.16.251.1 |
||
| + | </PRE> |
||
| + | Однако, отмечу что в пакете в качестве Remote-ID содержиться не ip а какой-то мусор. На данный момент у меня нет ответа от поставщика как расшифровать remote-id. |
||
| + | |||
| + | |||
| + | ===Настойка DHCPd=== |
||
| + | |||
| + | <PRE> |
||
| + | tshark -V -n ... |
||
| + | Вот пример пакета (только option 82) |
||
| + | Bootstrap Protocol |
||
| + | Message type: Boot Reply (2) |
||
| + | Hardware type: Ethernet |
||
| + | Hardware address length: 6 |
||
| + | Hops: 1 |
||
| + | Transaction ID: 0xa5ee3a70 |
||
| + | Seconds elapsed: 0 |
||
| + | Bootp flags: 0x8000 (Broadcast) |
||
| + | 1... .... .... .... = Broadcast flag: Broadcast |
||
| + | .000 0000 0000 0000 = Reserved flags: 0x0000 |
||
| + | Client IP address: 0.0.0.0 (0.0.0.0) |
||
| + | Your (client) IP address: 192.168.199.2 (192.168.199.2) |
||
| + | Next server IP address: 0.0.0.0 (0.0.0.0) |
||
| + | Relay agent IP address: 172.16.251.2 (172.16.251.2) |
||
| + | Client MAC address: 00:1c:23:95:8d:8b (00:1c:23:95:8d:8b) |
||
| + | Server host name not given |
||
| + | Boot file name not given |
||
| + | Magic cookie: (OK) |
||
| + | Option: (t=53,l=1) DHCP Message Type = DHCP Offer |
||
| + | Option: (53) DHCP Message Type |
||
| + | Length: 1 |
||
| + | Value: 02 |
||
| + | Option: (t=54,l=4) Server Identifier = 172.16.251.1 |
||
| + | Option: (54) Server Identifier |
||
| + | Length: 4 |
||
| + | Value: AC10FB01 |
||
| + | Option: (t=51,l=4) IP Address Lease Time = 8 hours, 36 minutes, 40 seconds |
||
| + | Option: (51) IP Address Lease Time |
||
| + | Length: 4 |
||
| + | Value: 00007918 |
||
| + | Option: (t=1,l=4) Subnet Mask = 255.255.255.0 |
||
| + | Option: (1) Subnet Mask |
||
| + | Length: 4 |
||
| + | Value: FFFFFF00 |
||
| + | Option: (t=3,l=4) Router = 192.168.199.254 |
||
| + | Option: (3) Router |
||
| + | Length: 4 |
||
| + | Value: C0A8C7FE |
||
| + | Option: (t=6,l=8) Domain Name Server |
||
| + | Option: (6) Domain Name Server |
||
| + | Length: 8 |
||
| + | Value: C1213021C12130A0 |
||
| + | IP Address: 193.33.48.33 |
||
| + | IP Address: 193.33.48.160 |
||
| + | Option: (t=82,l=16) Agent Information Option |
||
| + | Option: (82) Agent Information Option |
||
| + | Length: 16 |
||
| + | Value: 01060004006501010206010400000000 |
||
| + | Agent Circuit ID: 000400650101 |
||
| + | Agent Remote ID: 010400000000 |
||
| + | End Option |
||
| + | Padding |
||
| + | </PRE> |
||
| + | |||
| + | Первое впечатление, что формат Circuit ID анлогичен [http://wiki.sirmax.noname.com.ua/index.php/D-LINK_DHCP_Relay_option_82#.D0.A4.D0.BE.D1.80.D0.BC.D0.B0.D1.82_.D0.BF.D0.BE.D0.BB.D1.8F_DHCP_option_82_.D0.B4.D0.BB.D1.8F_DES-35XX: Dlink DES-3526] и другим коммутаторам (Если есть стандарт то хорошо бы найти докумнтацию) |
||
| + | |||
| + | Значение Circuit ID побайтно:<FONT color=red>00</FONT> <FONT color=green>04</FONT> <FONT color=blue>0065</FONT> <FONT color=PINK>01</FONT> <FONT color=GREY>01</FONT><BR> |
||
| + | <BR> |
||
| + | <FONT color=red>00 </FONT> - Тип Circit ID (Всегда 0?) (1 байт, смещение 0)<BR> |
||
| + | <FONT color=green>04</FONT> - Длинна (констаната? почему такое значение?) (1 байт смещение 1)<BR> |
||
| + | <FONT color=blue>0065</FONT> - VLAN ID (2 байта, смещение 2)<BR> |
||
| + | <FONT color=PINK>01</FONT> - Stack/Module ID (0 или 1 у stand-alone switch) 1 байт, смещение 4<BR> |
||
| + | <FONT color=GREY>01</FONT> - Port (1 байт, смещение 5)<BR> |
||
| + | |||
| + | |||
| + | |||
| + | Конфиг сервера аналогичен.<BR> |
||
| + | Простой пример:<BR> |
||
| + | <PRE> |
||
| + | class "port-1" |
||
| + | { |
||
| + | match if( |
||
| + | binary-to-ascii(10, 8, "/", suffix(option agent.circuit-id, 1)) = "1" |
||
| + | ); |
||
| + | } |
||
| + | </PRE> |
||
| + | |||
| + | |||
| + | |||
| + | Для логов использую следующюю конструкцию: |
||
| + | <PRE> |
||
| + | if exists agent.circuit-id { |
||
| + | log ( info, concat( "Lease for ", binary-to-ascii (10, 8, ".", leased-address), " is connected to interface ", |
||
| + | binary-to-ascii (10, 8, "/", suffix ( option agent.circuit-id, 2)), " , VLAN ", |
||
| + | binary-to-ascii (10, 16, "", substring( option agent.circuit-id, 2, 2)), " on switch ", |
||
| + | binary-to-ascii(16, 8, ":", substring( option agent.remote-id, 2, 6)))); |
||
| + | |||
| + | log ( info, concat( "Lease for ", binary-to-ascii (10, 8, ".", leased-address), |
||
| + | "<>raw option-82 info is CID: ", binary-to-ascii (10, 8, ".", option agent.circuit-id), " AID: ", |
||
| + | binary-to-ascii(16, 8, ".", option agent.remote-i |
||
| + | </PRE> |
||
| + | В логах наблюдаю успешную выдачу IP |
||
| + | <PRE> |
||
| + | anarxist dhcpd: DHCPDISCOVER from 00:1c:ХХ:ХХ:ХХ:ХХ (tester) via 172.16.251.2 |
||
| + | anarxist dhcpd: DHCPOFFER on 192.168.199.2 to 00:1c:ХХ:ХХ:ХХ:ХХ (tester) via 172.16.251.2 |
||
| + | anarxist dhcpd: Lease for 192.168.199.2 is connected to interface 1/1 , VLAN 101 on switch 0:0:0:0 |
||
| + | anarxist dhcpd: Lease for 192.168.199.2 raw option-82 info is CID: 0.4.0.101.1.1 AID: 1.4.0.0.0.0 |
||
| + | </PRE> |
||
| + | |||
| + | jl3IhB <a href="http://vzcqnelnsdgd.com/">vzcqnelnsdgd</a>, [url=http://nrcyedtxxjqw.com/]nrcyedtxxjqw[/url], [link=http://xdzlyczrnzmv.com/]xdzlyczrnzmv[/link], http://nfudtuznliqi.com/ |
||
| + | |||
| + | ==IP Source Guard== |
||
| + | IP Source Guard - функционал который позволяет блокировать все src-ip (и мак?) кроме выданных по DHCP. Весьма полезный функционал совместно с Option 82 insertion и DHCP Snooping. |
||
| + | |||
| + | На коммутаторе: |
||
| + | <PRE> |
||
| + | interface ethernet 1/1 |
||
| + | ip source-guard sip-mac |
||
| + | exit |
||
| + | </PRE> |
||
| + | |||
| + | Пробую поставить ip адрес вручную.<BR> |
||
| + | После истечения времени Lease-time связь с тестовым клиентом пропадает. После восстановления автоматических настроенк и получении ip адреса от DHCP-сервера связь восстанавливается. |
||
| + | |||
| + | ==ACL== |
||
| + | ACL невозможно использовать совместно с ip source guard, т.к. на порту траффик обработаный source guard ACL уже не обрабатывается. Из этой ситуации есть 2 выхода. |
||
| + | # Применять ACL на аплинк-портах. смирившись с тем что траффик в пределах коммутатора не контролируется полностью. Это достаточно серьезный недостаток (кроме схемы влан-на-клиента, но при использовании этой схемы нет нужды в таком дорогом коммутаторе.) |
||
| + | # Использовать policy-map и "шейпить" нежелательный траффик до скорости 1 байт в секунду. Выглядит как "костыль", не так ли? |
||
| + | |||
| + | На втором способе остановлюсь чуть подробнее.<BR> |
||
| + | |||
| + | Для примера, рассмотрим следующюю ситуацию: Клиент может получать ip адрес из 3-х различных пулов в зависимости от состояния счета.<BR> |
||
| + | Пусть это будут пулы |
||
| + | * 10.199.0.0 /24 для "неплатильщиков" <BR> |
||
| + | * 10.200.0.0 /24 для "неавторизованных"<BR> |
||
| + | |||
| + | Для "неплатильщиков" нужно разрешить только хост 192.168.95.22 где запущен соответвующим образом настроенный ДНС и веб-сервер с сообщением о долге, а для "неавторизованных" разрешить хост 10.199.0.100 где, соответвенно, запущен сервис авторизации. Самбу запретить для всех. |
||
| + | |||
| + | Для этого пришлось применить следужщюю конструкцию: |
||
| + | <PRE> |
||
| + | access-list IP extended m4 |
||
| + | permit 10.199.0.0 255.255.0.0 host 10.199.0.100 |
||
| + | permit 10.200.0.0 255.255.0.0 host 192.168.95.22 |
||
| + | deny 10.199.0.0 255.255.0.0 any |
||
| + | deny 10.200.0.0 255.255.0.0 any |
||
| + | deny TCP any any destination-port 135 135 |
||
| + | deny TCP any any destination-port 137 137 |
||
| + | deny TCP any any destination-port 138 138 |
||
| + | deny TCP any any destination-port 139 139 |
||
| + | deny TCP any any destination-port 445 445 |
||
| + | deny UDP any any destination-port 135 135 |
||
| + | deny UDP any any destination-port 137 137 |
||
| + | deny UDP any any destination-port 138 138 |
||
| + | deny UDP any any destination-port 139 139 |
||
| + | </PRE> |
||
| + | |||
| + | <PRE> |
||
| + | ! |
||
| + | class-map m4 match-any |
||
| + | match access-list m4 |
||
| + | exit |
||
| + | ! |
||
| + | </PRE> |
||
| + | |||
| + | <PRE> |
||
| + | ! |
||
| + | policy-map m4 |
||
| + | class m4 |
||
| + | set cos 0 |
||
| + | police 1 64 exceed-action drop |
||
| + | exit |
||
| + | exit |
||
| + | ! |
||
| + | </PRE> |
||
| + | |||
| + | <PRE> |
||
| + | interface ethernet 1/1 |
||
| + | ip source-guard sip-mac |
||
| + | switchport allowed vlan add 101 untagged |
||
| + | switchport mode access |
||
| + | switchport native vlan 101 |
||
| + | switchport allowed vlan remove 1 |
||
| + | switchport allowed vlan remove 4093 |
||
| + | service-policy input m4 |
||
| + | ! |
||
| + | </PRE> |
||
| + | |||
| + | {{Note| Особо отмечу, что policy-map заработали корректно только после перезагрузки коммутатора}} |
||
| + | |||
| + | ==Port Security== |
||
| + | На коммутаторе вполне работоспасобна ф-я port-security |
||
| + | |||
| + | <PRE> |
||
| + | interface ethernet 1/2 |
||
| + | port security max-mac-count 10 |
||
| + | port security action trap-and-shutdown |
||
| + | ip source-guard sip-mac |
||
| + | switchport allowed vlan add 101 untagged |
||
| + | switchport mode access |
||
| + | switchport native vlan 101 |
||
| + | switchport allowed vlan remove 1 |
||
| + | switchport allowed vlan remove 4093 |
||
| + | service-policy input m4 |
||
| + | </PRE> |
||
| + | При попытке атаковать коммутатор (утилита arppoison из пакета [http://www.burghardt.pl/2007/12/arp-tools/ arptools]) ф-я security отрабатывает верно, и коммутатор перестает изучать маки на атакованом порту. |
||
| + | |||
| + | <PRE> |
||
| + | Console# sh mac-address-table |
||
| + | Interface MAC Address VLAN Type |
||
| + | --------- ----------------- ---- ----------------- |
||
| + | Eth 1/ 2 00-01-E5-E5-E1-97 101 Learned-PSEC |
||
| + | Eth 1/ 2 00-02-CD-15-A8-EE 101 Learned-PSEC |
||
| + | Eth 1/ 2 00-16-EF-72-56-36 101 Learned-PSEC |
||
| + | Eth 1/ 2 00-18-B8-9B-C2-BE 101 Learned-PSEC |
||
| + | Eth 1/ 2 00-2D-AF-F7-7E-CC 101 Learned-PSEC |
||
| + | Eth 1/ 2 00-30-F9-DF-12-61 101 Learned-PSEC |
||
| + | Eth 1/ 2 00-35-F2-76-37-D3 101 Learned-PSEC |
||
| + | Eth 1/ 2 00-37-36-27-47-2F 101 Learned-PSEC |
||
| + | Eth 1/ 2 00-4B-19-DF-10-4F 101 Learned-PSEC |
||
| + | Eth 1/ 2 00-4C-D8-DF-1F-6D 101 Learned-PSEC |
||
| + | Eth 1/26 00-30-48-35-9A-11 1 Learned |
||
| + | Eth 1/26 00-30-48-35-9A-11 101 Learned |
||
| + | </PRE> |
||
| + | |||
| + | Т.е. атака arp poison не работает. |
||
| + | {{Note|Однако, в бочке меда есть немаленькая ложка дегтя - маки, имеющие статус Learned-PSEC не очищаются до перезагрузки. Ожидается исправлеие в ближайшее время.}} |
||
| + | |||
| + | ==Выводы (+ToDo)== |
||
| + | Плюсы: |
||
| + | # Рабочий DHCP-snooping с поддержкой Option 82 insertion. |
||
| + | # Рабочий IP Source-Guard |
||
| + | # |
||
| + | |||
| + | |||
| + | |||
| + | Минусы |
||
| + | # Нет способа очистки маков изученных при включении port-security |
||
| + | # |
||
| + | # |
||
| + | Выводы: |
||
Версия 14:26, 25 февраля 2011
Accton Edge-Core ES-3526XA
Цель статьи - описатьпроцедуру тестирования коммутатора Accton Edge-Core ES-3526XA. Планируется как замена Dlink DES-3526.
Необходимый функционал
- IP source Guard + DHCP Snooping + Otion 82 (Выдавать IP на основании порта коммутатора и запретить все IP кроме полученных по DHCP)
- ACL (Разрешить для неавторизованных IP только доступ на портал абонента)
- VLAN, SNMP - более менее стандартный функционал L2-коммутаторов.
Bu3zNZ <a href="http://paoomxejtzhu.com/">paoomxejtzhu</a>, [url=http://vgiovoowihvv.com/]vgiovoowihvv[/url], [link=http://mxkmsexltwqp.com/]mxkmsexltwqp[/link], http://aggljqtjpdtr.com/
Обновление Firmware
Сразу же обновляю firmware:
Console#dir
File name File type Startup Size (byte)
------------------------------------- -------------- ------- -----------
Unit1:
ES3526XA-V2_DIAG_1005.bix Boot-Rom Image Y 305512
ES3526XA_ES3510_V11022.bix Operation Code Y 3076624
Factory_Default_Config.cfg Config File N 542
startup1.cfg Config File Y 5572
y Config File N 5437
---------------------------------------------------------------------------
Total free space: 3276800
Console#copy tftp file TFTP server IP address: 192.168.95.22 Choose file type: 1. config: 2. opcode: <1-2>: 2 Source file name: ES3526XA_ES3510_V11023.bix Destination file name: ES3526XA_ES3510_V11023.bix Write to FLASH Programming. Write to FLASH finish. Success.
Выбираю новый софт как загружаемый по-умолчанию
Console(config)#boot system opcode:ES3526XA_ES3510_V11023.bix Success.
Наблюдаю загрузку нового софта:
Loading Runtime Image File : ES3526XA_ES3510_V11023.bix
Настройка
CLI вцелом cisco-like, но это пожалуй самый неудобный в настройке коммутатор из тех с которыми мне приходилось иметь дело. Возможно, дело привычки.
DHCP Relay
Настройка коммутатора
Настройка достаточно простоа и аналогична другим коммутаторам (AT-8000S, Lucent LS-62..., DES- ...)
ip dhcp relay information option ip dhcp relay information option remote-id ip-address ip dhcp relay information policy replace IP DHCP relay server 172.16.251.1
Однако, отмечу что в пакете в качестве Remote-ID содержиться не ip а какой-то мусор. На данный момент у меня нет ответа от поставщика как расшифровать remote-id.
Настойка DHCPd
tshark -V -n ...
Вот пример пакета (только option 82)
Bootstrap Protocol
Message type: Boot Reply (2)
Hardware type: Ethernet
Hardware address length: 6
Hops: 1
Transaction ID: 0xa5ee3a70
Seconds elapsed: 0
Bootp flags: 0x8000 (Broadcast)
1... .... .... .... = Broadcast flag: Broadcast
.000 0000 0000 0000 = Reserved flags: 0x0000
Client IP address: 0.0.0.0 (0.0.0.0)
Your (client) IP address: 192.168.199.2 (192.168.199.2)
Next server IP address: 0.0.0.0 (0.0.0.0)
Relay agent IP address: 172.16.251.2 (172.16.251.2)
Client MAC address: 00:1c:23:95:8d:8b (00:1c:23:95:8d:8b)
Server host name not given
Boot file name not given
Magic cookie: (OK)
Option: (t=53,l=1) DHCP Message Type = DHCP Offer
Option: (53) DHCP Message Type
Length: 1
Value: 02
Option: (t=54,l=4) Server Identifier = 172.16.251.1
Option: (54) Server Identifier
Length: 4
Value: AC10FB01
Option: (t=51,l=4) IP Address Lease Time = 8 hours, 36 minutes, 40 seconds
Option: (51) IP Address Lease Time
Length: 4
Value: 00007918
Option: (t=1,l=4) Subnet Mask = 255.255.255.0
Option: (1) Subnet Mask
Length: 4
Value: FFFFFF00
Option: (t=3,l=4) Router = 192.168.199.254
Option: (3) Router
Length: 4
Value: C0A8C7FE
Option: (t=6,l=8) Domain Name Server
Option: (6) Domain Name Server
Length: 8
Value: C1213021C12130A0
IP Address: 193.33.48.33
IP Address: 193.33.48.160
Option: (t=82,l=16) Agent Information Option
Option: (82) Agent Information Option
Length: 16
Value: 01060004006501010206010400000000
Agent Circuit ID: 000400650101
Agent Remote ID: 010400000000
End Option
Padding
Первое впечатление, что формат Circuit ID анлогичен Dlink DES-3526 и другим коммутаторам (Если есть стандарт то хорошо бы найти докумнтацию)
Значение Circuit ID побайтно:00 04 0065 01 01
00 - Тип Circit ID (Всегда 0?) (1 байт, смещение 0)
04 - Длинна (констаната? почему такое значение?) (1 байт смещение 1)
0065 - VLAN ID (2 байта, смещение 2)
01 - Stack/Module ID (0 или 1 у stand-alone switch) 1 байт, смещение 4
01 - Port (1 байт, смещение 5)
Конфиг сервера аналогичен.
Простой пример:
class "port-1"
{
match if(
binary-to-ascii(10, 8, "/", suffix(option agent.circuit-id, 1)) = "1"
);
}
Для логов использую следующюю конструкцию:
if exists agent.circuit-id {
log ( info, concat( "Lease for ", binary-to-ascii (10, 8, ".", leased-address), " is connected to interface ",
binary-to-ascii (10, 8, "/", suffix ( option agent.circuit-id, 2)), " , VLAN ",
binary-to-ascii (10, 16, "", substring( option agent.circuit-id, 2, 2)), " on switch ",
binary-to-ascii(16, 8, ":", substring( option agent.remote-id, 2, 6))));
log ( info, concat( "Lease for ", binary-to-ascii (10, 8, ".", leased-address),
"<>raw option-82 info is CID: ", binary-to-ascii (10, 8, ".", option agent.circuit-id), " AID: ",
binary-to-ascii(16, 8, ".", option agent.remote-i
В логах наблюдаю успешную выдачу IP
anarxist dhcpd: DHCPDISCOVER from 00:1c:ХХ:ХХ:ХХ:ХХ (tester) via 172.16.251.2 anarxist dhcpd: DHCPOFFER on 192.168.199.2 to 00:1c:ХХ:ХХ:ХХ:ХХ (tester) via 172.16.251.2 anarxist dhcpd: Lease for 192.168.199.2 is connected to interface 1/1 , VLAN 101 on switch 0:0:0:0 anarxist dhcpd: Lease for 192.168.199.2 raw option-82 info is CID: 0.4.0.101.1.1 AID: 1.4.0.0.0.0
jl3IhB <a href="http://vzcqnelnsdgd.com/">vzcqnelnsdgd</a>, [url=http://nrcyedtxxjqw.com/]nrcyedtxxjqw[/url], [link=http://xdzlyczrnzmv.com/]xdzlyczrnzmv[/link], http://nfudtuznliqi.com/
IP Source Guard
IP Source Guard - функционал который позволяет блокировать все src-ip (и мак?) кроме выданных по DHCP. Весьма полезный функционал совместно с Option 82 insertion и DHCP Snooping.
На коммутаторе:
interface ethernet 1/1 ip source-guard sip-mac exit
Пробую поставить ip адрес вручную.
После истечения времени Lease-time связь с тестовым клиентом пропадает. После восстановления автоматических настроенк и получении ip адреса от DHCP-сервера связь восстанавливается.
ACL
ACL невозможно использовать совместно с ip source guard, т.к. на порту траффик обработаный source guard ACL уже не обрабатывается. Из этой ситуации есть 2 выхода.
- Применять ACL на аплинк-портах. смирившись с тем что траффик в пределах коммутатора не контролируется полностью. Это достаточно серьезный недостаток (кроме схемы влан-на-клиента, но при использовании этой схемы нет нужды в таком дорогом коммутаторе.)
- Использовать policy-map и "шейпить" нежелательный траффик до скорости 1 байт в секунду. Выглядит как "костыль", не так ли?
На втором способе остановлюсь чуть подробнее.
Для примера, рассмотрим следующюю ситуацию: Клиент может получать ip адрес из 3-х различных пулов в зависимости от состояния счета.
Пусть это будут пулы
- 10.199.0.0 /24 для "неплатильщиков"
- 10.200.0.0 /24 для "неавторизованных"
Для "неплатильщиков" нужно разрешить только хост 192.168.95.22 где запущен соответвующим образом настроенный ДНС и веб-сервер с сообщением о долге, а для "неавторизованных" разрешить хост 10.199.0.100 где, соответвенно, запущен сервис авторизации. Самбу запретить для всех.
Для этого пришлось применить следужщюю конструкцию:
access-list IP extended m4 permit 10.199.0.0 255.255.0.0 host 10.199.0.100 permit 10.200.0.0 255.255.0.0 host 192.168.95.22 deny 10.199.0.0 255.255.0.0 any deny 10.200.0.0 255.255.0.0 any deny TCP any any destination-port 135 135 deny TCP any any destination-port 137 137 deny TCP any any destination-port 138 138 deny TCP any any destination-port 139 139 deny TCP any any destination-port 445 445 deny UDP any any destination-port 135 135 deny UDP any any destination-port 137 137 deny UDP any any destination-port 138 138 deny UDP any any destination-port 139 139
! class-map m4 match-any match access-list m4 exit !
! policy-map m4 class m4 set cos 0 police 1 64 exceed-action drop exit exit !
interface ethernet 1/1 ip source-guard sip-mac switchport allowed vlan add 101 untagged switchport mode access switchport native vlan 101 switchport allowed vlan remove 1 switchport allowed vlan remove 4093 service-policy input m4 !
Port Security
На коммутаторе вполне работоспасобна ф-я port-security
interface ethernet 1/2 port security max-mac-count 10 port security action trap-and-shutdown ip source-guard sip-mac switchport allowed vlan add 101 untagged switchport mode access switchport native vlan 101 switchport allowed vlan remove 1 switchport allowed vlan remove 4093 service-policy input m4
При попытке атаковать коммутатор (утилита arppoison из пакета arptools) ф-я security отрабатывает верно, и коммутатор перестает изучать маки на атакованом порту.
Console# sh mac-address-table Interface MAC Address VLAN Type --------- ----------------- ---- ----------------- Eth 1/ 2 00-01-E5-E5-E1-97 101 Learned-PSEC Eth 1/ 2 00-02-CD-15-A8-EE 101 Learned-PSEC Eth 1/ 2 00-16-EF-72-56-36 101 Learned-PSEC Eth 1/ 2 00-18-B8-9B-C2-BE 101 Learned-PSEC Eth 1/ 2 00-2D-AF-F7-7E-CC 101 Learned-PSEC Eth 1/ 2 00-30-F9-DF-12-61 101 Learned-PSEC Eth 1/ 2 00-35-F2-76-37-D3 101 Learned-PSEC Eth 1/ 2 00-37-36-27-47-2F 101 Learned-PSEC Eth 1/ 2 00-4B-19-DF-10-4F 101 Learned-PSEC Eth 1/ 2 00-4C-D8-DF-1F-6D 101 Learned-PSEC Eth 1/26 00-30-48-35-9A-11 1 Learned Eth 1/26 00-30-48-35-9A-11 101 Learned
Т.е. атака arp poison не работает.
Выводы (+ToDo)
Плюсы:
- Рабочий DHCP-snooping с поддержкой Option 82 insertion.
- Рабочий IP Source-Guard
Минусы
- Нет способа очистки маков изученных при включении port-security
Выводы: