每次配置都得搜索,很恼火。这里记录一下。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
按照上面步骤进行排查;