1. TFTP服務簡介
TFTP是 Trivial File Transfer Protocol 的縮寫,即簡單檔案傳輸協定,是一個基于 UDP 協定實作的用于在客戶機和伺服器之間進行簡單檔案傳輸的協定,适合于開銷不大、不複雜的應用場合
TFTP協定專門為小檔案傳輸而設計,隻能從伺服器上擷取檔案,或者向伺服器寫入檔案,不能列出目錄,也不能進行認證。TFTP協定傳輸是由用戶端發起的
客戶機和伺服器之間的互動過程如下圖示:
2. Linux下部署TFTP服務
2.1 安裝TFTP服務
- Ubuntu聯網,安裝xinetd(extended internet daemon)托管服務
sudo apt-get install xinetd
- 查詢/etc/下是否存在xinetd.conf檔案,若沒有需自己建立一個,内容修改如下
# Simple configuration file for xinetd
#
# Some defaults, and include /etc/xinetd.d/
defaults
{
}
#表示告訴xinetd要包含的檔案或目錄是/etc/xinetd.d
includedir /etc/xinetd.d
- 建立linux/tftp檔案夾,并賦予可讀可寫可執行權限(777)
mkdir -p /home/andyxi/linux/tftp
sudo chmod 777 /home/andyxi/linux/tftp/
- 安裝tftp-hpa(用戶端)和tftpd-hpa(服務端)服務程式
sudo apt-get install tftp-hpa tftpd-hpa
- 打開tftpd-hpa配置檔案/etc/default/tftpd-hpa,将上面建立的tftp目錄設定為TFTP伺服器工作目錄
TFTP_DIRECTORY="/home/andyxi/linux/tftp"
server tftp
{
socket_type = dgram
wait = yes
disable = no
user = root
protocol = udp
server = /usr/sbin/in.tftpd
server_args = -s /home/andyxi/linux/tftp -c
#log_on_success += PID HOST DURATION
#log_on_failure += HOST
per_source = 11
cps =100 2
flags =IPv4
}
- 重新開機tftpd-hpa服務
sudo service tftpd-hpa restart
- 重新開機xinetd服務
sudo service xinetd restart
2.2 TFTP測試
- 在ubuntu的/home/andyxi/linux/tftp目錄下建立test.c檔案
cd /home/andyxi/linux/tftp
vi test.c
- 在開發闆中執行tftp指令将虛拟機TFTP工作目錄下的test.c檔案拷貝到開發闆中
tftp -g -r test.c 192.168.10.100
- 若檔案被成功傳輸到開發闆上,說明TFTP服務部署成功