我正在运行安装了 VMware 的 Windows 7 PC,其中装有 Ubuntu(10.04 Lucid Lynx)。我最近使用以下工具安装了 DHCP 服务器和 TFTP(Xinet tftpd)这些说明。我映射了一个网络驱动器,以便我的 Windows 可以通过 192.xxx IP 地址访问我的 VM 中的所有文件。
我正试图将一些自定义固件放到路由器上。路由器有自己的内置 TFTP 实用程序,可以下载映像。它成功地完成了所有工作,但速度很慢,因为它将其写入闪存。还有另一种方法更快,因为它直接写入 RAM,但必须使用 Ubuntu 中的 TFTP 服务器。
我面临的问题是 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/
}