faq обучение настройка
Текущее время: Пн июл 28, 2025 02:29

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




Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: DES-2108 - конфиг в текстовом виде?
СообщениеДобавлено: Сб янв 22, 2011 09:15 
Не в сети

Зарегистрирован: Ср июл 29, 2009 13:26
Сообщений: 544
Откуда: Фурманов
Возможно ли каким-либо образом (telnet, snmp) слить/залить конфиг DES-2108 в текстовом виде, как у DES-3526 например?
В бинарном виде получить конфиг возможно, но особой радости оно как-то не приносит. Или может быть есть какой-то дополнительный софт для этого (компиляция/декомпиляция)?
Необходимо решить задачу удаленного массового обновления конфигурации довольно большого количества (более 100 шт) уже установленных и работающих коммутаторов.
Возможно ли сиё, или только "ручками"?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: DES-2108 - конфиг в текстовом виде?
СообщениеДобавлено: Пн янв 24, 2011 10:56 
Не в сети
Сотрудник D-LINK
Сотрудник D-LINK

Зарегистрирован: Ср май 10, 2006 16:40
Сообщений: 12251
Откуда: D-Link, Moscow
Невозможно


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: DES-2108 - конфиг в текстовом виде?
СообщениеДобавлено: Пн янв 24, 2011 16:28 
Не в сети

Зарегистрирован: Пт окт 21, 2005 07:39
Сообщений: 375
Откуда: Екатеринбург
Если коммутаторы отличаются по сути только IP адресами до возможно стоит поправить их в уже сформированном бинарном конфиге, например для железного 2108:

Было выяснено какой байт за что отвечает:
28 - ? (00 or 03)

29 = MAC
2A = MAC
2B = MAC
2C = MAC
2D = MAC
2E = MAC

31 = IP
32 = IP
33 = IP
34 = IP

7E7 = CRC?
7E8 = CRC?
7E9 = CRC?
7EA = CRC?
7EB = CRC?
7EC = CRC?
7ED = CRC?

Как расчитывать CRC пока не понятно, но известно что:

при IP адресе оканчивающимся на 249 значение 7ED = CF
при IP адресе оканчивающимся на 250 значение 7ED = CE
следовательно если попробуем поставить IP адрес на железку равный 247 то уменьшим этот байт в CRC на два получится 7ED=D1 и внесем исправления в байт по смещению 34.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: DES-2108 - конфиг в текстовом виде?
СообщениеДобавлено: Пн янв 24, 2011 17:23 
Не в сети

Зарегистрирован: Ср июл 29, 2009 13:26
Сообщений: 544
Откуда: Фурманов
Magnum72 писал(а):
Если коммутаторы отличаются по сути только IP адресами до возможно стоит поправить их в уже сформированном бинарном конфиге, например для железного 2108:

К сожалению, не только IP, отличаются еще и VLAN ID, System Name и Location Name
Magnum72 писал(а):
Как расчитывать CRC пока не понятно, но известно что:..

Тоже как-то не айс гадать на кофейной гуще..
Проще будет написать скрипт на перле, который телнетом зарисует нужные изменения.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: DES-2108 - конфиг в текстовом виде?
СообщениеДобавлено: Вт янв 25, 2011 07:28 
Не в сети

Зарегистрирован: Пт окт 21, 2005 07:39
Сообщений: 375
Откуда: Екатеринбург
KovAl59 писал(а):
К сожалению, не только IP, отличаются еще и VLAN ID, System Name и Location Name
Тоже как-то не айс гадать на кофейной гуще..
Проще будет написать скрипт на перле, который телнетом зарисует нужные изменения.


VLAN ID, System Name и Location Name, это все можно вычислить, достаточно сравнить два коммутатора,
а вот со скриптом на telnet вы точно свихнетесь, 2108 такая штука которая сама решает что и когда, а главное как срочно, отвечать по telnet или SNMP


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: DES-2108 - конфиг в текстовом виде?
СообщениеДобавлено: Чт июл 14, 2011 11:30 
Не в сети

Зарегистрирован: Ср июл 29, 2009 13:26
Сообщений: 544
Откуда: Фурманов
Cнова всплыла проблема..
В принципе все известно, где, как и на что необходимо поменять в "бинарнике" конфига. Единственно неразрешимым оказался алгоритм подсчета CRC отредактированного файла.
Alexandr Zaitsev, обращаюсь к Вам - сие возможно узнать, или это тоже "закрытая информация"?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: DES-2108 - конфиг в текстовом виде?
СообщениеДобавлено: Чт июл 14, 2011 12:04 
Не в сети
Сотрудник D-LINK
Сотрудник D-LINK

Зарегистрирован: Ср май 10, 2006 16:40
Сообщений: 12251
Откуда: D-Link, Moscow
Закрытая информация, ШК не предоставит документы по формату конфига.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: DES-2108 - конфиг в текстовом виде?
СообщениеДобавлено: Чт июл 14, 2011 12:27 
Не в сети

Зарегистрирован: Пт окт 21, 2005 07:39
Сообщений: 375
Откуда: Екатеринбург
KovAl59 писал(а):
Cнова всплыла проблема..
В принципе все известно, где, как и на что необходимо поменять в "бинарнике" конфига. Единственно неразрешимым оказался алгоритм подсчета CRC отредактированного файла.
Alexandr Zaitsev, обращаюсь к Вам - сие возможно узнать, или это тоже "закрытая информация"?


Как узнать хз, но подобрать можно, допустим у тебя был байт равный 31, ты его заменил на 32, разница 01, вот к числу CRC прибавь 1, т.е. подсчитывай разницу байтов всех внесенных изменений и уменьшай или увеличивай CRC


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: DES-2108 - конфиг в текстовом виде?
СообщениеДобавлено: Чт июл 14, 2011 13:29 
Не в сети

Зарегистрирован: Ср июл 29, 2009 13:26
Сообщений: 544
Откуда: Фурманов
Alexandr Zaitsev писал(а):
Закрытая информация, ШК не предоставит документы по формату конфига.

Мда.. Тупик.. :(
А что-нибудь можете предложить для решения задачи: залить в любой свитч DES-2108 заранее подготовленную конфигурацию кроме "вручную" через web, или telnet?
Имеющаяся опция backup/restore в данном случае (не имея вышеуказанной информации) эту задачу не решает.
И вообще, на практике в таком "формате", backup/restore - практически бесполезная фича..

P.S.
Magnum72 писал(а):
Как узнать хз, но подобрать можно, допустим у тебя был байт равный 31, ты его заменил на 32, разница 01, вот к числу CRC прибавь 1, т.е. подсчитывай разницу байтов всех внесенных изменений и уменьшай или увеличивай CRC

Бред.. CRC зависит от любого изменения в бинарнике. Т.е. например, "подобрать" CRC на свитче с другим МАС получится сделать только на нём. Это во-первых. А есть еще и влан, коммунити, системное имя, локейшн и т.д. и т.п...


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: DES-2108 - конфиг в текстовом виде?
СообщениеДобавлено: Чт июл 14, 2011 13:35 
Не в сети
Сотрудник D-LINK
Сотрудник D-LINK

Зарегистрирован: Вт янв 18, 2011 13:29
Сообщений: 8999
KovAl59 писал(а):
А что-нибудь можете предложить для решения задачи


Могу порекомендовать сменить парк коммутаторов, а не придумывать очередной костыль к DIR-100, DES-2108 или просить расширения функционала офисного DES-1100.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: DES-2108 - конфиг в текстовом виде?
СообщениеДобавлено: Чт июл 14, 2011 14:03 
Не в сети

Зарегистрирован: Ср июл 29, 2009 13:26
Сообщений: 544
Откуда: Фурманов
Artem Kolpakov писал(а):
KovAl59 писал(а):
А что-нибудь можете предложить для решения задачи


Могу порекомендовать сменить парк коммутаторов, а не придумывать очередной костыль к DIR-100, DES-2108 или просить расширения функционала офисного DES-1100.

Могу дать аналогичный "совет" - обратиться к пользователю лицом и писать вменяемое ПО, а не такое, в котором минимум 10% функционала практически невостребовано, а имеющийся требует костылей.
Извиняюсь за сарказм, не удержался... Но заметьте, не я первый начал. ;)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: DES-2108 - конфиг в текстовом виде?
СообщениеДобавлено: Пт июл 15, 2011 06:55 
Не в сети

