Linux

如何在 CentOS 6.2 上製作可工作的 TFTP 伺服器

  • March 22, 2019

我正在嘗試在 CentOS 6.2 上設置 TFTP 伺服器。配置/etc/xinet.d/tftp文件如下:

service tftp
{
   disable = no
   socket_type     = dgram
   protocol        = udp
   wait            = yes
   user            = root
   server          = /usr/sbin/in.tftpd
   server_args     = -s /tftpboot -vvv
   per_source      = 11
   cps         = 100 2
   flags           = IPv4
}

selinux 和防火牆被禁用。和文件為空/etc/hosts.allow/etc/hosts.deny當我嘗試從 TFTP 伺服器獲取文件時,文件傳輸總是失敗,我看到以下錯誤/var/log/messages

Jul 11 03:16:53 localhost xinetd[4155]: xinetd Version 2.3.14 started with libwrap loadavg labeled-networking options compiled in.
Jul 11 03:16:53 localhost xinetd[4155]: Started working: 1 available service
Jul 11 03:17:00 localhost xinetd[4155]: START: tftp pid=4157 from=192.168.10.3
Jul 11 03:17:00 localhost in.tftpd[4158]: RRQ from 192.168.10.3 filename 1
Jul 11 03:17:00 localhost in.tftpd[4158]: sending NAK (0, Permission denied) to 192.168.10.3
Jul 11 03:17:01 localhost in.tftpd[4159]: RRQ from 192.168.10.3 filename 1
Jul 11 03:17:01 localhost in.tftpd[4159]: sending NAK (0, Permission denied) to 192.168.10.3
Jul 11 03:17:03 localhost in.tftpd[4160]: RRQ from 192.168.10.3 filename 1

tftpboot目錄權限是(命令的輸出)ls -l

drw-rw-rw-.   3 root root  4096 Jul 11 03:32 tftpboot

我還看到該tftpboot目錄以綠色背景顯示(通過ls -l)(與其他文件/目錄不同)(為什麼?我知道綠色背景僅用於粘性位)。

我做錯了什麼?如何使 TFTP 伺服器正常工作?

你的/etc/xinet.d/tftp配置文件是正確的。

的權限/tftpboot應該是 755 或drwxr-xr-x.

確保 chkconfig –list 顯示在 xinetd 下啟用了 tftp。

xinetd based services:
       chargen-dgram:  off
       chargen-stream: off
       daytime-dgram:  off
       .
       .
       rsync:          on
       tcpmux-server:  off
       tftp:           on

我遇到過幾次。

驗證/etc/xinetd.conf您的伺服器是否被命名為允許訪問xinetd守護程序,並檢查您的網路是否/etc/host.allow允許訪問。tftp``in.tftpd

引用自:https://serverfault.com/questions/406927