faq обучение настройка
Текущее время: Вт авг 12, 2025 16:40

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: IP-Port binding
СообщениеДобавлено: Пн ноя 26, 2007 11:40 
Не в сети

Зарегистрирован: Пн ноя 14, 2005 03:18
Сообщений: 30
Откуда: Khabarovsk
День добрый. Возник следующий вопрос. Необходимо на коммутаторах серий 3550/3526 реализовать привязку IP-Port без привязки к мак-адресу. Повесили на мой отдел с пару сотен клиентов (нахаляву причем) - хочется слегка анархию ограничить, но чтобы не было гемороя с постоянным прописыванием маков.

Как я это вижу - с помощью ACL пропускать пакеты у которых для данного порта разрешен ip-адрес, находящийся в пакете по смещению 30-33 и резать все остальные ARP-пакеты с идентификатором 0x0800 по смещению 16-17. Т.е. что-то вроде этого:

# Allow packets with source ip = 10.10.10.8 on port 3
сr access packet_content offset_16-31 0x0 0x0 0x0 0xFFFF offset_32-47 0xFFFF0000 0x0 0x0 0x0 profile_id 7
co access profile_id 7 add access_id auto packet offset_16-31 0x0 0x0 0x0 0x0A0A offset_32-47 0x0A080000 0x0 0x0 0x0 port 3 permit

# Deny all other arp packets
cr access packet offset_16-31 0xFFFF0000 0x0 0x0 0x0 prof 8
co access prof 8 add access_id 1 packet offset_16-31 0x08000000 0x0 0x0 0x0 port 3 deny

То бишь некий скрипт на перле парсит файл с соответствиями порт:список_адресов и вписывает разрешенные адреса на соответствующие порты по телнету/ssh или snmp (при этом удаляются и по новой создаются профили 7 и 8 ), а затем на всех портах кроме аплинка зарезаются arp-пакеты по признаку 0x0800.

Как вы думаете такая схема будет работать ? Или возникнут какие-то подводные камни ?

_________________
// C уважением Александр В. Шутко


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн ноя 26, 2007 15:03 
Не в сети

Зарегистрирован: Пт авг 10, 2007 11:04
Сообщений: 277
Откуда: Moscow
Последнее правило запретит прохождение всех IP пакетов, тк. его идентификатор протокола равен 0х0800. Идентификатор АРП-протокола - 0х0806.
Если запретить все АРП пакеты от клиента, то клиент вообще не сможет никуда обратиться, тк он не сможет отправить ни одного АРП запроса, и АРП таблица на его машине будет пуста.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт ноя 27, 2007 09:17 
Не в сети

Зарегистрирован: Пн ноя 14, 2005 03:18
Сообщений: 30
Откуда: Khabarovsk
Э... Мне кажется поле 0x0800 в 16-17 байтах пакета это не Ethertype, а всего лишь поле Protocol type в ARP пакете. Примерно такие же правила создает IP-MAC-Port binding в ACL режиме. Мне собственно и нужно сделать следующее: запретить _ВСЕ_ арп пакеты, чтобы клиент не мог никуда обратиться если поставит неразрешенный адрес. А если у клиента разрешенный адрес, то ARP пакеты от него будут пропущены 7мым профилем. Или я чего-то не понимаю ?

Я так понимаю по хорошему на каждый адрес надо еще два правила генерять - на ip пакеты чтобы нельзя было отсылать их от чужого адреса ?

_________________
// C уважением Александр В. Шутко


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт ноя 27, 2007 10:13 
Не в сети

Зарегистрирован: Пт авг 10, 2007 11:04
Сообщений: 277
Откуда: Moscow
Всё верно. Просто я говорил о поле Type, а Вы о Protocol Type.
А чем Вас IMP-Binding не устраивает?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт ноя 27, 2007 12:09 
Не в сети

Зарегистрирован: Пн ноя 14, 2005 03:18
Сообщений: 30
Откуда: Khabarovsk
Хм. Внутри свича пакетики то тегированные. Так что у меня в правилах 0x0800 как раз это Ethertype (ipv4). А поскольку IMP-binding в прошивке 501B09 делает также, то надо полагать, что IMP-binding ARP не фильтрует и против нового горячо любимого всеми вируса сделать ничего не может.

По поводу чем не устраивает IMP-binding написал в начале топика. Моему отделу в нагрузку вручили обслуживание сети в студенческом общежитии. Соответственно это смены адресов, конфликты, спуфинг и т.п. Чтобы всего этого избежать надо выделить на каждую комнату ip адреса (3-4 штуки) и прописать их на соответствующий порт коммутатора (одна комната один порт). Это грубо говоря порядка 500 адресов.

IMP-Binding это биндинг адреса, порта и что особенно неприятно мак-адреса. Т.е. чтобы это все организовать, надо выяснить маки всех подключеных устройств, а затем по мере их добавления и смены править их в коммутаторе. Мне очень не нравится эта возня с мак-адресами поскольку меняться они будут очень часто (заселение новых студентов, сгоревшие карточки, новые ноутбуки, беготня с ноутбуками из одной комнаты в другую и т.д. и т.п.)

Вот если бы в IMP можно было выбирать галочкой фильтровать мак или не фильтровать было бы просто шикарно. А если бы он ARP фильтровал ему бы цены не было.

Я вот тут подумал. А если фильтровать вот так:

# Разрешить фреймы 0x0806/0x0800 с исход. ip = 10.10.10.8 на 3 порту (ARP и IPv4)
cr access packet offset_16-31 0xFFFF0000 0x0 0x0 0x0000FFFF offset_32-47 0xFFFF0000 0x0 0x0 0x0 prof 7
co access profile_id 7 add access_id auto packet offset_16-31 0x08060000 0x0 0x0 0x0A0A offset_32-47 0x0A080000 0x0 0x0 0x0 port 3 permit
co access profile_id 7 add access_id auto packet offset_16-31 0x08000000 0x0 0x0 0x0A0A offset_32-47 0x0A080000 0x0 0x0 0x0 port 3 permit

# Запретить все остальные фреймы
create access packet offset_0-15 0x0 0x0 0x0 0x0 profile_id 8
config access profile_id 8 add access_id auto packet offset_0-15 0x0 0x0 0x0 0x0 port 3 deny

Т.е. разрешаются только IPv4 и ARP и только с разрешенными на данных портах IP-адресами.
Все остальное зарубается под корень. Ишо не проверял, но по идее должно работать.

_________________
// C уважением Александр В. Шутко


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт ноя 27, 2007 14:17 
Не в сети

Зарегистрирован: Пн ноя 14, 2005 03:18
Сообщений: 30
Откуда: Khabarovsk
Упс, косяк... Смещения адреса отправителя у ip и arp пакетов отличаются. Меня картинка на http://ru.wikipedia.org/wiki/ARP запутала блин. Надо три профиля (фих с ними - не жалко, все равно вся остальная фильтрация на циске). Вот так вроде работает:

Код:
# Разрешить фреймы 0x0806 с исход. ip = 10.10.10.8 на 3 порту (0x0806 – ARP)
cr access packet offset_16-31 0xFFFF0000 0x0 0x0 0x0 offset_32-47 0xFFFFFFFF 0x0 0x0 0x0 prof 6
co access profile_id 6 add access_id auto packet offset_16-31 0x08060000 0x0 0x0 0x0 offset_32-47 0x0A0A0A08 0x0 0x0 0x0 port 3 permit

# Разрешить фреймы 0x0800 с исход. ip = 10.10.10.8 на 3 порту (0x0800 –IPv4)
cr access packet offset_16-31 0xFFFF0000 0x0 0x0 0x0000FFFF offset_32-47 0xFFFF0000 0x0 0x0 0x0 prof 7
co access profile_id 7 add access_id auto packet offset_16-31 0x08000000 0x0 0x0 0x0A0A offset_32-47 0x0A080000 0x0 0x0 0x0 port 3 permit

# Запретить все остальные фреймы
create access packet offset_0-15 0x0 0x0 0x0 0x0 profile_id 8
config access profile_id 8 add access_id auto packet offset_0-15 0x0 0x0 0x0 0x0 port 3 deny


Но кстати при этом похоже что сам свитч отрезаемые ARP-пакеты воспринимает. Т.е. я подключаю к свичу по двум портам два устройства с разными адресами и втыкаю его в общую сетку. Устройства пингуют и друг друга и свитч и другие машины из сетки. Потом я у второго устройства меняю IP адрес на адрес первого устройства. Ругани на дублирующиеся IP нет. Второе устройство НЕ пингает ни первое устройство ни сетку, но при этом пингает свитч. Первое устройство, чей адрес заняли работает нормально за одним исключением – свитч с него не пингается. Собственно это не критично, потому как адрес свича находится не в клиентском влане, но все равно странно.

P.S. Чуть попозжа скину сюда perl-скрипт, который по конфиг-файлу заливает на свитч правила для биндинга IP-Port. Размер скрипта 8кб, я надеюсь администрация не против ?

_________________
// C уважением Александр В. Шутко


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: IP-Port binding
СообщениеДобавлено: Вт ноя 27, 2007 15:41 
Не в сети

Зарегистрирован: Пн сен 27, 2004 18:18
Сообщений: 1642
Откуда: Vault 13
Regressor писал(а):
Необходимо на коммутаторах серий 3550/3526 реализовать привязку IP-Port без привязки к мак-адресу.
...
хочется слегка анархию ограничить, но чтобы не было гемороя с постоянным прописыванием маков.
именно! связка IP + MAC себя давным давно изжила ... "сейчас рулят танковые клинья и ковровое бомбометание"(с) :) в общем чтоб небыло гимора - сделайте так, как Вы уже сказали:
Regressor писал(а):
Как я это вижу - с помощью ACL пропускать пакеты у которых для данного порта разрешен ip-адрес
т.е. примерно так:
Код:
# разрешаете ARP бродкасты (who has ...) и вообще ...
create access_profile                                             ethernet ethernet_type       profile_id 1
config access_profile profile_id 1 add access_id 1 ethernet ethernet_type 0x806 port клиентские_порты permit

# запрещаете IP
create access_profile                                            packet_content_mask offset_0-15 0xffffffff 0xffff0000 0x0 0x0 profile_id 2
config access_profile profile_id 2 add access_id 1 packet_content_mask offset_0-15 0xffffffff 0xffff0000 0x0 0x0 port клиентские_порты deny

# разрешаете строго определенные IP адреса на опред. портах
create access_profile                                                    ip source_ip_mask 255.255.255.255 profile_id 3
config access_profile profile_id 3 add access_id        1 ip source_ip      WWW.XXX.YYY.ZZZ port клиентские_порты permit
config access_profile profile_id 3 add access_id NUM ip source_ip      WWW.XXX.YYY.ZZZ port клиентские_порты permit
config access_profile profile_id 3 add access_id NUM ip source_ip      WWW.XXX.YYY.ZZZ port клиентские_порты permit

# запрещаете все остальное на этих же портах
create access_profile                                             ethernet source_mac 00-00-00-00-00-00 profile_id 4
config access_profile profile_id 4 add access_id 1 ethernet source_mac 00-00-00-00-00-00 port клиентские_порты deny
и получите желаемое ;)


Последний раз редактировалось snark Ср ноя 28, 2007 13:22, всего редактировалось 1 раз.

Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср ноя 28, 2007 07:45 
Не в сети

Зарегистрирован: Пн ноя 14, 2005 03:18
Сообщений: 30
Откуда: Khabarovsk
В общем вот скриптец на перле, и формат конфига:

Код:
#!/usr/bin/perl

# Эта утилитка читает конфиг и согласно конфигу конфигурирует ACL на коммутаторах DLink 3550/3526
# с помощью ACL разрешаются IP/ARP пакеты только от жестко указанных IP адресов на заданных портах
# Таким образом осуществляется привязка IP-Port. Для этого используются номера профилей 6,7 и 8
# 6,7ой разрешают все входящие с порта IP/ARP пакеты с разрешенными IP адресами отправителя. 8ой
# запрещает прохождение всех пакетов. При конфигурировании (через telnet) сначала удаляются профили 8,7,6
# а затем создаются новые (сначала разрешающие, потом запрещающие). Пример (адрес 10.10.10.8 на 3 порту):
#
# Разрешить фреймы 0x0806 с исход. ip = 10.10.10.8 на 3 порту (0x0806 - ARP)
# cr access packet offset_16-31 0xFFFF0000 0x0 0x0 0x0 offset_32-47 0xFFFFFFFF 0x0 0x0 0x0 prof 6
# co access profile_id 6 add access_id auto packet offset_16-31 0x08060000 0x0 0x0 0x0 offset_32-47 0x0A0A0A08 0x0 0x0 0x0 port 3 permit
#
# Разрешить фреймы 0x0800 с исход. ip = 10.10.10.8 на 3 порту (0x0800 -IPv4)
# cr access packet offset_16-31 0xFFFF0000 0x0 0x0 0x0000FFFF offset_32-47 0xFFFF0000 0x0 0x0 0x0 prof 7
# co access profile_id 7 add access_id auto packet offset_16-31 0x08000000 0x0 0x0 0x0A0A offset_32-47 0x0A080000 0x0 0x0 0x0 port 3 permit
#
# Запретить все остальные фреймы
# create access packet offset_0-15 0x0 0x0 0x0 0x0 profile_id 8
# config access profile_id 8 add access_id auto packet offset_0-15 0x0 0x0 0x0 0x0 port 3 deny