Зарегистрирован: Пт окт 21, 2005 07:39
Сообщений: 375
Откуда: Екатеринбург
KovAl59 писал(а):
Alexandr Zaitsev писал(а):
Закрытая информация, ШК не предоставит документы по формату конфига.

Мда.. Тупик.. :(
А что-нибудь можете предложить для решения задачи: залить в любой свитч DES-2108 заранее подготовленную конфигурацию кроме "вручную" через web, или telnet?
Имеющаяся опция backup/restore в данном случае (не имея вышеуказанной информации) эту задачу не решает.
И вообще, на практике в таком "формате", backup/restore - практически бесполезная фича..

P.S.
Magnum72 писал(а):
Как узнать хз, но подобрать можно, допустим у тебя был байт равный 31, ты его заменил на 32, разница 01, вот к числу CRC прибавь 1, т.е. подсчитывай разницу байтов всех внесенных изменений и уменьшай или увеличивай CRC

Бред.. CRC зависит от любого изменения в бинарнике. Т.е. например, "подобрать" CRC на свитче с другим МАС получится сделать только на нём. Это во-первых. А есть еще и влан, коммунити, системное имя, локейшн и т.д. и т.п...


В нормальной реализации CRC согласен такое не возможно, но в нашем случае это не CRC, а просто какой то тупой счетчик. Попробуй взять коммутатор поставить ему IP 10.90.90.11 и сравнить конфиг с дефолтным
потом сравни полученные конфиги и посмотри на разницу в поле CRC.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: DES-2108 - конфиг в текстовом виде?
СообщениеДобавлено: Пт июл 15, 2011 07:01 
Не в сети

Зарегистрирован: Пт окт 21, 2005 07:39
Сообщений: 375
Откуда: Екатеринбург
В очень очень старых моделях свитчей использовался такой метод расчета CRC, проверь может подойдет и в нашем случае.


Код:
/* Образ PROM на старых свичах не упакован, но защищен */
/* суммой. После правки PROM его надо обработать этой  */
/* программой чтобы правильно выставить checksum       */

#include <stdlib.h>
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>

int main(int argc, char **argv)
{
   int ifile = 0;
   int check_size = 0;
   int check_word = 0;
   int bufsize = 0;
   int buf_idx = 0;
   int checksum = 0;     
   unsigned char fbuf[2048];
   int paddword = 0;

   /* Now it is time to open db file... :) */
   ifile = open(argv[1], O_RDWR | O_EXCL);

   if (ifile == -1)
   {
      printf("Error: Can't open img file %s\n", argv[1]);
      printf("Error: \'%s\'\n", strerror(errno));
      exit(-1);
   }

   lseek(ifile, 0x10010, SEEK_SET);
   fbuf[1] = 0;
   fbuf[0] = 0;
   write(ifile, fbuf, 2);

   check_size = lseek(ifile, 0, SEEK_END);
   lseek(ifile, 0, SEEK_SET);
   for (int i=0; check_size > 0; i++)
   {
      if (bufsize <= 0)
      {
         bufsize = read(ifile, fbuf, 1024); buf_idx = 0;         
         if ((bufsize == 0) && (check_size > 0)) break;
      }
     
      if (bufsize != 0)
      {
         check_word = fbuf[buf_idx] + (fbuf[buf_idx+1] << 8);
         checksum += check_word;
         buf_idx += 2;
         bufsize -= 2;
         check_size -= 2;
      }
   }
   
   printf ("> Image checksum: %08X\n", checksum);
   
   paddword = 0x10000 - (checksum & 0xffff);
   printf ("> Image paddword: %08X\n", paddword);

   lseek(ifile, 0x10010, SEEK_SET);
   fbuf[1] = (paddword >> 8) & 0xff;
   fbuf[0] = paddword & 0xff;
   write(ifile, fbuf, 2);
}


А в новых свитчах типа 3526:

Код:
   size = lseek(ofile, 0, SEEK_END);
   insize = lseek(ifile, 0, SEEK_END);
   
   size -= 512;
   
   lseek(ofile, 12, SEEK_SET);
   
   hdrBuf[0] =  size >> 24;
   hdrBuf[1] = (size >> 16) & 0xff;
   hdrBuf[2] = (size >>  8) & 0xff;
   hdrBuf[3] =  size & 0xff;
   
   write(ofile, hdrBuf, 4);
   lseek(ofile, hdrSize, SEEK_SET);
   
   hdrBuf[0] =  insize >> 24;
   hdrBuf[1] = (insize >> 16) & 0xff;
   hdrBuf[2] = (insize >>  8) & 0xff;
   hdrBuf[3] =  insize & 0xff;
   hdrBuf[4] =  ztype >> 8;
   hdrBuf[5] =  ztype & 0xff;
   
   write(ofile, hdrBuf, 6);
   
   // now time to calc checksum and write paddword
   check_size = size + 512;
   lseek(ofile, 0, SEEK_SET);
   for (int i=0; check_size > 0; i++)
   {
      if (bufsize <= 0)
      {
         bufsize = read(ofile, fbuf, 1024); buf_idx = 0;         
         if ((bufsize == 0) && (check_size > 0)) break;
      }
     
      if (bufsize != 0)
      {
         check_word = fbuf[buf_idx+1] + (fbuf[buf_idx] << 8);
         checksum += check_word;
         buf_idx += 2;
         bufsize -= 2;
         check_size -= 2;
      }
   }
   
   checksum = checksum & 0xffff;
   
   paddword = 0x10000 - checksum;
   printf("Chksum/paddword: 0x%08X/0x%04X\n", (int)checksum, (int)paddword);


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: DES-2108 - конфиг в текстовом виде?
СообщениеДобавлено: Пт июл 15, 2011 11:22 
Не в сети

Зарегистрирован: Ср июл 29, 2009 13:26
Сообщений: 544
Откуда: Фурманов
Magnum72 писал(а):
В нормальной реализации CRC согласен такое не возможно, но в нашем случае это не CRC, а просто какой то тупой счетчик.

Явно не так. Проверял. В некоторых случаях в CRC явно не попадают байты "FF". Заменял и пробовал залить конфиг - свитч такой кушает. А вот если тот же самый байт заменить, например на "АА" - ругается ошибкой CRC.
Magnum72 писал(а):
Попробуй взять коммутатор поставить ему IP 10.90.90.11 и сравнить конфиг с дефолтным
потом сравни полученные конфиги и посмотри на разницу в поле CRC.

Уже отвечал - не вариант, т.к. заменять требуется не только IP, а в обязательном порядке еще и МАС и плюс ID и имена VLAN, system name, system location и еще целую кучку всего. В этом случае запаришься "подбирать". И самое главное - вся эта бодяга мне нужна как для изменения уже сконфигурированного свитча, так и для ввода в эксплуатацию нового. Тут "подбор" явно не канает..
Magnum72 писал(а):
В очень очень старых моделях свитчей использовался такой метод расчета CRC, проверь может подойдет и в нашем случае.

Пробуем, но пока безрезультатно.. Может быть Вы опишете алгоритм подсчёта?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: DES-2108 - конфиг в текстовом виде?
СообщениеДобавлено: Сб июл 16, 2011 09:47 
Не в сети

Зарегистрирован: Ср июл 29, 2009 13:26
Сообщений: 544
Откуда: Фурманов
Magnum72, в "моей" версии 2108 какой-то другой алгоритм, где "CRC" убирается в один байт, причём, что примечательно, если например увеличить IP на "1", то "CRC" уменьшится на "1".
Вот "хвост" файла для IP 192.168.5.74
Цитата:
00008020 00 00 00 00 │ 00 CA CA 9B │ 00
(синий - дескриптор файла, красный - "CRC")
А вот для IP 192.168.5.75
Цитата:
00008020 00 00 00 00 │ 00 CA CA 9A │ 00

Есть идеи?


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

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


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

Сейчас этот форум просматривают: Bing [Bot], Google [Bot] и гости: 31


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

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