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
Выводы: