W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
簡(jiǎn)單文件傳輸協(xié)議(Trivial File Transfer Protocol,TFTP)是一種基于UDP協(xié)議在客戶端和服務(wù)器之間進(jìn)行簡(jiǎn)單文件傳輸?shù)膮f(xié)議。顧名思義,它提供不復(fù)雜、開銷不大的文件傳輸服務(wù)(可將其當(dāng)作FTP協(xié)議的簡(jiǎn)化版本)。
TFTP的命令功能不如FTP服務(wù)強(qiáng)大,甚至不能遍歷目錄,在安全性方面也弱于FTP服務(wù)。而且,由于TFTP在傳輸文件時(shí)采用的是UDP協(xié)議,占用的端口號(hào)為69,因此文件的傳輸過(guò)程也不像FTP協(xié)議那樣可靠。但是,因?yàn)門FTP不需要客戶端的權(quán)限認(rèn)證,也就減少了無(wú)謂的系統(tǒng)和網(wǎng)絡(luò)帶寬消耗,因此在傳輸瑣碎(trivial)不大的文件時(shí),效率更高。
接下來(lái)在系統(tǒng)上安裝TFTP的軟件包,進(jìn)行體驗(yàn)。
[root@linuxprobe ~]# yum install tftp-server tftp
Loaded plugins: langpacks, product-id, subscription-manager
………………省略部分輸出信息………………
Installing:
tftp x86_64 5.2-11.el7 rhel 35 k
tftp-server x86_64 5.2-11.el7 rhel 44 k
Installing for dependencies:
xinetd x86_64 2:2.3.15-12.el7 rhel 128 k
Transaction Summary
================================================================================
Install 2 Packages (+1 Dependent package)
Total download size: 207 k
Installed size: 373 k
Is this ok [y/d/N]: y
Downloading packages:
………………省略部分輸出信息………………
Installed:
tftp.x86_64 0:5.2-11.el7 tftp-server.x86_64 0:5.2-11.el7
Dependency Installed:
xinetd.x86_64 2:2.3.15-12.el7
Complete!
在RHEL 7系統(tǒng)中,TFTP服務(wù)是使用xinetd服務(wù)程序來(lái)管理的。xinetd服務(wù)可以用來(lái)管理多種輕量級(jí)的網(wǎng)絡(luò)服務(wù),而且具有強(qiáng)大的日志功能。簡(jiǎn)單來(lái)說(shuō),在安裝TFTP軟件包后,還需要在xinetd服務(wù)程序中將其開啟,把默認(rèn)的禁用(disable)參數(shù)修改為no:
[root@linuxprobe ~]# vim /etc/xinetd.d/tftp
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
然后,重啟xinetd服務(wù)并將它添加到系統(tǒng)的開機(jī)啟動(dòng)項(xiàng)中,以確保TFTP服務(wù)在系統(tǒng)重啟后依然處于運(yùn)行狀態(tài)??紤]到有些系統(tǒng)的防火墻默認(rèn)沒(méi)有允許UDP協(xié)議的69端口,因此需要手動(dòng)將該端口號(hào)加入到防火墻的允許策略中:
[root@linuxprobe ~]# systemctl restart xinetd
[root@linuxprobe ~]# systemctl enable xinetd
[root@linuxprobe ~]# firewall-cmd --permanent --add-port=69/udp
success
[root@linuxprobe ~]# firewall-cmd --reload
success
TFTP的根目錄為/var/lib/tftpboot。我們可以使用剛安裝好的tftp命令嘗試訪問(wèn)其中的文件,親身體驗(yàn)TFTP服務(wù)的文件傳輸過(guò)程。在使用tftp命令訪問(wèn)文件時(shí),可能會(huì)用到表11-5中的參數(shù)。
表11-5 tftp命令中可用的參數(shù)以及作用
參數(shù) | 作用 |
---|---|
? | 幫助信息 |
put | 上傳文件 |
get | 下載文件 |
verbose | 顯示詳細(xì)的處理信息 |
status | 顯示當(dāng)前的狀態(tài)信息 |
binary | 使用二進(jìn)制進(jìn)行傳輸 |
ascii | 使用ASCII碼進(jìn)行傳輸 |
timeout | 設(shè)置重傳的超時(shí)時(shí)間 |
quit | 退出 |
[root@linuxprobe ~]# echo "i love linux" > /var/lib/tftpboot/readme.txt
[root@linuxprobe ~]# tftp 192.168.10.10
tftp> get readme.txt
tftp> quit
[root@linuxprobe ~]# ls
anaconda-ks.cfg Documents initial-setup-ks.cfg Pictures readme.txt Videos
Desktop Downloads Music Public Templates
[root@linuxprobe ~]# cat readme.txt
i love linux
當(dāng)然,TFTP服務(wù)的玩法還不止于此,第19章會(huì)將TFTP服務(wù)與其他軟件相搭配,組合出一套完整的自動(dòng)化部署系統(tǒng)方案。大家繼續(xù)加油!
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: