tftp服務,安裝起來很簡單,但是由于配置起來時的粗心導緻出現一些錯誤,Error code 0: Permission denied,Error code 1: File not found
經過探索,tftpd-hpa 是一個功能增強的TFTP伺服器。它提供了很多TFTP的增強功能,它已經被移植到大多數的現代UNIX系統
安裝tftp-hpa(用戶端), tftpd-hpa(服務端), xinetd(是什麼)
1、安裝
sudo apt-get install tftp-hpa tftpd-hpa xinetd
2、在建立檔案夾/tftpboot (這個是伺服器的檔案交換目錄,将來客戶機擷取伺服器檔案時就是從這個檔案夾中擷取的,并且修改這個檔案夾的權限為777)
sudo mkdir tftpboot
sudo chmod 777 -R tftpboot
3、修改tftp配置檔案,如果沒有就建立
sudo vim /etc/xinetd.d/tftp
檔案内容為:
service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot -c -c參數是允許上傳用的,參數/tftpboot則是你的tftp目錄,修改成你的目錄即可
source = 11
cps = 100 2
flags =IPv4
}
4、修改inetd.conf檔案
sudo vim /etc/inetd.conf
一般這個檔案在打開的時候裡面是有内容的,隻要在最後添加下面内容即可:
tftp dgram udp wait nobody /usr/sbin/tcpd
/usr/sbin/in.tftpd /tftpboot //此處檔案目錄就是上面說道的伺服器檔案交換目錄
5、修改tftpd-hpa檔案
sudo vim /etc/default/tftpd-hpa
内容為:
#RUN_DAEMON="no"
#OPTIONS="-s /home/zyp/tftpboot -c -p -U tftpd"
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot" //此處檔案目錄就是上面說道的伺服器檔案交換目錄
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s" //這裡是選項
6、重新開機服務
sudo service tftpd-hpa restart
sudo /etc/init.d/xinetd reload
sudo /etc/init.d/xinetd restart
7、測試服務tftp是否啟動
netstat -a|grep tftp
顯示 :
udp 0 0 *:tftp *:*
則啟動服務了
8、測試tftp
出現下面成功
9、出現錯誤:
【錯誤】Error code 0: Permission denied,是因為tftpboot檔案夾沒有權限,或者是要上傳和下載下傳的檔案沒有權限。
【解決】修改權限
sudo chmod 777 -R /tftpboot
【錯誤】Error code 1: File not found,原因1:指定的檔案不存在;原因2:tftpd啟動參數中沒有指定-c選項;原因3:目錄有問題,因為安裝的時候預設的tftp目錄是 【/var/lib/tftpboot】,您可以把test檔案放在這個目錄中重新測試一下,如果正确說明猜想是正确的。
【解決】原因1和原因2都好解決,這裡隻解決原因3:重新開機服務或者重新開機系統
10、xinetd是什麼?
xinetd即extended internet daemon,xinetd是新一代的網絡守護程序服務程式,又叫超級Internet伺服器。經常用來管理多種輕量級Internet服務。xinetd提供類似于inetd+tcp_wrapper的功能,但是更加強大和安全。