faq обучение настройка
Текущее время: Сб июл 19, 2025 20:58

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




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
СообщениеДобавлено: Вс июл 31, 2011 08:25 
Не в сети

Зарегистрирован: Ср дек 29, 2004 13:18
Сообщений: 115
Откуда: Saint-Petersburg
Имеется Linux-сервер с atftpd и два коммутатора DES-3028 с соседними IP (*.30 и *.31).
Прошивка одинаковая - 2.00.B27
С одного конфигурация по TFTP сохраняется нормально, со второго не хочет.
Команда сохранения:
upload c 10.20.30.40 /writable/sw3028.cfg

Сниффер показывает, что сервер отправляет ответы с одного порта, а коммутатор шлёт данные на другой:
Код:
08:39:12.405031 IP sw3028.50001 > linbox.tftp:  37 WRQ "/writable/sw3028.cfg" octet
08:39:12.405305 IP linbox.44500 > sw3028.50001: UDP, length 4
08:39:12.406528 IP sw3028.50001 > linbox.34596: UDP, length 516
08:39:17.403820 IP linbox.44500 > sw3028.50001: UDP, length 4
08:39:17.431267 IP sw3028.50001 > linbox.34596: UDP, length 516
08:39:22.403818 IP linbox.44500 > sw3028.50001: UDP, length 4
08:39:22.632013 IP sw3028.50001 > linbox.34596: UDP, length 21
08:39:27.403855 IP linbox.44500 > sw3028.50001: UDP, length 4
08:39:32.403820 IP linbox.44500 > sw3028.50001: UDP, length 4
08:39:37.403827 IP linbox.44500 > sw3028.50001: UDP, length 4

08:39:47.408930 IP sw3028.50001 > linbox.tftp:  37 WRQ "/writable/sw3028.cfg" octet
08:39:47.409457 IP linbox.44413 > sw3028.50001: UDP, length 4
08:39:47.410572 IP sw3028.50001 > linbox.44500: UDP, length 516
08:39:52.407879 IP linbox.44413 > sw3028.50001: UDP, length 4
08:39:52.433233 IP sw3028.50001 > linbox.44500: UDP, length 516
08:39:57.407844 IP linbox.44413 > sw3028.50001: UDP, length 4
08:39:57.633690 IP sw3028.50001 > linbox.44500: UDP, length 21
08:40:02.430466 IP linbox.44413 > sw3028.50001: UDP, length 4
08:40:07.427932 IP linbox.44413 > sw3028.50001: UDP, length 4
08:40:12.428234 IP linbox.44413 > sw3028.50001: UDP, length 4

08:43:24.616972 IP sw3028.50001 > linbox.tftp:  37 WRQ "/writable/sw3028.cfg" octet
08:43:24.617552 IP linbox.37268 > sw3028.50001: UDP, length 4        сервер отвечает Ack, block 0
08:43:24.618619 IP sw3028.50001 > linbox.44413: UDP, length 516      коммутатор отправляет block 1 не на тот порт
08:43:29.615853 IP linbox.37268 > sw3028.50001: UDP, length 4        сервер снова отвечает Ack, block 0
08:43:29.645285 IP sw3028.50001 > linbox.44413: UDP, length 516      коммутатор снова отправляет block 1 не на тот порт
08:43:34.615829 IP linbox.37268 > sw3028.50001: UDP, length 4
08:43:34.845152 IP sw3028.50001 > linbox.44413: UDP, length 21       коммутатор отсылает error, access violation
08:43:39.615844 IP linbox.37268 > sw3028.50001: UDP, length 4
08:43:44.615881 IP linbox.37268 > sw3028.50001: UDP, length 4
08:43:49.615840 IP linbox.37268 > sw3028.50001: UDP, length 4

Видно, что коммутатор отвечает на тот порт, который использовался сервером при предыдущей попытке:
34596 вместо 44500, 44500 вместо 44413, 44413 вместо 37268.

В aftpd.log при этом повторяются сообщения sendack/timeout:
Код:
Creating new socket: 10.20.30.40:44500
Fetching from 10.90.90.30 to /writable/sw3028.cfg
received WRQ <filename: /writable/sw3028.cfg, mode: octet, >
sent ACK <block: 0>
timeout: retrying...
sent ACK <block: 0>
timeout: retrying...
...
client (10.90.90.30) not responding
Server thread exiting


Проблеме подвержены исключительно 3028 (примерно 20% от протестированных) и 3052, на остальных DES-3xxx её вроде бы нет.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Вс июл 31, 2011 09:17 
Не в сети

Зарегистрирован: Ср дек 29, 2004 13:18
Сообщений: 115
Откуда: Saint-Petersburg
Уточнение 1: коммутатор запоминает с предыдущего вызова не только порт сервера, но и его IP-адрес.
Выяснилось после запуска atftpd и сниффера на двух серверах и попеременных попыток сохранить конфигурацию на один из них.

Ввожу команду: upload configuration 10.20.30.40 /writable/sw3226s.cfg
Результат: sendack/timeout.

Ввожу команду: upload configuration 10.20.30.111 /writable/sw3226s.cfg
На 10.20.30.111 ничего не произошло, зато на 10.20.30.40 сниффер показал обмен данными,
появился непустой файл sw3226s.cfg, а коммутатор написал "Upload: Done".

Уточнение 2: получается, что проблема есть не только на 3028.
В данном примере использовался DES-3226S, Firmware 4.03-B04.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Вт авг 02, 2011 13:23 
Не в сети

Зарегистрирован: Ср дек 29, 2004 13:18
Сообщений: 115
Откуда: Saint-Petersburg
Сейчас для решения проблемы сделан следующий костыль:
atftpd заменён на tftp-hpa, у которого есть опция --port-range.
Он запускается с диапазоном из одного порта.
Если первый upload не получился, тут же (через 2 сек.) запускается повторный, который за единичными исключениями проходит успешно.

Помимо идейной корявости, у такого подхода есть существенный практический минус -
- невозможность собирать конфиги на сервер в несколько потоков,
т.е. ежедневный backup 2-3 тысяч устройств будет занимать 4-5 часов.
Или на сервере надо поднимать кучу IP-алиасов, и на каждый сажать по отдельному экземпляру tftpd.

Хотелось бы услышать мнение сотрудников D-Link по поводу данной ошибки.
У вас получилось её воспроизвести?
Если не получилось, то нужна ли помощь с воспроизведением?
Если получилось, то когда планируется её исправить?


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Вт авг 02, 2011 15:26 
Не в сети
Сотрудник D-LINK
Сотрудник D-LINK

Зарегистрирован: Ср май 10, 2006 16:40
Сообщений: 12251
Откуда: D-Link, Moscow
Как раз вчера эта проблема была устранена. Выслал Вам прошивку.


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

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


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

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


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

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