如果你是用 TFTP 做 PXE 啟動,請選擇 atftp 或 tftpd-hpa ,因為它要比 tftpd 更強大,并可以選擇daemon模式。
我用tftp只是用來升級固件,不過也選擇了atftp,并且選擇Daemon模式,因為配置更簡單啊,而且不用安裝inetd服務。
[inbi@debian ~]#aptitude -y install atftpd atftp
#安裝 atftpd 和 atftp。
[inbi@debian ~]#useradd -m -d /home/atftpd -s /sbin/nologin atftpd
#為 atftpd 建立一個用戶
我只是用TFTP做固件升級,所以配置很簡單,如下:
[inbi@debian ~]#vim /etc/default/atftpd
USE_INETD=false
OPTIONS="--daemon --port 69 --user atftpd --group atftpd /home/atftpd"
#USE_INETD=false 不使用超級服務器
#--daemon 不使用超級服務器
#--user 改變服務器用戶身份
#--group 改變服務器用戶組身份
#/home/atftpd 指定tftp服務器的根目錄,讀寫操作只需設置好用戶權限就可以了。
復雜一點的,可以用于PXE啟動。
[inbi@debian ~]#vim /etc/default/atftpd
USE_INETD=false
USE_INETD=false
OPTIONS="--retry-timeout 3 --mcast-port 1758 --mcast-addr 239.239.239.0-255 --mcast-ttl 1 --maxthread 100 --verbose 5 --bind-address 192.168.3.249 --port 69 --user atftpd --group atftpd /home/atftpd"
#--retry-timeout 傳輸等待超時
#--mcast-port 多播端口
#--mcast-addr 指定多播傳輸地址范圍
#--mcast-ttl 指定多播數據包的TTL,默認值設為1,一般不要改動。
#--verbose 日志記錄等級
#--bind-address 指定監聽的IP地址,就是指定服務器IP地址。
什么是TFTP?
TFTP(Trivial File Transfer Protocol,簡單文件傳輸協議)是TCP/IP協議族中的一個用來在客戶機與服務器之間進行簡單文件傳輸的協議,提供不復雜、開銷不大的文件傳輸服務。它基于UDP協議而實現,端口號為69。
此協議設計的時候是進行小文件傳輸的。因此它不具備通常的FTP的許多功能,它只能從文件服務器上獲得或寫入文件,不能列出目錄,不進行認證。 TFTP傳輸有三種模式:1、netascii,這是8位的ASCII碼形式;2、octet,這是8位源數據類型;3、mail,已經不再支持,它將返回的數據直接返回給用戶而不是保存為文件。
TFTP目前常用于嵌入式設備的固件升級,如:交換機,和無盤啟動PXE。