搭建过无数次 tftp 服务器。因为自己不喜欢做笔记,每一次都认为下一次就不用折腾了, 结果每一次都费劲周折。这一次狠狠心总结一下。
每一次搭建基本都是靠百度搜索,发现有时候搜出好用,有的搜出来就不好用。我想原因不过有二。
一、 每个人搭建的平台肯定是不同的。
我用的Linux 版本是 ubuntu16.04.
二、安装的 tftp server 不同。
我在安装 tftp server 的时候,发现有好几个版本的 ttftp server。一个是tftpd, 另外一个是 tftpd-hpa。
到底改用哪一个呢?
当然每个都能用,但是必须不能搞混了。而且网上的资料都是这两个版本的混杂,所以想我这样不熟悉配置的人,基本懵逼了。
这两个有什么区别?这个靠百度—S*B, 是甭想知道了。下面是我收到的一句话:“tftp-hpa is an enhanced version of the BSD TFTP client and server. It possesses a number of bugfixes and enhancements over the original.”。也就是说 tftp-hpa 是 tftp 的一个加强版,所以我们最好选用 tftp-hpa 。
好了,废话这么多,现在说说怎样搭建服务器吧。
一、基于 tftpd-hpa
1. 安装
sudo apt-get install tftpd-hpa xinetd tftp
安装完成后,可以通过 netstate 来检测是否正常工作
$ netstat -a | grep tftp udp 0 0 *:tftp *:* udp6 0 0 [::]:tftp [::]:*
tftpd-hpa 的默认配置目录是, /etc/default/tftpd-hpa
2. 修改配置文件
sudo vi /etc/default/tftpd-hpa
TFTP_OPTIONS="--secure"
change to
TFTP_OPTIONS="--secure --create"
3. 修改共享文件,重启服务器
cd ~/tftpboot
touch test
echo "hello tftp!" > tftpboot
cd ..
sudo chown -R tftp tftpboot/ chmod -R 777 tftpboot/ sudo chmod -R 777 tftpboot/ sudo service tftpd-hpa restart
4. 在另外一台机器上测试(前提两天机器网络必须联通啊。。)
$ tftp 10.238.233.60 tftp> get test Received 13 bytes in 0.0 seconds tftp> quit $ ls test $ cat test hello tftp!
二、基于tftpd
待完善
3. 修改共享文件,重启服务器
cd ~
sudo chown -R tftp tftpboot/ chmod -R 777 tftpboot/ sudo chmod -R 777 tftpboot/ sudo service tftpd-hpa restart