一、tftp配置方法
1:安裝openbsd-inetd
sudo apt-get install tftp tftpd openbsd-inetd
特別指出很多文章裏用的是netkit-inetd,但是實際下載時發現
這個軟件是下不到的,特改用openbsd-inetd,實驗效果不錯。
2:在根目錄下創建文件夾 tftpboot
cd /
sudo mkdir tftpboot 建立文件夾
sudo chmod 777 tftpboot 更改文件夾權限
3:修改 /etc/inetd.conf
sudo gedit /etc/inetd.conf 修改成如下樣子
tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftpboot
(上面這是一行,注意不要分開)
4:修改tftpd文件
sudo gedit /etc/xinetd.d/tftpd 修改成如下樣子(如果沒有tftpd文件就創建它)
(注意文件名是tftpd)
service tftp
{
disable = no
socket_type = dgramprotocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot -c
source = 11
cps = 100 2
}
5:修改tftpd-hpa
sudo gedit /etc/default/tftpd-hpa 修改成如下樣子
RUN_DAEMON="no"
OPTIONS="-s /tftpboot -c -p -U tftpd"
6:啓動tftp
sudo /etc/init.d/openbsd-inetd reload
sudo /etc/init.d/xinetd restart
sudo in.tftpd -l /tftpboot
7: 在tftpboot文件夾下新建測試文件 aaa
cd /tftpboot
sudo touch aaa
sudo chmod 777 aaa
8: 開始測試tftp服務
cd /home
tftp 192.168.1.111
get /tftpboot/aaa
如果沒有出現錯誤代碼且在home目錄下出現aaa文件則證明tftp
服務建立成功
二、常見錯誤處理
1.
tftp> get file
ransfer timed out.
原因:
tftpd服務沒有啓動
解決方法:啓動服務
sudo /etc/init.d/xinetd restart
sudo /etc/init.d/tftpd-hpa restart
tftp> get file
Error code 2: Only absolute filenames allowed
原因:
在/etc/xinetd.d/tftpd中設置的server_args爲/etc/default/tftpd-hpa
下面是我的機器上/etc/default/tftpd-hpa配置
/etc/default/tftpd-hpa
RUN_DAEMON="yes"
TFTP_ADDRESS="0.0.0.0:69"
OPTIONS="-s /home/tftpd -c -p -U 077 -u tftpd"
tftp> put file
Error code 1: File not found
原因:
指定的文件不存在;或tftpd啓動參數中沒有指定-c選項,允許上傳文件~上傳的時候一定要確保文件先存在於上傳目錄下。
4.
tftp> get file
tftp: : Permission denied
原因:
權限不足
請查看chmod 是不是配置好