use strict;
use warnings;
use Net::Telnet ();

my $maxlineip = 10;
my $conffile  = "./rules.conf";
my $prompt    = '/DES.{1,18}\#/';

# Константы ACL профилей
my $cprofile6 = "create access_profile packet_content offset_16-31 0xFFFF0000 0x0 0x0 0x0 ".
                "offset_32-47 0xFFFFFFFF 0x0 0x0 0x0 profile_id 6";
my $cprofile7 = "create access_profile packet_content offset_16-31 0xFFFF0000 0x0 0x0 ".
                "0x0000FFFF offset_32-47 0xFFFF0000 0x0 0x0 0x0 profile_id 7";
my $cprofile8 = "create access_profile packet_content offset_0-15 0x0 0x0 0x0 0x0 profile_id 8";
my $dprofile6 = "delete access_profile prof 6";
my $dprofile7 = "delete access_profile prof 7";
my $dprofile8 = "delete access_profile prof 8";

my %config = ();
read_config();
process_config();
exit(0);

# Соединяемся с коммутатором и конфигурируем ACL
sub configure_switch
{
   # Переменные и параметры функции
   my $faddr = shift; my $login = shift; my $passw = shift; my $plist = shift;
   my %plst = %{$plist}; my $sock = undef; my $i = 0;
   my @out; my $result = undef; my %uplinks = ();

   # Парсим строку адреса (адрес, телнет-порт, число портов коммутатора, список аплинков)
   my ($addr, $port, $ifnum, $uplist) =
      $faddr =~ /^(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\:(\d{1,5})\:(\d{1,3})\:\[([\d,\s]{1,20})\]$/;

   # Uplist это список аплинков/даунлинков. Пример: 47,49,50 (для этих портов нет deny правил)
   my @upl = split /\,\s*/, $uplist;
   $uplinks{int($_)} = 1 for (@upl);

   # Подключаемся по telnet к коммутатору и логинимся
   my $t = new Net::Telnet(Timeout => 1, Prompt => $prompt);
   if (($t->open(Host => $addr, Port => $port)) && ($t->login($login, $passw)))
   {
      # 1. Удалим access профили с номерами 8,7,6
      @out = $t->cmd($dprofile8); $result = join('', @out);
      if (!(($result =~ /Success./) || ($result =~ /not exist/))) { print "Can't del prof8\n"; return; }   
      @out = $t->cmd($dprofile7); $result = join('', @out);
      if (!(($result =~ /Success./) || ($result =~ /not exist/))) { print "Can't del prof7\n"; return; }   
      @out = $t->cmd($dprofile6); $result = join('', @out);
      if (!(($result =~ /Success./) || ($result =~ /not exist/))) { print "Can't del prof6\n"; return; }   
   
      # 2. Создадим access профили 6,7,8
      @out = $t->cmd($cprofile6); $result = join('', @out);
      if (!($result =~ /Success./)) { print "Can't create prof6\n"; return; }
      @out = $t->cmd($cprofile7); $result = join('', @out);
      if (!($result =~ /Success./)) { print "Can't create prof7\n"; return; }
      @out = $t->cmd($cprofile8); $result = join('', @out);
      if (!($result =~ /Success./)) { print "Can't create prof8\n"; return; }

      # 3. На профили 6,7 навешаем правила для всех портов из конфига
      for (sort keys %plst)
      {
         my $prt = int($_);
    if ($prt > $ifnum) { print "WARNING: Ifindex $prt out of range (> $ifnum)\n"; }
    else
    {
            if (defined($plst{$_}))
            {
               my @ipl = @{$plst{$_}};
          for (@ipl)
          {
             my $ip = $_;
        my ($oct1, $oct2, $oct3, $oct4) = $ip =~ /(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})/;
        my $offs1 = sprintf("0x%02X%02X", $oct1, $oct2);
        my $offs2 = sprintf("0x%02X%02X0000", $oct3, $oct4);
        my $offs3 = sprintf("0x%02X%02X%02X%02X", $oct1, $oct2, $oct3, $oct4);
       
        # Правило для профиля 6 (разрешает ARP для указанного адреса)
        my $acl = "conf access profile_id 6 add access_id auto packet offset_16-31 0x08060000 ".
                  "0x0 0x0 0x0 offset_32-47 $offs3 0x0 0x0 0x0 port $prt permit";
                  @out = $t->cmd($acl); $result = join('', @out);
                  if (!($result =~ /Success./))
           { print "Can't create permit ACL (p6, ARP) for ip=$ip and port=$prt\n"; return; }

                  # Правило для профиля 7 (разрешает IPv4 для указанного профиля)
                  $acl = "co access profile_id 7 add access_id auto packet offset_16-31 0x08000000 ".
               "0x0 0x0 $offs1 offset_32-47 $offs2 0x0 0x0 0x0 port $prt permit";
                  @out = $t->cmd($acl); $result = join('', @out);
                  if (!($result =~ /Success./))
           { print "Can't create permit ACL for ip=$ip and port=$prt\n"; return; }
          }
            }
    }
      }

      # Пишем запрещающие правила для всех портов кроме аплинков
      for ($i=1;$i<=$ifnum; $i++)
      {
         next if (defined($uplinks{$i}));
    my $acl = "conf access profile 8 add access_id auto packet ".
              "offset_0-15 0x0 0x0 0x0 0x0 port $i deny";
         @out = $t->cmd($acl); $result = join('', @out);
         if (!($result =~ /Success./))
       { print "Can't create deny all ACL for port=$i\n"; }
      }
   }
}


