背景
按说在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