安装 nfs server
centos
yum -y install nfs-utils && systemctl enable nfs --now
ubuntu
apt-get -y install nfs-kernel-server
NFSv3
查看 nfs 端口
rpcinfo -p
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
100024 1 udp 55590 status
100024 1 tcp 49747 status
100005 1 udp 20048 mountd
100005 1 tcp 20048 mountd
100005 2 udp 20048 mountd
100005 2 tcp 20048 mountd
100005 3 udp 20048 mountd
100005 3 tcp 20048 mountd
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 3 tcp 2049 nfs_acl
100021 1 udp 38916 nlockmgr
100021 3 udp 38916 nlockmgr
100021 4 udp 38916 nlockmgr
100021 1 tcp 37253 nlockmgr
100021 3 tcp 37253 nlockmgr
100021 4 tcp 37253 nlockmgr
配置 nfs 端口
sed -i -e '/\[lockd/a port=50000' -e '/\[lockd/a udp-port=50000' -e '/\[mountd/a port=50001' -e '/\[statd/a port=50002' /etc/nfs.conf
重启服务
systemctl restart nfs-server rpc-statd
确认端口信息
rpcinfo -p
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
100005 1 udp 50001 mountd
100005 1 tcp 50001 mountd
100005 2 udp 50001 mountd
100005 2 tcp 50001 mountd
100005 3 udp 50001 mountd
100024 1 udp 50002 status
100005 3 tcp 50001 mountd
100024 1 tcp 50002 status
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 3 tcp 2049 nfs_acl
100021 1 udp 50000 nlockmgr
100021 3 udp 50000 nlockmgr
100021 4 udp 50000 nlockmgr
100021 1 tcp 50000 nlockmgr
100021 3 tcp 50000 nlockmgr
100021 4 tcp 50000 nlockmgr
仅使用 NFSv4
仅使用 NFSv4 会减少向网络开放的端口数。在纯 NFSv4 环境中不需要 mountd, statd, lockd 端口。
禁用 NFSv3
sed -i 's@# vers3=y@vers3=n@g' /etc/nfs.conf
systemctl restart nfs
配置 nfs 端口
sed -i -e '/\[lockd/a port=50000' -e '/\[lockd/a udp-port=50000' -e '/\[mountd/a port=50001' -e '/\[statd/a port=50002' /etc/nfs.conf
重启服务
systemctl restart nfs-server rpc-statd
确认端口信息
rpcinfo -p
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
100024 1 udp 50002 status
100024 1 tcp 50002 status
100005 1 udp 50001 mountd
100005 1 tcp 50001 mountd
100005 2 udp 50001 mountd
100005 2 tcp 50001 mountd
100003 4 tcp 2049 nfs
firewalld 规则
NFSv3
firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-port=111/tcp
firewall-cmd --permanent --add-port=111/udp
firewall-cmd --permanent --add-port=2049/tcp
firewall-cmd --permanent --add-port=2049/udp
firewall-cmd --permanent --add-port=50000/tcp
firewall-cmd --permanent --add-port=50000/udp
firewall-cmd --permanent --add-port=50001/tcp
firewall-cmd --permanent --add-port=50001/udp
firewall-cmd --permanent --add-port=50002/tcp
firewall-cmd --permanent --add-port=50002/udp
firewall-cmd --reload
NFSv4
firewall-cmd --permanent --add-service=nfs
firewall-cmd --reload
挂载 nfs
NFSv3
挂载 nfs
mount -t nfs -o vers=3 -o port=2049 192.168.174.123:/data/webapp /mnt/data
查看挂载点信息
mount | grep nfs
nfsd on /proc/fs/nfsd type nfsd (rw,relatime)
192.168.174.123:/data/webapp on /mnt/data type nfs (rw,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,port=2049,timeo=600,retrans=2,sec=sys,mountaddr=192.168.174.123,mountvers=3,mountport=50001,mountproto=udp,local_lock=none,addr=192.168.174.123)
NFSv4
挂载 nfs
mount -t nfs -o port=2049 192.168.174.123:/data/webapp /mnt/data
查看挂载点信息
mount | grep nfs
nfsd on /proc/fs/nfsd type nfsd (rw,relatime)
192.168.174.123:/data/webapp on /mnt/data type nfs4 (rw,relatime,vers=4.2,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.174.139,local_lock=none,addr=192.168.174.123)