# Для каждого свича из конфига вызывает configure_switch()
sub process_config
{
   for(keys %config)
   {
      my $addr = $_;
      my %acfg = %{$config{$addr}};
      my %plist = ();

      if ((defined($acfg{ports})) &&
          (defined($acfg{login})) &&
     (defined($acfg{passw})))
      {
         %plist = %{$acfg{ports}};
    print "Configuring rules on switch $addr\n";
         configure_switch($addr, $acfg{login}, $acfg{passw}, \%plist);
      }
      else
      {
         print "Not all fields (user, pass, ports) defined for $addr\n";
      }
   }
}


# Читает конфигурационный файл (адреса коммутаторов, логины, пароли и правила)
sub read_config
{
   (open my $CFH, "<".$conffile) || die("Can't open config file\n");
   my $begin_switch = 0;
   my $addr = "";

   while(<$CFH>)
   {
      # Пропустим комментарии
      my $str = $_; my $parsed = 0; chomp($str);
      next if (($str eq "") || ($str =~ /^\#/) || ($str =~ /^\/\//));
      next if ($str =~ /\-\-\-\-\-\-\-\-\-\-/);
      next if ($str =~ /^\s+$/);
 
      # Секция каждого коммутатора начинается с правила addr
      if ($begin_switch == 1)
      {
         # Имя пользователя
         if ($str =~ /user\:\s+(.{2,20})/)
         {
            my ($login) = $str =~ /user\:\s+(.{2,20})/;
          $config{$addr}{login} = $login;
          $parsed = 1;
         }

         # Пароль на коммутатор (operator)
         if ($str =~ /pass\:\s+(.{2,20})/)
         {
            my ($passw) = $str =~ /pass\:\s+(.{2,20})/;
          $config{$addr}{passw} = $passw;
       $parsed = 1;
         }
     
         # Данные по порту (на строке порта максимум 10 адресов это 17*10 символов)
    # Строк с одним номером порта может быть несколько.
    my $maxipchars = $maxlineip*17;
         if ($str =~ /^port\s+(\d{1,3})\:\s+(.{7,$maxipchars})$/)
         {
            my ($port, $iplist) = $str =~ /^port\s+(\d{1,3})\:\s+(.{7,$maxipchars})$/;
            my $pname = "port.".$port;
           
       # Парсим список адресов на порту
       my @ipl = split /\,\s*/, $iplist;
       for (@ipl)
       {
          my $ip = $_;
          if ($ip =~ /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/)
          {
                  my %plist = ();
                   if (defined($config{$addr}{ports})) {%plist = %{$config{$addr}{ports}};}
               push @{$plist{$port}}, $ip;
             $config{$addr}{ports} = \%plist;
                  $parsed = 1;
          }
          else
          {
             print "Bad IP value $_ (addr=$addr, port=$port)\n";
          }
       }
         }
      }

      # Начало секции (address: ip:telnet_port:portsnum:[uplink1,uplink2,...])
      if ($str =~ /^addr\:\s+(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\:\d{1,5}\:\d{1,3}\:\[[\d,\s]{1,20}\])\s*$/)
      {
         ($addr) = $str =~ /^addr\:\s+(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\:\d{1,5}\:\d{1,3}\:\[[\d,\s]{1,20}\])\s*$/;
         $begin_switch = 1;
         $parsed = 1;
      }

      print "Unexpected string in config: $str\n" if ($parsed == 0);
   }   
}



А вот и пример конфига (в общем все должно быть понятно, кроме первой строчки). В первой строчке сначала адрес сервера, потом telnet порт, потом число портов в свиче и в конце список аплинков (на них deny правила не вешаются):
Код:
addr: 10.10.10.10:23:50:[1,5,50]
user: Operator
pass: PaSSwOrD

port 01: 10.12.1.2, 10.12.1.3, 10.12.1.4
port 03: 10.10.10.244, 10.10.10.245, 10.10.10.246
port 03: 10.10.100.12
port 04: 10.10.120.2, 10.10.120.3, 10.10.120.4
----------------------------------

addr: 10.10.10.11:23:50:[50]
user: Operator2
pass: PaSSwOrD2

port 01: 10.13.1.2, 10.13.1.3
port 03: 10.13.102.12
port 04: 10.13.121.2
----------------------------------

_________________
// C уважением Александр В. Шутко


Последний раз редактировалось Regressor Чт ноя 29, 2007 08:23, всего редактировалось 1 раз.

Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср ноя 28, 2007 10:08 
Не в сети

Зарегистрирован: Ср окт 10, 2007 08:57
Сообщений: 66
Откуда: Челябинск
Regressor писал(а):
По поводу чем не устраивает IMP-binding написал в начале топика. Моему отделу в нагрузку вручили обслуживание сети в студенческом общежитии. Соответственно это смены адресов, конфликты, спуфинг и т.п. Чтобы всего этого избежать надо выделить на каждую комнату ip адреса (3-4 штуки) и прописать их на соответствующий порт коммутатора (одна комната один порт). Это грубо говоря порядка 500 адресов.

IMP-Binding это биндинг адреса, порта и что особенно неприятно мак-адреса. Т.е. чтобы это все организовать, надо выяснить маки всех подключеных устройств, а затем по мере их добавления и смены править их в коммутаторе. Мне очень не нравится эта возня с мак-адресами поскольку меняться они будут очень часто (заселение новых студентов, сгоревшие карточки, новые ноутбуки, беготня с ноутбуками из одной комнаты в другую и т.д. и т.п.)



Насколько я понимаю для это задачи подойдет DHCP Snooping+Address Binding(в режиме ACL). Единственно придется выделить отдельный вилан на каждый комнату, где-то роутить трафик виланов и выдавать адреса по DHCP. Не рассаматривали такой вариант?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср ноя 28, 2007 10:28 
Не в сети

Зарегистрирован: Пн ноя 14, 2005 03:18
Сообщений: 30
Откуда: Khabarovsk
Рассматривали :) Каталист 3650G (он на агрегации стоит) с DHCP вполне бы справился. Но пришлось от этого варианта отказаться хотя у него были свои немалые плюсы (ничего не надо настраивать, все само влетает). Тут же нашлось куча народу кто хотел свои файл-серверы поставить, адреса постоянные получить. Это опять таки гемор. Особенно когда нужно выяснить кто безобразия нарушает. И опять таки не факт что на длинке эта связка нормально заработает - появилось это все не так давно, багов еще скорее всего куча, когда все это отладят неясно, а надо ужо сейчас.

А так один раз настроили, табличку адресов выдали и теперь я точно буду знать, что адрес 10.xx.xx.xx это в туалете на четвертом этаже вторая кабинка от окна :) А настроить свои машины студенты вполне и сами смогут. В конце концов соседа помочь попросят.

_________________
// C уважением Александр В. Шутко


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: Ivan Karbovskii и гости: 49


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB