Ubantu tftp配置方法及常見錯誤

一、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 是不是配置好

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章