每次配置都得搜索,很恼火。这里记录一下。Ubuntu下配置tftp服务器主要有两个tftpd和tftpd-hpa,后者较新。前者较老。建议安装后者。方法如下:
1.安装TFTP软件
sudo apt-get install tftp-hpa tftpd-hpa
tftp-hpa是客户端,tftpd-hpa是服务器端
2.配置TFTP服务器
sudo gedit /etc/default/tftpd-hpa
内容如下:
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s"
-
3. 建立文件夹
sudo mkdir /tftpboot
sudo chmod 777 -R /tftpboot
sudo chown nobody:nogroup /tftpboot
4.重新启动TFTP服务
sudo service tftpd-hpa restart
-
5. 判断是否启动
$ ps aux | grep tftp
root 4500 0.0 0.0 15128 152 ? Ss 00:13 0:00 /usr/sbin/in.tftpd --listen --user tftp --address 0.0.0.0:69 -l -c -s /tftpboot
$ sudo lsof -i:69
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
in.tftpd 4500 root 4u IPv4 34967 0t0 UDP *:tftp
-
6. 测试下
$ cd /tftpboot echo "hello tftp service">>a.txt
$ echo "hello tftp service,put to tftp serive">>b.txt
$ tftp localhost
tftp> get a.txt
tftp> put b.txt
tftp> quit
其中get是取得文件,put是将文件上传到TFTP服务器上。
注意事项:
1. 不要有/etc/xinetd.d/tftp
这个文件,这个是tftpd使用的;
2. 出现transfer timed out
按照上面步骤进行排查;