操作系统:CentOS-7-8、openEuler、Anolis OS等
准备工作
1、关闭selinux
sestatus #查看状态,显示disabled表示已经禁用
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config #禁用selinux
setenforce 0 #临时禁用
/usr/sbin/sestatus -v #查看selinux状态,disabled表示关闭
2、防火墙配置
2.1、关闭firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
systemctl mask firewalld
systemctl stop firewalld
yum remove firewalld
2.2、安装iptables防火墙
yum install iptables-services #安装
vi /etc/sysconfig/iptables #编辑防火墙配置文件,开放TCP 2049端口
# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 2049 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
:wq! #保存退出
systemctl restart iptables.service #最后重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动
/usr/libexec/iptables/iptables.init restart #重启防火墙
开始部署
1、NFS服务器端部署
1.1安装NFS服务器端
yum install -y nfs-utils rpcbind
参数说明:
nfs-utils:提供NFS服务的核心工具
rpcbind:管理 RPC(Remote Procedure Call)服务,NFS 依赖于它
1.2启动并设置服务开机自启
systemctl start rpcbind
systemctl start nfs-server
systemctl enable rpcbind
systemctl enable nfs-server
1.3配置NFS固定端口和协议
#禁用 NFSv3 和 NFSv2,使用 NFSv4,并绑定到 TCP 2049 端口
vi /etc/nfs.conf
vers3 = n
vers4 = y
tcp = y
udp = n
port = 2049
rdma = n
rdma-port = 0
:wq! #保存退出
#重启服务
systemctl daemon-reload
systemctl restart rpcbind
systemctl restart nfs-server
#查看
rpcinfo -p | grep nfs
1.4配置共享目录
创建一个需要共享的目录
mkdir -p /data/nfs_share
确保共享目录具有适当的权限
chown root.root /data/nfs_share -R
chmod 755 /data/nfs_share -R
注意:生产环境中建议根据实际需求设置更严格的权限
1.5配置nfs
vi /etc/exports #编辑配置文件,添加以下内容
/data/nfs_share 192.168.21.0/24(rw,sync,no_subtree_check,anonuid=0,anongid=0)
:wq! #保存退出
相关参数说明:
/data/nfs_share #NFS共享目录
192.168.21.0/24 #允许这个网段内的IP地址访问共享目录
rw #读取写入权限
sync #数据实时同步
no_subtree_check #不检查子目录权限,提高数据读取效率
anonuid=0 #0代表root用户 打开cat /etc/passwd 查找root对应的id
anongid=0 #0代表root组 打开cat /etc/group 查找root对应的id
#加载exports配置
exportfs -a
#查看当前NFS服务器共享目录
exportfs -v
#重启服务
systemctl restart rpcbind
systemctl restart nfs-server
rpcinfo -p 192.168.21.141
[root@localhost system]# rpcinfo -p 192.168.21.141
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100003 3 tcp 2049 nfs
100227 3 tcp 2049 nfs_acl
100021 1 udp 47635 nlockmgr
100021 3 udp 47635 nlockmgr
100021 4 udp 47635 nlockmgr
100021 1 tcp 35859 nlockmgr
100021 3 tcp 35859 nlockmgr
100021 4 tcp 35859 nlockmgr
100024 1 udp 52280 status
100024 1 tcp 51363 status
100005 1 tcp 20048 mountd
100005 2 tcp 20048 mountd
100003 4 tcp 2049 nfs
#显示server上面共享的目录
showmount -e 192.168.21.141
#出现下面的提示,说明配置正确
[root@localhost ~]# showmount -e 192.168.21.141
Export list for 192.168.21.141:
/data/nfs_share 192.168.21.0/24
2、安装NFS客户端
yum install -y nfs-utils rpcbind
#启动并设置服务开机自启
systemctl start rpcbind
systemctl start nfs-server
systemctl enable rpcbind
systemctl enable nfs-server
2.2创建本地挂载点
mkdir -p /mnt/nfs_share
#强制使用 NFSv4 挂载
mount -t nfs4 -o soft,intr,bg,rw,rsize=32768,wsize=32768 192.168.21.141:/data/nfs_share /mnt/nfs_share
#如果要卸载目录,执行下面命令
umount /mnt/nfs_share #卸载目录挂载
2.3设置开机自动挂载目录
vi /etc/fstab
192.168.21.141:/data/nfs_share /mnt/nfs_share nfs4 _netdev,soft,intr,bg,rw,rsize=32768,wsize=32768 0 0
:wq! #保存退出
_netdev:在网络服务启动后再尝试挂载
systemctl daemon-reload
mount -a
至此,Linux系统下安装配置NFS服务器完成。



