当前位置: > Linux发行版 > Fedora >

Fedora19配置tftp服务器

时间:2015-01-11 23:09来源:IT 作者:IT
项目需要,所以按照往常的方式进行安装和配置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太安全了,有的时候不能一根经走到底啊,不能太相信系统的脚本了。


(责任编辑:IT)
------分隔线----------------------------