1 安裝tftp-server sudo apt-get install tftpd-hpa sudo apt-get install tftp-hpa(如果不需要客戶端可以不安裝) 2 配置tftp伺服器 第1步: 修改/etc/default/tftpd-hpa配置文件。 將/etc/defau ...
1 安裝tftp-server
sudo apt-get install tftpd-hpa
sudo apt-get install tftp-hpa(如果不需要客戶端可以不安裝)
2 配置tftp伺服器
第1步: 修改/etc/default/tftpd-hpa配置文件。 將/etc/default/tftpd-hpa內容修改為:
# /etc/default/tftpd-hpa TFTP_USERNAME="tftp" TFTP_DIRECTORY="/tftpboot " //tftp伺服器文件目錄 TFTP_ADDRESS="0.0.0.0:69" TFTP_OPTIONS="-l -c -s" //這裡是選項 |
第2步:新建/修改/etc/xinetd.d/tftp配置文件 。
進入/etc/xinetd.d/文件夾,查看該目錄下是否有一個tftp文件,如果沒有就新建一個,如果有的話就查看內容是否與下麵的一致,不一致則修改/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 // tftpboot為你存放TFTP的文件目錄,我使用的是/home/xxx/Learning/tftpboot這個路徑 per_source = 11 cps = 100 2 } |
註意:
server_args = -s /tftpboot –c
-c參數是允許上傳用的,參數/tftpboot則是你的tftp目錄,修改成你的目錄即可。第一個是disabled選項,如果是yes,TFTP伺服器是關閉的,修改為no啟動TFTP伺服器;
3 重啟TFTP服務[重要]
每次修改完配置文件後,都需要重新啟動一下服務。
執行次序:
$ sudo service tftpd-hpa restart //重啟伺服器
$ sudo /etc/init.d/xinetd reload
$ sudo /etc/init.d/xinetd restart //重啟xinetd,tftp的一個腳本
4 測試TFTP服務
使用TFTP伺服器的前提:
a、Linux系統與window系統能相互Ping通
b、關閉Linux、Window的防火牆。運行 sudo ufw disable 命令關閉Linux防火牆(防火牆在系統啟動時自動禁用)。
4.1、測試服務tftp是否啟動
執行命令:netstat -a|grep tftp;當結果顯示 : udp 0 0 *:tftp *:* 則啟動tftp服務了。
4.2、測試tftp
在/tftpboot目錄文件夾路徑/home/xxx/Learning/tftpboot下新建一個文件:
$ touch test
$ echo “tftp test” > test
然後在另外一個目錄下執行如下命令(192.168.1.102為本機IP地址):
$ tftp 192.168.1.102
$ tftp> get test
$ tftp> q
如果在當前目錄下多出了一個test文件,並且test文件的內容跟/tftpboot目錄下test文件的內容一致,則tftp可以正常使用。
5 出現錯誤
【錯誤】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:重啟服務或者重啟系統
Reference:http://blog.csdn.net/u010346967/article/details/46384597