项目需要,所以按照往常的方式进行安装和配置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) |