在Linux环境下(fedora 10)进行TFTP服务设置

步骤1

配置tftp

配置tftp服务的步骤:

1、安装相关软件包:tftpd(服务端),tftp(客户端),xinetd

#yum install tftp-server tftp xinetd

2、建立配置文件
在/etc/xinetd.d/下建立一个配置文件tftp

#vim tftp

在文件中输入以下内容:
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
保存退出

3、建立tftp服务文件目录(上传文件与下载文件的位置),并且更改其权限
#mkdir /tftpboot
#chmod 777 /tftpboot -R

4、重新启动服务
#/etc/init.d/xinetd restart

至此tftp服务已经安装完成了,下面可以对其进行一下测试。(假设在当前目录下有一个测试文件test.txt)
#tftp 127.0.0.1                    
tftp> put test.txt
tftp> get test.txt
tftp> quit

通过get命令,可以把当前目录下的test.txt文件,通过tftp上传到它的服务文件目录。这时,在/tftpboot下面会出现test.txt文件。通过put命令,可以从/tftpboot下,下载test.txt文件。这样就验证了tftp服务配置的正确性。当文件上传与下载结束后,可以通过quit命令退出。

步骤二

严格按照以上步骤配置tftp服务,一般都可以成功。如果出现无法get或者put的时候,可以查看一下防火墙是否关闭。

问题一:

若出现类似提示:SELinux is preventing in.tftpd (tftpd_t) "write" to ./tftpboot (tftpdir_t).

tftp> get <filename>

Transfer timed out.
 

tftp> put<filename>

Transfer timed out.
知道这是是由SELinux造成的,在FC3和FC3以后的FC版本中SELinux默认的都是开启的,现关掉它。解决:
修改文件 /etc/sysconfig/selinux,设定其中的SELINUX=disabled,然后重启电脑即可。或者执行命令 system-config-securitylevel 打开 “安全级别配置”对话框,将SELinux(S)选项中 “强制” 改为“允许”。

问题二:
tftp> put <filename>
Error code 1: File not found
原因:
指定的文件不存在;
解决:
/etc/xinetd.d/tftp中的server_args指定的目录中没有该文件,将要下载的文件拷贝到该目录即可,或server_args不是默认的/tftpboot,而是自己设定,但是在后面没有指定-c选项,补上即可。

发布了40 篇原创文章 · 获赞 4 · 访问量 6万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章