tftp 是一種檔案傳輸協議,類似於 ftp,但它不用進行使用者認證也不能列出目錄。tftp 伺服器總是監聽網路上的 pxe 客戶端的請求。當它檢測到網路中有 pxe 客戶端請求 pxe 服務時,它將提供包含引導選單的網路資料報。
1.安裝
#$ sudo apt install tftp-hpa tftpd-hpa openbsd-inetd
$ sudo apt install tftp-hpa tftpd-hpa
## 這樣就可以了。
2.建立tftp伺服器根目錄/tftpboot
$ sudo mkdir -p /tftpboot/
$ sudo chmod 0777 /tftpboot/
3.修改配置檔案
## $ sudo vim /etc/inetd.conf
## 這個是openbsd-inetd的配置檔案,其中的配置是提供開機啟動的
## 後期發現tftpd-hpa會開機自起,不需要進行配置。
## 如果配置了,反而因為埠衝突而造成失敗
# 如果tftp可以開機自起,就不必配置了,否則反而因為埠衝突而失敗
#tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /tftpboot
$ sudo vim /etc/default/tftpd-hpa
tftp_username="tftp"
tftp_directory="/tftpboot"
tftp_address=":69"
#tftp_options="--secure"
tftp_options="-l -c -s"
run_daemon="yes"
options="-l-s /tftpboot"
4.啟動
$ sudo update-inetd --enable boot
$ sudo service tftpd-hpa start/restart
5.測試
$ sudo netstat -lu
出現一下內容為正常:
proto recv-q send-q
local address foreign address state
udp 0
0*:tftp *:*
$ vim /tftpboot/test.txt
隨便寫入什麼內容:
is used to test the tftp server
$ tftp server-ip
tftp-> get test.txt
tftp-> quit/exit
在本地開啟檔案檢視內容
6.異常維護
曾出現過得情況:
在配置檔案正常地情況下,重啟伺服器後tftp服務狀態異常: /etc/init.d/tftpd-hpa status
● tftpd-hpa.service - lsb: hpa's tftp server
loaded: loaded (/etc/init.d/tftpd-hpa; bad; vendor preset: enabled)
active: failed (result: exit-code) since wed 2017-05-07
10:56:19 utc; 1min 17s ago
docs: man:systemd-sysv-generator(8)
process: 3971 execstart=/etc/init.d/tftpd-hpa start (code=exited, status=71)
feb 07
10:56:19 host001 systemd[1]: starting lsb: hpa's tftp server...
feb 07
10:56:19 host001 tftpd-hpa[3971]: * starting hpa's tftpd in.tftpd
feb 07
10:56:19 host001 systemd[1]: tftpd-hpa.service: control process exited, code=exited status=71
feb 07
10:56:19 host001 systemd[1]: failed to start lsb: hpa's tftp server.
feb 07
10:56:19 host001 systemd[1]: tftpd-hpa.service: unit entered failed state.
feb 07
10:56:19 host001 systemd[1]: tftpd-hpa.service: failed with result 'exit-code'.
重啟也是失敗的:/etc/init.d/tftpd-hpa restart
[....] starting tftpd-hpa (via systemctl): tftpd-hpa.servicejob for tftpd-hpa.service failed because the control process exited with error code. see "systemctl status tftpd-hpa.service"
and"journalctl -xe"
for details.
failed!
解決:
發現其實tftp服務會開機自動啟動,不需要openbsd-inetd再去啟動一次。以上問題的原因是openbsd-inetd已經啟動了乙個tftp服務,佔了69埠,但是tftp服務本身會開機自起,所以會出現失敗。
只要將/etc/inetd.conf中對tftp的開機自起注釋並重啟openbsd-inetd就可以了。
ubuntu tftp服務的配置
ubuntu tftp服務的配置步驟 sudo apt get install tftpd tftp xinetd 2 建立配置檔案 在 etc xinetd.d 下建立乙個配置檔案tftp sudo vim tftp 在檔案中輸入以下內容 service tftp 儲存退出 sudo mkdir ...
ubuntu tftp伺服器配置
yelei ubuntu sudo apt get install tftpd tftp xinetd 2 建立配置檔案 在 etc xinetd.d 下建立乙個配置檔案tftp yelei ubuntu etc xinetd.d sudo gedit tftp 在檔案中輸入 以下內容 servic...
ubuntu tftp服務安裝和配置
1 安裝相關軟體包 ubuntu tftp 服務端 tftp 客戶端 xinetd sudo apt get install tftpd tftp xinetd 2 建立配置檔案 在 etc xinetd.d 下建立乙個配置檔案tftp sudo vim tftp在檔案中輸入以下內容 service...