Fedora18~NFS服务器终于搭建成功
在win7上玩了几天虚拟机,觉得不是很爽!毕竟学的是linux,那好歹也得有个linux的学习环境,于是就安装了双系统。
说起装系统,又觉得要说点了,百度下就知道F18是不能刻到U盘就直接安装的,而是要改syslinux和isolinux两个文件,之后就可以安装了。奇怪的是,我即使改了也装不上。和室友刻好的U盘对比,发现文件有差别,当时还一直不知道why。直到几天后清理硬盘的资料时误把UltraISO给删了,然后就去搜了搜,发现已经更新好多次了,于是想起我当时刻得盘和室友不一样是不是因为软件版本原因。下载之后马上刻盘,果然,刻好后的文件内容分布和室友一样了,然后又试了试装系统,果然可以。这个故事告诉我们,即时的更新软件版本是十分必要的。
好,回到正题。之前说道虚拟机中samba的配置悲剧,其实这次也差不多。为了以后传输大文件的需求,我没有继续那些例程的烧写工作,而是开始了NFS服务器的配置。这又是让我抓耳挠腮的经历。。。。。。
开始当然是百度,跟着百度走:(安装好nfs之后)
1,配置IP
pc端:ip:192.168.0.2 掩码:255.255.255.0 网关:192.168.0.1 DNS: 192.168.0.1
arm板:ip:192.168.0.3 掩码:255.255.255.0 网关:192.168.0.1 DNS: 192.168.0.1 #修改/etc/eth0-setting
2,关闭防火墙和selinux
service iptables stop
setenforce 0
3,配置/etc/exports
/home/chunix/arm *(ro,sync,no_root_squash)
/home/chunix/share 192.168.0.*(ro,sync,no_root_squash) # test
4,开启nfs服务器
service nfs start 开启服务 service nfs status 查看状态 service nfs stop 停止服务 service nfs restart 重启服务
5,终端挂载
mount -t nfs -o nolock 192.168.0.2:/home/chunix/arm /mnt/nfsfolder
mount -t nfs -o nolock 192.168.0.2:/home/chunix/share /mnt/nfsfolder # test
以上是大致配置过程,原本我想把原来出现错误的过程重现,但是结果却是怎么也看不到之前的错误,为了追求务实的精神,所以这里我想分成两部分来说:
一,本来写这篇博客想记录的问题:
rpc mount export: RPC: Unable to receive; errno = No route to host
百度后都说是防火墙问题,使用的方法也都是service iptables stop,结果是不行,不行,还是不行。在确定一定是防火墙问题后,再去找关于防火墙的帖子,这次指定了问题是“完全关闭Fedora18的防火墙”,按着http://www.boh.so/html/2013/doc_0202/1800.html说法,
systemctl disable firewalld.service 关闭了防火墙
vi /etc/sysconfig/selinux 修改SELINUX= disabled 停止了selinux
结果就OK了。
二,在测试过程遇到的问题:
结果错误提示为:
mount: 192.168.0.2:/home/chunix/share failed, reason given by server: Permission denied
mount: mounting 192.168.0.2:/home/chunix/share on /mnt/nfsfolder failed: Bad file descriptor
改共享文件夹的权限 chmod 777 /home/chunix/share
这回决定先在pc上自己挂载看看:mount -t nfs localhost:/home/chunix/share /mnt
显示错误:mount.nfs: access denied by server while mounting localhost:/home/chunix/arm
不知所措,之后尝试了很多次都不行,百度也无果。于是又把localhost换成了主机的IP,结果挂载成功了。难道localhost不是主机IP,在欢喜之余,赶快进行了arm板的挂载,结果还是一样的错误。
因为是在arm目录挂载成功之后测试的,知道可能是因为防火墙问题,于是开始stop防火墙,顺便说下,lokkit --disabled也能禁用防火墙(注意,第一次好像不能使用,我是在第一次使用了systemctl disable firewalld.service关闭了防火墙之后就能使用lokkit了)。但还是不行。挂载arm目录还是可以。猜测是exports问题,于是,也把访问权限改成了全部允许,这次成了。挂载成功。
总结:
1,搭建服务器的注意点:防火墙,权限
2,iptables只是IP 信息包过滤和防火墙配置。
3,localhost不等于IP
4,/home/chunix/arm *(ro,sync,no_root_squash) IP地址之后不要和()之间有空格,否则,该文件即是对所有用户开放。可以用exportfs -v查看共享目录状态
5,/home/chunix/arm 192.168.0.3(ro,sync,no_root_squash) 可以挂载
/home/chunix/arm 192.168.0.*(ro,sync,no_root_squash) 不可以挂载,不知道为什么
6,经验证,之前遇到的samba服务器问题也是防火墙未完全关闭。