Fedora 10 安裝 Linux TFTP server
為了要在 Linux 的環境中建立如同 Windows 中的超級終端機與 Poor TFTP Server 的工作環境,因此找到一些資料來在 Linux 中建立這樣的環境...
1.1 檢查是否已經安裝 TFTP server ,使用指令 rpm -q tftp-server ,如果有顯示版本的資訊,那就是有安裝啦(請跳步驟1.3)。
1.2 用 yum 安裝 tftp-server # yum install tftp-server
ps:需要 "xinetd-2.3.14-20.fc10.i386.rpm" & "tftp-server-0.49-1.fc10.i386.rpm"
1.3 建立一個給 tftp 用的資料夾,先用 mkdir tftpboot,在設定擁有者 chown nobody:nobody tftpboot。
1.4 然後編輯 /etc/xinetd.d/tftp 的檔案如下:
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -u nobody -c -s /home/cdarkz/tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
特別要注意的是紅色字體,disable = no 就是把tftp的服務打開,而 server_args 其中的 -u nobody 應該是指 tftp 所使用的使用者,而 -c 則是允許在資料夾下建立檔案(沒有此參數的話就是只能讀取檔案),-s /home/cdarkz/tftpboot 是設定tftp的根目錄,這裡要注意上一步所建立資料夾的位置,要打上完整的絕對路徑。
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -u nobody -c -s /home/cdarkz/tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
特別要注意的是紅色字體,disable = no 就是把tftp的服務打開,而 server_args 其中的 -u nobody 應該是指 tftp 所使用的使用者,而 -c 則是允許在資料夾下建立檔案(沒有此參數的話就是只能讀取檔案),-s /home/cdarkz/tftpboot 是設定tftp的根目錄,這裡要注意上一步所建立資料夾的位置,要打上完整的絕對路徑。
1.5 接下來如果主機有設定防火牆的話,要把 port 69 給打開,在 Fedora 的視窗環境下選擇[Applications] → [System Settings] → [Security Level] ,在下面的 Other ports 加入 69:udp 或是在 Trusted devices 開啟 eth0。
1.6 最後執行 /etc/rc.d/init.d/xinetd reload或/etc/rc.d/init.d/xinetd restart
參考:http://blog.yam.com/cdarkz/article/3094069
server_args = -s /home/cdarkz/tftpboot 改成這樣,可以不使用 絕對路徑
測試 tftp server 是否正常
1.
# tftp 127.0.0.1
tftp> get aaa
tftp>
tftp> q
tftp> get aaa
tftp>
tftp> q
2.
netstat -anp | grep tftp
正常來說 會跑出下面這行
unix 2 [ ] DGRAM 437879 22799/in.tftpd
正常來說 會跑出下面這行
unix 2 [ ] DGRAM 437879 22799/in.tftpd
如果不行, 應該就是 SELinux 在做怪, 把它關掉, 重開應該就可以了.
留言
張貼留言