NFS

参考

  • centos7.1安装配置NFS共享文件系统
  • centos7 下nfs的配置
  • CentOS7安装配置 NFS
  • nfs设置固定端口并添加防火墙规则
  • centos7 安装nfs和设置权限问题
  • 搭建简易NFS服务

1. 安装

# master
yum install nfs-utils rpcbind -y

# client
yum install nfs-utils -y

2. 配置

# 提前创建目录
mkdir -p /data/test

# 允许 "100.64.192.0/18" 网段的主机读写,"*" 表示允许任何主机
cat << EOF > /etc/exports
/data/test 100.64.192.0/18(rw,sync)
EOF

# 使配置生效
# exportfs -arv
exportfs -rv

3. 启动

# 开机启动
systemctl enable rpcbind
systemctl enable nfs-server

# 启动
systemctl restart rpcbind
systemctl restart nfs-server

# 验证
rpcinfo -p
exportfs

# 查看挂载目录权限
cat /var/lib/nfs/etab

4. 固定端口(optional)

# 去掉以下内容的注释,如无则添加;
# 如果已启动nfs-server服务,则重启NFS服务不能解决问题,需要重启服务器,才能将端口固定
vim /etc/sysconfig/nfs
MOUNTD_PORT=892
STATD_PORT=662
STATD_OUTGOING_PORT

vim /etc/modprobe.d/lockd.conf
options lockd nlm_tcpport=32803
options lockd nlm_udpport=32769

# iptables 放行相关端口
vim /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 111 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 662 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 892 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 2049 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 32803 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 111 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 662 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 892 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 32769 -j ACCEPT

5. 客户端

yum install nfs-utils -y

# NFS客户端的操作:
# 1.showmout命令对于NFS的操作和查错有很大的帮助
showmout -a    # 这个参数是一般在NFS SERVER上使用,是用来显示已经mount上本机nfs目录的cline机器
showmout -e    # 显示指定的NFS SERVER上export出来的目录
# 2.mount nfs目录的方法:
mount -t nfs 100.64.198.159:/data/test /mnt/test

# 挂载信息写入 "/etc/fstab" 文件
cat << EOF >> /etc/fstab
100.64.198.159:/data/test /mnt/test nfs defaults 1 2
EOF

6. 补充:关于权限的说明

  • 1)、客户端连接时,对普通用户的检查
    • a. 如果明确设定了普通用户被压缩的身份,那么此时客户端用户的身份转换为指定用户;
    • b. 如果NFS server上面有同名用户,那么此时客户端登录账户的身份转换为NFS server上面的同名用户;
    • c. 如果没有明确指定,也没有同名用户,那么此时 用户身份被压缩成nfsnobody;
  • 2)、客户端连接时,对root帐号的检查
    • a. 如果设置no_root_squash,那么此时root用户的身份被压缩为NFS server上面的root;
    • b. 如果设置了all_squash、anonuid、anongid,此时root 身份被压缩为指定用户;
    • c. 如果没有明确指定,此时root用户被压缩为nfsnobody;
    • d. 如果同时指定no_root_squash与all_squash, 用户将被压缩为 nfsnobody,如果设置了anonuid、anongid将被压缩到所指定的用户与组。

你可能感兴趣的:(NFS)