JZ2440开发笔记(3)——配置TFTP
第一步:
1.关闭ubuntu的防火墙 ufw disable
2.卸载了iptables apt-get remove iptables
1.用iptables -F这个命令来关闭防火墙,但是使用这个命令前,千万记得用iptables -L查看一下你的系统中所有链的默认target,iptables -F这个命令只是清除所有规则,只不会真正关闭iptables.想象一下,如果你的链默认target是DROP,本来你有规则来允许一些特定的端口, 但一旦应用iptables -L ,清除了所有规则以后,默认的target就会阻止任何访问,当然包括远程ssh管理服务器的你.
所以我建议的关闭防火墙命令是
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F
总之,当你要在你的服务器上做任何变更时,最好有一个测试环境做过充分的测试再应用到你的服务器.除此之外,要用好iptables,那就要理解 iptables的运行原理,知道对于每一个数据包iptables是怎么样来处理的.这样才能准确地书写规则,避免带来不必要的麻烦.
2.默认情况下ubuntu无firewall,除非你自己安装了,怎么装的就怎么删呗。。
如果是已启用的自备的iptables 删了就行了
sudo apt-get remove iptables
第二步:安装服务
安装tftp-hpa tftpd-hpa xinetd
# apt-get install tftp-hpa tftpd-hpa xinetd
第三步:在创建文件夹/tftpboot (这个是服务器的文件交换目录,将来客户机获取服务器文件时就是从这个文件夹中获取的),并且修改这个文件夹的权限为777
#mkdir /tftpboot
#chmod -R 777 /tftpboot
第四步:修改tftp配置文件,如果没有就创建,我喜欢用vim
#vim /etc/xinetd.d/tftp
文件内容为:
service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot //此处文件目录就是上面说道的服务器文件交换目录
source = 11
cps = 100 2
flags =IPv4
}
第五步:修改xinetd.conf文件
# vim /etc/xinetd.conf
一般这个文件在打开的时候里面是有内容的,只要在最后添加下面内容即可:
tftp dgram udp wait nobody /usr/sbin/tcpd
/usr/sbin/in.tftpd /tftpboot //此处文件目录就是上面说道的服务器文件交换目录
第六步:修改tftpd-hpa文件
# vim /etc/default/tftpd-hpa
内容为:
#RUN_DAEMON="no"
#OPTIONS="-s /home/zyp/tftpboot -c -p -U tftpd"
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot" //此处文件目录就是上面说道的服务器文件交换目录
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s"
第七步:重启服务
# service tftpd-hpa restart
# sudo /etc/init.d/xinetd reload
# sudo /etc/init.d/xinetd restart
netstat -a|grep tftp
显示 :
udp 0 0 *:tftp *:*
则启动服务了
第八步:本地测试
(1)在/tftpboot 下创建测试文件test,并修改test的文件权限
#cd /tftpboot
#touch test
#chmod 777 test
(2)测试一下 tftp服务:
#cd /
#tftp 127.0.0.1 # sudo tftp localhost
tftp>get test
tftp>q
#ls
查看当前目录,发现test 文件已在当前目录,此时tftp搭建成功!