我知道我在这里遗漏了一些简单的东西。我正在尝试在我的 centos 4.8 服务器上安装/运行 TFTP 服务器。我已完成以下操作:
1) 以 root 身份对 shell 进行身份验证。
2)安装tftp服务器:yum 安装 tftp 服务器(顺便说一下 xinetd 已经安装好了)
3)编辑/etc/xinetd.d/tftp并设置禁用 = 否
# default: off
# description: The tftp server serves files using the trivial file transfer \
# protocol. The tftp protocol is often used to boot diskless \
# workstations, download configuration files to network-aware printers, \
# and to start the installation process for some operating systems.
service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
per_source = 11
cps = 100 2
flags = IPv4
}
4)重新启动xinetd:服务 xinetd 重新启动
5)设置目录权限:chmod 777 /tftpboot
6)确保服务在重启时启动:chkconfig tftp on
7)确保 xinetd 在重启时启动:chkconfig xinetd 开启
但是 tftp 服务器似乎没有启动... 不知道为什么。我没有收到任何错误,但在本地 netstat 结果中我没有看到它在监听端口 69,而且我无法从 tftp 客户端进行连接。
我在这里遗漏了什么?
更新 谢谢大家的帮助。我想我开始明白这里的根本原因了——xinetd 似乎没有运行或启动。
[root@server ~]# service xinetd restart
[root@server ~]#
我删除了 tftp-server,然后删除了 xinetd... 使用 yum 重新安装了它们(先安装 xinetd),但仍然出现相同的错误。是否有可以检查 xinet 的日志?
答案1
在服务器参数中,您有 -s /tftpboot,但您在帖子中说您使用的目录是 /tftpserver。-s 和路径表示您用作 TFTP 根目录的目录。将其更改为您要使用的路径或目录。
如果 /tftpboot 不存在,您将在 /var/log/messages 中看到错误,并且守护进程实际上不会启动。
答案2
答案3
您是否先创建了文件?在我的 cisco 备份中,我不会将整个目录 chmod 为 777,而是先创建文件,然后将文件 chmod 为 666。然后我就可以写入它了。
尝试这个:
触摸测试文件.txt
chmod 666 测试文件.txt
然后将文件传输到 tftp 服务器。假设您尝试将文件放到 tftp 服务器上。
答案4
您不会看到 tftp 在端口 69 上监听,而会看到 xinetd。我并不指望这能解决您的问题,但无论如何我都会记下来,以防万一 ;-)
无论如何,有些事情需要检查
- SELinux 是否启用了?
- 如果 xinetd 正在监听端口 69:iptables 是否正在运行?
哦,看在上帝的份上:不要将与 /tftpboot 一样重要的东西 chmod 777 或 666。