背景
按說在Linux下安裝tftp server 很簡單,之前操作過很多次了。這次也是直接從網上搜索,搜出了很多內容。之前都是在Centos下安裝的,這次是第一次在Ubuntu下安裝,看那些內容有些不太一樣,但是大同小異。
失敗方案
下面的操作是按照網上來的:
安裝軟件
apt-get install xinetd tftp tftpd
修改配置文件
vi /etc/xinetd.d/tftp
service tftp
{
protocol = udp
port = 69
socket_type = dgram
wait = yes
user = nobody
server = /usr/sbin/in.tftpd
server_args = -s /root/tftpboot -c
disable = no
}
創建目錄
mkdir /root/tftpboot
chmod 777 /root/tftpboot
啓動服務
/etc/init.d/xinetd restart
查看服務
netstat -an | more | grep udp
udp 0 0 0.0.0.0:69 0.0.0.0:*
測試
tftp 127.0.0.1
tftp> get hello
Error code 2: Access violation
此次出現了錯誤,網上也衆說不一。
最終的解決方案是:vi /etc/inetd.conf
註釋掉下面這句話:
tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /root/tftpboot
再次測試
Transfer timed out
直接無語,安裝個TFTP這麼折騰,再次上網搜索,終於發現了一篇文章。他裏面給出的結論是上面的操作也是不成功的,接着給出了新的解決方案。
成功方案
安裝軟件
apt-get install tftp-hpa tftpd-hpa xinetd
修改配置
vi /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/root/tftpboot"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="--secure -c"
重啓服務
service tftpd-hpa restart
測試
tftp 127.0.0.1
tftp> get hello
tftp> quit
成功!
NFS
安裝軟件
apt-get install nfs-kernel-server
修改配置
vi /etc/exports
/root/rootfs *(rw,sync,no_root_squash)
exportfs -a
重啓服務
/etc/init.d/rpcbind restart
/etc/init.d/nfs-kernel-server restart
測試
mount -t nfs 192.168.2.104:/root/rootfs /mnt/
參考
http://liucw.blog.51cto.com/6751239/1223695
http://jacoxu.com/ubuntu-14-04%E4%B8%8Bnfs%E5%AE%89%E8%A3%85%E9%85%8D%E7%BD%AE/
https://unix.stackexchange.com/questions/106122/mount-nfs-access-denied-by-server-while-mounting-on-ubuntu-machines