Accton Edge Core ES 3526XA: различия между версиями

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску
(HgdmAepr)
Строка 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.
Необходимый функционал

  1. IP source Guard + DHCP Snooping + Otion 82 (Выдавать IP на основании порта коммутатора и запретить все IP кроме полученных по DHCP)
  2. ACL (Разрешить для неавторизованных IP только доступ на портал абонента)
  3. 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 выхода.

  1. Применять ACL на аплинк-портах. смирившись с тем что траффик в пределах коммутатора не контролируется полностью. Это достаточно серьезный недостаток (кроме схемы влан-на-клиента, но при использовании этой схемы нет нужды в таком дорогом коммутаторе.)
  2. Использовать 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
!
Note: Особо отмечу, что policy-map заработали корректно только после перезагрузки коммутатора

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 не работает.

Note: Однако, в бочке меда есть немаленькая ложка дегтя - маки, имеющие статус Learned-PSEC не очищаются до перезагрузки. Ожидается исправлеие в ближайшее время.

Выводы (+ToDo)

Плюсы:

  1. Рабочий DHCP-snooping с поддержкой Option 82 insertion.
  2. Рабочий IP Source-Guard


Минусы

  1. Нет способа очистки маков изученных при включении port-security

Выводы: