Тайм-аут TFTP на виртуальной машине Ubuntu

Я использую ПК с Windows 7 с установленным VMware, на котором установлена ​​моя Ubuntu (10.04 Lucid Lynx). Я недавно установил DHCP-сервер и TFTP (Xinet tftpd), используя эти инструкции. Я подключил сетевой диск так, чтобы у моей Windows был доступ ко всем файлам в моей виртуальной машине через IP-адрес 192.xxx.

Я пытаюсь закинуть какую-нибудь кастомную прошивку на роутер. Маршрутизатор имеет собственную встроенную утилиту TFTP, которая загружает образ. Он успешно все делает, но медленно, потому что записывает его во флэш-память. Есть еще один метод, который намного быстрее, потому что он пишет в ОЗУ напрямую, но должен использовать TFTP-сервер в Ubuntu.

Проблема, с которой я сталкиваюсь, заключается в том, что передача Ubuntu TFTP, похоже, истекает. Передача начинается, но никогда не проходит ~60%. Вот мой файл /etc/xinetd.d/tftp (похож на известный рабочий конфиг):

service tftp
{
protocol        = udp
port            = 69
socket_type     = dgram
wait            = yes
user            = nobody
server          = /usr/sbin/in.tftpd
server_args     = -s /home/user/tftp/
disable         = no
cps             = 300 2
per_source      = 60
}

Я провел некоторый поиск, но не могу найти никаких параметров для этого файла, чтобы контролировать время ожидания или количество повторных попыток. Последние два аргумента (cps, per_source) и совершенно чужды мне (может кто-нибудь объяснить). У меня есть несколько возможных решений, но самым простым было бы заставить этот сервер TFTP работать. Кто-нибудь может помочь? Или с настройкой тайм-аута или, может быть, даже порекомендовать другой сервер TFTP?
Спасибо!

1 ответ

Я не эксперт по Linux, но я использую server_args параметр ( http://linux.die.net/man/5/xinetd.conf) для передачи параметров в процесс TFTP. TFTPD имеет --timeout параметр ( http://linux.die.net/man/8/tftpd). Вы можете попробовать что-то вроде

service tftp {
    [...]
    server_args = --timeout 10000 -s /home/user/tftp/

}
Другие вопросы по тегам