欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux下nfs固定服务端口

程序员文章站 2022-06-04 19:46:55
...
参考链接 https://www.cnblogs.com/milton/p/5145515.html
//系统
# cat /etc/redhat-release 
CentOS release 6.9 (Final)
# uname -r
2.6.32-696.el6.x86_64
//关闭SELinux
//iptables按需打开
//服务端安装设置nfs
# yum -y install nfs-utils rpcbind
//nfs配置
# cat /etc/sysconfig/nfs 
RQUOTAD_PORT=875
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
STATD_PORT=662

//nfs服务端配置可挂载目录示例
# cat /etc/exports 
/mnt/share *(rw,sync,no_root_squash)

//  exports配置说明
<输出目录> [客户端1 选项(访问权限,用户映射,其他)] [客户端2 选项(访问权限,用户映射,其他)]

a. 输出目录:
    输出目录是指NFS系统中需要共享给客户机使用的目录;

b. 客户端:
   客户端是指网络中可以访问这个NFS输出目录的计算机
   客户端常用的指定方式
     指定ip地址的主机:192.168.0.200
     指定子网中的所有主机:192.168.0.0/24 192.168.0.0/255.255.255.0
     指定域名的主机:david.bsmart.cn
     指定域中的所有主机:*.bsmart.cn
     所有主机:*

c. 选项:
   选项用来设置输出目录的访问权限、用户映射等。NFS主要有3类选项:

   访问权限
     设置输出目录只读:ro
     设置输出目录读写:rw

   用户映射
     all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody);
     no_all_squash:与all_squash取反(默认设置);
     root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置);
     no_root_squash:与rootsquash取反;
     anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx);
     anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx);

   其它选项
     secure:限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置);
     insecure:允许客户端从大于1024的tcp/ip端口连接服务器;
     sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
     async:将数据先保存在内存缓冲区中,必要时才写入磁盘;
     wdelay:检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认设置);
     no_wdelay:若有写操作则立即执行,应与sync配合使用;
     subtree:若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置);
     no_subtree:即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;

//启动服务,配置自启动
# /etc/init.d/nfs start
# chkconfig --add nfs
# chkconfig nfs on
# chkconfig --add rpcbind
# chkconfig rpcbind on

//iptables打开以下端口,后重启iptables。配置文件 /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 111 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 111 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 662 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 662 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 875 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 875 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 892 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 892 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2049 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 2049 -j ACCEPT
//nfs 客户端(挂载nfs目录端)
# yum -y install nfs-utils rpcbind
# /etc/init.d/rpcbind start
# chkconfig --add rpcbind
# chkconfig rpcbind on

//挂载对应的nfs目录到本地, 挂载前要检查此目录是否存在
# mount -t nfs 10.10.14.52:/mnt/share /mnt
//取消挂载
# umount /mnt