NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
以两台服务器为例,一台作为服务端,一台为客户端进行挂载。
- A:192.168.1.225 (服务端)
- B:192.168.1.226 (客户端)
yum安装
两台服务器分别执行:yum -y install nfs-utils rpcbind
进行安装服务。
服务端配置
mkdir /usr/local/test ### 创建共享目录
vi /etc/exports ### 编辑配置文件
### 将这行添加到配置文件中保存
/usr/local/test/ 192.168.1.226(rw,no_root_squash,no_all_squash,sync)
service rpcbind start ### 启动rpcbind服务
设置端口固定
NFS每次启动的时候都是随机端口,这样可能被防火墙拦截,我们可以将其设置为固定端口,并放行:
### 编辑配置文件
vi /etc/sysconfig/nfs
### 将下面的内容添加到配置文件中
MOUNTD_PORT="825"
STATD_PORT="909"
LOCKD_TCPPORT="4004"
LOCKD_UDPPORT="4004"
RQUOTAD_PORT="909"
端口设置好之后输入命令重启相关服务:service rpcbind restart
和service nfs restart
放行端口
可以直接vi /etc/sysconfig/iptables
编辑iptables规则,将下面的内容添加到iptables中:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 111 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 111 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 825 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 825 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 909 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 909 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 2049 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 2049 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 4004 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 4004 -j ACCEPT
输入:service iptables restart
重启iptables生效
客户端配置
mkdir /usr/local/test ### 创建挂载目录
showmount -e 192.168.1.225 ### 测试挂载
mount -t nfs 192.168.1.225:/usr/local/test /usr/local/test ### 挂载
如果需要设置开机自动挂载,那么将下面的信息添加到:/etc/fstab
vi /etc/fstab ### 编辑配置文件,将下面规则加入,IP和目录请自行调整
server_IP:/remote_dir /local_dir nfs defaults 1 1
自动挂载的前提是服务端将NFS设置为开启自启,否则会有异常。
其它说明
NFS不仅可以挂载内网目录,还可以挂载公网文件也是可行的,如果挂载的时候遇到端口问题,可以在服务端停止iptables试一下:service iptables stop
以上内容参考了:
NFS固定端口配置
centos6.4 64位下安装nfs文件共享系统
谢谢分享!正需要这个资料。