Ubuntu TFTP服務搭建及異常維護

2021-08-15 11:40:46 字數 3109 閱讀 1709

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...