Я использую ПК с Windows 7 с установленной VMware, на котором установлена моя Ubuntu (10.04 Lucid Lynx). Недавно я установил DHCP-сервер и TFTP (Xinet tftpd), используя эти инструкции. Я подключил сетевой диск, чтобы моя Windows имела доступ ко всем файлам в моей виртуальной машине через IP-адрес 192.x.x.x.
Пытаюсь закинуть на роутер кастомную прошивку. Маршрутизатор имеет собственную встроенную утилиту 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?
Спасибо!
Я не специалист по 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/
}