天天看點

Linux 下部署 TFTP 服務

1. TFTP服務簡介

TFTP是 Trivial File Transfer Protocol 的縮寫,即簡單檔案傳輸協定,是一個基于 UDP 協定實作的用于在客戶機和伺服器之間進行簡單檔案傳輸的協定,适合于開銷不大、不複雜的應用場合

TFTP協定專門為小檔案傳輸而設計,隻能從伺服器上擷取檔案,或者向伺服器寫入檔案,不能列出目錄,也不能進行認證。TFTP協定傳輸是由用戶端發起的

客戶機和伺服器之間的互動過程如下圖示:

Linux 下部署 TFTP 服務

2. Linux下部署TFTP服務

2.1 安裝TFTP服務

  • Ubuntu聯網,安裝xinetd(extended internet daemon)托管服務
sudo apt-get install xinetd      
Linux 下部署 TFTP 服務
  • 查詢/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服務部署成功

繼續閱讀