ubuntu 10.04配置tftp服務器

第1步:
安裝tftp所需的軟件。首先需要安裝tftp-hpa,tftpd-hpa,前者是客戶端,後者是服務程序,在終端下輸入 sudo apt-get install tftp-hpa tftpd-hpa,安裝tftp-hpa和tftpd-hpa。然後還需要安裝xinetd,在終端下輸入 sudo apt-get install xinetd,安裝好xinetd。

第2步:
配置相關服務文件。進入根目錄下的etc文件夾(cd /etc/),首先看目錄中有沒有一個xinetd.conf文件,如果沒有則新建一個,有的話查看內容,看是否與下面的一致,若不一致則修改,內容如下:
# Simple configuration file for xinetd  
#  
# Some defaults, and include /etc/xinetd.d/  
defaults  
{  
# Please note that you need a log_type line to be able to use log_on_success ont-size: 12pt; "> # log_type = SYSLOG daemon info  
}  
includedir /etc/xinetd.d 

第3步:
配置tftp服務器
  命令:
sudo vim /etc/default/tftpd-hpa
  將內容修改成
# /etc/default/tftpd-hpa
    TFTP_USERNAME="tftp"
    TFTP_DIRECTORY="/tftpboot"                         
#這是你tftp服務器的工作目錄,自行修改,注意,在新建工作目錄時,最好修改其權限爲777,命令sudo chmod 777 /tftpboot
    TFTP_ADDRESS="0.0.0.0:69"
    TFTP_OPTIONS="-l -c -s"

第4步:
然後進入xinetd.d文件夾(cd xinetd.d),查看是否有一個tftp文件,如果沒有就新建一個,如果有的話就查看內容是否與下面的一致,不一致則修改,內容如下:
service tftp
    {
       socket_type = dgram
       wait = yes
       disable = no
       user = root
       protocol = udp
       server = /usr/sbin/in.tftpd
       server_args = -s /tftpboot
       #log_on_success += PID HOST DURATION
       #log_on_failure += HOST
       per_source = 11
       cps =100 2
       flags =IPv4
    }
其中server_args一行是配置服務器的文件存放的位置,就是進行tftp傳輸的時候,都是從該文件夾中搜索文件的

第5步:
修改所需文件夾的權限。需要修改的文件夾也就是上一步提到的那個服務器文件存放的文件夾,以我的配置文件爲例,創建一個文件夾(sudo mkdir /tftpboot),然後把它可以設置成訪問權限最寬鬆的(sudo chmod 777 /tftpboot),也可以設置成合適的權限。

第6步:
重新啓動服務。sudo service tftpd-hpa restart,這也是我經常疏忽的一步,當配置好tftp的配置文件後,需要重新啓動一下xinetd,在終端中輸入 sudo /etc/init.d/xinetd reload,重新加載一下進程,再輸入 sudo /etc/init.d/xinetd restart,重啓服務。記住,每次修改完配置文件後,都需要重新啓動一下服務。
執行次序:
sudo service tftpd-hpa restart
sudo /etc/init.d/xinetd reload
sudo /etc/init.d/xinetd restart

總結:
   通過以上四步就可以建立好tftp服務器了,可以在本地先進行一下測試。還是以我的配置文件爲例,首先在/tftpboot中新建一個文件file,然後在其中隨便輸入內容;然後進入一個不是/tftpboot的目錄下(原因是避免混淆,因爲在獲取文件是,默認是將想要獲取的文件存放在當前目錄下的);再在終端中輸入 sudo tftp localhost,進入tftp命令符下(可以在其中輸入help查看命令和命令的作用),輸入 get file,如果沒有任何提示,就說明傳輸成功了,然後輸入 q 退出tftp命令符,在當前目錄下就可以看到一個file文件,內容是與開始新建的那個file的內容是一致的。同樣也可以在tftp命令符中輸入 put xx,把xx文件上傳到服務器文件夾中。如果一切ok,那就麼一個可用的tftp服務器就順利搭建成功了。
   對於上面的測試是針對本地測試的,如果想要對其他電腦或者開發板進行tftp傳輸,則在終端輸入 sudo tftp xxx(即目標電腦或目標開發板的ip地址),而且還要關閉ubuntu自帶的防火牆(書上說的),我是直接把防火牆給卸載了(sudo apt-get remove iptables),因爲我覺得對於Linux來說,防火牆可能沒什麼需要把,至少目前爲止我還沒有受到過攻擊。。。當然,想要與其他局域網內的電腦或開發板互聯進行傳輸,還要將這些機器的ip改到同一個段內。好了,通過以上的步驟,就可以通過tftp協議,在電腦和開發板之間進行文件傳輸了,目前的目的就是下載Linux內核和文件系統到開發板。如果有朋友發現了我的不足,都可以給我提出來,我們也可以進行討論。不過還要強調一點,我的這些配置都是針對於ubuntu的,對於其他的系統可能會有所出入的。

 

原文:點擊打開鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章