在Ubuntu14中配置TFTP服务器
在Ubuntu14中配置TFTP服务器
sudo apt-get install xinetd
尤其是有人要求安装xinetd,然后还要配置这个xinetd.conf文件,事实证明根本没必要,如果你按照这个来,我运行半天总是time out。
sudo apt-get install tftp-hpa tftpd-hpa
进入/etc/xinetd.d/文件夹,查看该目录下是否有一个tftp文件,如果没有就新建一个,如果有的话就查看内容是否与下面的一致,不一致则修改/etc/xinetd.d/tftp内容为:
gedit /etc/xinetd.d/tftp
service tftp
{
socket_type=dgram
protocol=udp
wait=yes
user=root//修改为你登录系统的用户名
server=/usr/sbin/in.tftpd
server_args=-s /home/zxc/tftpboot –c /tftpboot为你存放TFTP的文件目录,我使用的是/home/xxx/Learning/tftpboot这个路径
disable=no
per_source=11
cps=100 2
flags=IPv4
}这里注意“user = ” 后面的用户名,很多帖子写的都是root用户,我之前也用过几次,并没有什么问题,可是这一次怎么也ping不到ubuntu系统,因此自己改成了当前的用户名,如果你也出现和我一样的问题,可以尝试一下
server_args = -s /tftpboot –c
-c参数是允许上传用的,参数/tftpboot则是你的tftp目录,修改成你的目录即可。第一个是disabled选项,如果是yes,TFTP服务器是关闭的,修改为no启动TFTP服务器
修改/etc/default/tftpd-hpa配置文件。 将/etc/default/tftpd-hpa内容修改为:
gedit /etc/default/tftpd-hpa
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/zxc/tftpboot"//将/tftpboot改成你自己建立的tftpboot文件夹路径,我使用的是/home/xxx/Learning/tftpboot这个路径
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s"
其中/home/zxc/tftpboot是你,tftp服务的共享文件夹,路径可以自己定义,只要在对应的路径下建一个该文件夹即可
69表示tftp协议的端口号
OPTIONS部分表示其操作权限,有些贴子也写成“--secure”
建立tftp传输目录。创建用户下载的文件存放目录
mkdir /home/zxc/tftpboot
修改该文件夹的执行权限
sudo chmod -R 777 /home/zxc/tftpboot
重启xinetd和tftp服务
sudo /etc/init.d/tftpd-hpa restart
sudo /etc/init.d/xinetd reload
sudo /etc/init.d/xinetd restart
使用TFTP服务器的前提:
a、Linux系统与window系统能相互ping通
b、关闭Linux、Window的防火墙。运行 sudo ufw disable 命令关闭Linux防火墙(防火墙在系统启动时自动禁用)。
关闭防火墙
ufw disable
测试tftp服务
a. 到/home/zxc/tftpboot文件夹下面建立一个test文本文件,输入一些内容
b. 然后在另外一个目录下执行如下命令(192.168.1.102为本机IP地址):
c. tftp 192.168.1.102 (这个地址是本地ip)
d. tftp > get test
e. tftp > q
d. cat test
如果在当前目录下多出了一个test文件,并且test文件的内容跟/tftpboot目录下test文件的内容一致,则tftp可以正常使用。