Fedora19配置tftp服务器

项目需要,所以按照往常的方式进行安装和配置tftp服务器。

1. yum install tftp* -y

    yum会自动搜索安装平台合适的tftp客户端,服务器和依赖包。

2. vim /etc/xinetd.d/tftp

    用编辑器打开tftp的配置文件,修改其中两项server_args和disable。配置如下:

service tftp
{
	socket_type		= dgram
	protocol		= udp
	wait			= yes
	user			= root
	server			= /usr/sbin/in.tftpd
	# server_args		= -s /var/lib/tftpboot
	# disable			= yes
	server_args		= -s /tftpboot -c
	disable			= no
	per_source		= 11
	cps			= 100 2
	flags			= IPv4
}
3. chmod 777 /tftpboot

    将tftpboot权限改到最大化。

4. setenforce 0

    改selinux模式为只记录不拦截。

5. service iptables stop

    关闭防火墙。

6. service xinetd restart

    重启xinetd,相当于是打开tftp服务器。为了保险再执行一句service xinetd enable。也许有些linux不同可以执行chkconfig xinetd on或chkconfig tftp on检查方式。

7. 检查各服务是否成功启动或在成功关闭。

    sestatus

SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   permissive
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      28

    service iptables status

Redirecting to /bin/systemctl status  iptables.service
iptables.service - IPv4 firewall with iptables
   Loaded: loaded (/usr/lib/systemd/system/iptables.service; disabled)
   Active: inactive (dead)

    service xinetd status

Redirecting to /bin/systemctl status  xinetd.service
xinetd.service - Xinetd A Powerful Replacement For Inetd
   Loaded: loaded (/usr/lib/systemd/system/xinetd.service; enabled)
   Active: active (running) since Sun 2013-09-01 09:47:25 CST; 44min ago
  Process: 2352 ExecStart=/usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid $EXTRAOPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 2353 (xinetd)
   CGroup: name=systemd:/system/xinetd.service
           └─2353 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid

    netstat -a | grep tftp

udp        0      0 *:tftp                  *:*    

8. 通过以上还不放心,就自己在本地测试下服务器。

    cd /tftpboot

    touch aaa

    cd /home

    touch bbb

    tftp 127.0.0.1

    get aaa

    put bbb

    q

    以上步骤测试服务器下载和上传功能。成功的话一般home和tftpboot目录下都会有aaa和bbb文件。


以前用的Fedora17,此方法完美使用tftp。但是在Fedora19上问题就来了,通过以上方法,Fedora19本地服务器都能通过,但是通过手机或开发板甚至另外一台主机都无法连接上tftp服务器。头大啊,这么个问题折磨了我好几天,我的调试步骤:

1. 按以往的tftp方法操作

    本地通过,远程不行。

2. 打开以前的U盘Fedora17进行测试

    排除硬件和硬件上tftp客户端问题。

3. 继续尝试各种方法。

    排除依赖包问题。

    重装tftp客户端服务器排除安装失误问题。

    检查tftp官网说明排除64位系统和32系统兼容问题。

    检查Fedora官网说明书基本上能排除方法的问题。

    搜索各英文网站和中文网站更加肯定方法没问题。

   

就这么个服务器,我快被折腾上天了。难道没有解决方法吗,网络上面能找到Fedora19的tftp资料太少了,反复测试中,我都有换回Fedora17的念头了。难道一个偌大的正式版系统连个tftp服务器都不支持吗?绝望中依然坚持着,我也相信Fedora19不会让我失望的。好吧,我把问题解决了。连我自己都被自己的毅力折服了。


解决方法:

    打开防火墙图形界面,输入两次root密码后,在Zone项选择public,然后对右边Services里面tftp和tftp-client进行勾选勾选。奇迹般的通了,我还能说神马,防火墙IPv4都关闭了,居然还有效。哎~不知道是小BUG还是Fedora19太安全了,有的时候不能一根经走到底啊,不能太相信系统的脚本了。

你可能感兴趣的:(linux,64位,TFTP,开发工具,fedora)