CentOS 7 NFS服务器和客户端设置
时间:2017-01-31 15:07 来源:linux.it.net.cn 作者:IT
CentOS 7引入了全新的 systemctl 服务管理,设置和管理服务略有不同。以下是为了提供Mac OS X客户端访问Linux NFS输出的卷实现数据备份的记录,NFS服务器设置见本文,Mac OS X挂载Linux的NFS输出见Mac OS X 挂载Linux卷(NFS)。
设置Linux服务端
将移动硬盘挂载到 /data 目录
mount /dev/sdb1 /data
在Paralles Desktop虚拟机运行的是CentOS 7操作系统,使用以下命令安装 NFS 支持
yum install nfs-utils nfs-utils-lib
设置nfs相关服务在操作系统启动时启动
systemctl enable rpcbind
systemctl enable nfs-server
systemctl enable nfs-lock
systemctl enable nfs-idmap
启动nfs服务
systemctl start rpcbind
systemctl start nfs-server
systemctl start nfs-lock
systemctl start nfs-idmap
服务器端设置NFS卷输出,即编辑 /etc/exports 添加:
/data 10.211.55.0/24(rw,sync,no_root_squash,no_subtree_check)
/data – 共享目录
10.211.55.0/24 – 允许访问NFS的客户端IP地址段
rw – 允许对共享目录进行读写
sync – 实时同步共享目录
no_root_squash – 允许root访问
no_all_squash - 允许用户授权
no_subtree_check - 如果卷的一部分被输出,从客户端发出请求文件的一个常规的调用子目录检查验证卷的相应部分。如果是整个卷输出,禁止这个检查可以加速传输。
no_subtree_check - If only part of a volume is exported, a routine called subtree checking verifies that a file that is requested from the client is in the appropriate part of the volume. If the entire volume is exported, disabling this check will speed up transfers. Setting Up an NFS Server
NFS客户端挂载
Linux挂载NFS的客户端非常简单的命令,先创建挂载目录,然后用 -t nfs 参数挂载就可以了
mount -t nfs 10.211.55.9:/data /data
如果要设置客户端启动时候就挂载NFS,可以配置 /etc/fstab 添加以下内容
10.211.55.9:/data /data nfs auto,rw,vers=3,hard,intr,tcp,rsize=32768,wsize=32768 0 0
然后在客户端简单使用以下命令就可以挂载
mount /data
通过防火墙挂载NFS服务
在生产环境,可能会因为安全需求在NFS服务器和客户端之间部署防火墙。此时,NFS客户端挂载的时候会有如下输出报错
mount.nfs: Connection timed out
参考 Running NFS Behind a Firewall 设置防火墙允许访问NFS服务器的服务端口,注意,需要配置NFS服务使用固定端口。
MOUNTD_PORT=port
# Controls which TCP and UDP port mountd (rpc.mountd) uses.
STATD_PORT=port
# Controls which TCP and UDP port status (rpc.statd) uses.
LOCKD_TCPPORT=port
# Controls which TCP port nlockmgr (lockd) uses.
LOCKD_UDPPORT=port
# Controls which UDP port nlockmgr (lockd) uses.
编辑 /etc/sysconfig/nfs 配置文件
# TCP port rpc.lockd should listen on.
LOCKD_TCPPORT=32803
# UDP port rpc.lockd should listen on.
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
STATD_PORT=662
可以在Linux NFS服务器上执行以下命令获得NFS端口信息
rpcinfo -p
需要允许以下端口
NFS的TCP和UDP端口2049
rpcbind/sunrpc的TCP和UDP端口111
设置 MOUNTD_PORT 的TCP和UDP端口
设置 STATD_PORT 的TCP和UDP端口
设置 LOCKD_TCPPORT 的TCP端口
设置 LOCKD_UDPPORT 的UDP端口
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 54305 status
100024 1 tcp 55604 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
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 3 udp 2049 nfs_acl
100021 1 udp 32769 nlockmgr
100021 3 udp 32769 nlockmgr
100021 4 udp 32769 nlockmgr
100021 1 tcp 32803 nlockmgr
100021 3 tcp 32803 nlockmgr
100021 4 tcp 32803 nlockmgr
100011 1 udp 875 rquotad
100011 2 udp 875 rquotad
100011 1 tcp 875 rquotad
100011 2 tcp 875 rquotad
在 Linux NFS 服务器上使用以下命令开启iptables防火墙允许访问以上端口
firewall-cmd --permanent --add-port=2049/tcp
firewall-cmd --permanent --add-port=2049/udp
firewall-cmd --permanent --add-port=111/tcp
firewall-cmd --permanent --add-port=111/udp
firewall-cmd --permanent --add-port=892/tcp
firewall-cmd --permanent --add-port=892/udp
firewall-cmd --permanent --add-port=662/tcp
firewall-cmd --permanent --add-port=662/udp
firewall-cmd --permanent --add-port=32803/tcp
firewall-cmd --permanent --add-port=32769/udp
在 Linux NFS 服务器上使用以下命令重新加载防火墙规则
firewall-cmd --reload
不过,我实测还是存在访问问题,以后再验证
参考
-
Setting Up NFS Server And Client On CentOS 7
(责任编辑:IT)
CentOS 7引入了全新的 systemctl 服务管理,设置和管理服务略有不同。以下是为了提供Mac OS X客户端访问Linux NFS输出的卷实现数据备份的记录,NFS服务器设置见本文,Mac OS X挂载Linux的NFS输出见Mac OS X 挂载Linux卷(NFS)。 设置Linux服务端将移动硬盘挂载到 /data 目录 mount /dev/sdb1 /data 在Paralles Desktop虚拟机运行的是CentOS 7操作系统,使用以下命令安装 NFS 支持 yum install nfs-utils nfs-utils-lib 设置nfs相关服务在操作系统启动时启动 systemctl enable rpcbind systemctl enable nfs-server systemctl enable nfs-lock systemctl enable nfs-idmap 启动nfs服务 systemctl start rpcbind systemctl start nfs-server systemctl start nfs-lock systemctl start nfs-idmap 服务器端设置NFS卷输出,即编辑 /etc/exports 添加: /data 10.211.55.0/24(rw,sync,no_root_squash,no_subtree_check)
NFS客户端挂载Linux挂载NFS的客户端非常简单的命令,先创建挂载目录,然后用 -t nfs 参数挂载就可以了 mount -t nfs 10.211.55.9:/data /data 如果要设置客户端启动时候就挂载NFS,可以配置 /etc/fstab 添加以下内容 10.211.55.9:/data /data nfs auto,rw,vers=3,hard,intr,tcp,rsize=32768,wsize=32768 0 0 然后在客户端简单使用以下命令就可以挂载 mount /data 通过防火墙挂载NFS服务在生产环境,可能会因为安全需求在NFS服务器和客户端之间部署防火墙。此时,NFS客户端挂载的时候会有如下输出报错 mount.nfs: Connection timed out 参考 Running NFS Behind a Firewall 设置防火墙允许访问NFS服务器的服务端口,注意,需要配置NFS服务使用固定端口。 MOUNTD_PORT=port # Controls which TCP and UDP port mountd (rpc.mountd) uses. STATD_PORT=port # Controls which TCP and UDP port status (rpc.statd) uses. LOCKD_TCPPORT=port # Controls which TCP port nlockmgr (lockd) uses. LOCKD_UDPPORT=port # Controls which UDP port nlockmgr (lockd) uses. 编辑 /etc/sysconfig/nfs 配置文件 # TCP port rpc.lockd should listen on. LOCKD_TCPPORT=32803 # UDP port rpc.lockd should listen on. LOCKD_UDPPORT=32769 MOUNTD_PORT=892 STATD_PORT=662 可以在Linux NFS服务器上执行以下命令获得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 54305 status 100024 1 tcp 55604 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 100003 3 udp 2049 nfs 100003 4 udp 2049 nfs 100227 3 udp 2049 nfs_acl 100021 1 udp 32769 nlockmgr 100021 3 udp 32769 nlockmgr 100021 4 udp 32769 nlockmgr 100021 1 tcp 32803 nlockmgr 100021 3 tcp 32803 nlockmgr 100021 4 tcp 32803 nlockmgr 100011 1 udp 875 rquotad 100011 2 udp 875 rquotad 100011 1 tcp 875 rquotad 100011 2 tcp 875 rquotad 在 Linux NFS 服务器上使用以下命令开启iptables防火墙允许访问以上端口 firewall-cmd --permanent --add-port=2049/tcp firewall-cmd --permanent --add-port=2049/udp firewall-cmd --permanent --add-port=111/tcp firewall-cmd --permanent --add-port=111/udp firewall-cmd --permanent --add-port=892/tcp firewall-cmd --permanent --add-port=892/udp firewall-cmd --permanent --add-port=662/tcp firewall-cmd --permanent --add-port=662/udp firewall-cmd --permanent --add-port=32803/tcp firewall-cmd --permanent --add-port=32769/udp 在 Linux NFS 服务器上使用以下命令重新加载防火墙规则 firewall-cmd --reload
参考
(责任编辑:IT) |