9-NFS


一、NFS-server端

虚拟机:centos6.5 minimal


服务器端IP地址

[root@server ~]# /sbin/ifconfig eth0 | grep "inet addr" | sed 's/^.*addr://g'| sed 's/Bcast.*$//g'
192.168.142.173

yum 安装 rpcbind nfs-utils

[root@server ~]# yum install -y rpcbind nfs-utils
Loaded plugins: fastestmirror
base                                                                            | 3.7 kB     00:00     
base/primary_db                                                                 | 4.7 MB     00:08     
extras                                                                          | 3.4 kB     00:00     
extras/primary_db                                                               |  37 kB     00:00     
updates                                                                         | 3.4 kB     00:00     
updates/primary_db                                                              | 1.4 MB     00:00     
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package nfs-utils.x86_64 1:1.2.3-70.el6_8.1 will be installed
--> Processing Dependency: nfs-utils-lib >= 1.1.0-3 for package: 1:nfs-utils-1.2.3-70.el6_8.1.x86_64
--> Processing Dependency: libtirpc >= 0.2.1-11 for package: 1:nfs-utils-1.2.3-70.el6_8.1.x86_64
--> Processing Dependency: keyutils >= 1.4-4 for package: 1:nfs-utils-1.2.3-70.el6_8.1.x86_64
--> Processing Dependency: python-argparse for package: 1:nfs-utils-1.2.3-70.el6_8.1.x86_64
--> Processing Dependency: libgssglue.so.1(libgssapi_CITI_2)(64bit) for package: 1:nfs-utils-1.2.3-70.el6_8.1.x86_64
--> Processing Dependency: libgssglue for package: 1:nfs-utils-1.2.3-70.el6_8.1.x86_64
--> Processing Dependency: libevent for package: 1:nfs-utils-1.2.3-70.el6_8.1.x86_64
--> Processing Dependency: libtirpc.so.1()(64bit) for package: 1:nfs-utils-1.2.3-70.el6_8.1.x86_64
--> Processing Dependency: libnfsidmap.so.0()(64bit) for package: 1:nfs-utils-1.2.3-70.el6_8.1.x86_64
--> Processing Dependency: libgssglue.so.1()(64bit) for package: 1:nfs-utils-1.2.3-70.el6_8.1.x86_64
--> Processing Dependency: libevent-1.4.so.2()(64bit) for package: 1:nfs-utils-1.2.3-70.el6_8.1.x86_64
---> Package rpcbind.x86_64 0:0.2.0-12.el6 will be installed
--> Running transaction check
---> Package keyutils.x86_64 0:1.4-5.el6 will be installed
--> Processing Dependency: keyutils-libs = 1.4-5.el6 for package: keyutils-1.4-5.el6.x86_64
---> Package libevent.x86_64 0:1.4.13-4.el6 will be installed
---> Package libgssglue.x86_64 0:0.1-11.el6 will be installed
---> Package libtirpc.x86_64 0:0.2.1-11.el6 will be installed
---> Package nfs-utils-lib.x86_64 0:1.1.5-11.el6 will be installed
---> Package python-argparse.noarch 0:1.2.1-2.1.el6 will be installed
--> Running transaction check
---> Package keyutils-libs.x86_64 0:1.4-4.el6 will be updated
---> Package keyutils-libs.x86_64 0:1.4-5.el6 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

=======================================================================================================
 Package                    Arch              Version                         Repository          Size
=======================================================================================================
Installing:
 nfs-utils                  x86_64            1:1.2.3-70.el6_8.1              updates            335 k
 rpcbind                    x86_64            0.2.0-12.el6                    base                51 k
Installing for dependencies:
 keyutils                   x86_64            1.4-5.el6                       base                39 k
 libevent                   x86_64            1.4.13-4.el6                    base                66 k
 libgssglue                 x86_64            0.1-11.el6                      base                23 k
 libtirpc                   x86_64            0.2.1-11.el6                    base                82 k
 nfs-utils-lib              x86_64            1.1.5-11.el6                    base                68 k
 python-argparse            noarch            1.2.1-2.1.el6                   base                48 k
Updating for dependencies:
 keyutils-libs              x86_64            1.4-5.el6                       base                20 k

Transaction Summary
=======================================================================================================
Install       8 Package(s)
Upgrade       1 Package(s)

Total download size: 732 k
Downloading Packages:
(1/9): keyutils-1.4-5.el6.x86_64.rpm                                            |  39 kB     00:00     
(2/9): keyutils-libs-1.4-5.el6.x86_64.rpm                                       |  20 kB     00:00     
(3/9): libevent-1.4.13-4.el6.x86_64.rpm                                         |  66 kB     00:00     
(4/9): libgssglue-0.1-11.el6.x86_64.rpm                                         |  23 kB     00:00     
(5/9): libtirpc-0.2.1-11.el6.x86_64.rpm                                         |  82 kB     00:00     
(6/9): nfs-utils-1.2.3-70.el6_8.1.x86_64.rpm                                    | 335 kB     00:00     
(7/9): nfs-utils-lib-1.1.5-11.el6.x86_64.rpm                                    |  68 kB     00:00     
(8/9): python-argparse-1.2.1-2.1.el6.noarch.rpm                                 |  48 kB     00:00     
(9/9): rpcbind-0.2.0-12.el6.x86_64.rpm                                          |  51 kB     00:00     
-------------------------------------------------------------------------------------------------------
Total                                                                   89 kB/s | 732 kB     00:08     
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Importing GPG key 0xC105B9DE:
 Userid : CentOS-6 Key (CentOS 6 Official Signing Key) 
 Package: centos-release-6-5.el6.centos.11.1.x86_64 (@anaconda-CentOS-201311272149.x86_64/6.5)
 From   : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : libgssglue-0.1-11.el6.x86_64                                                       1/10 
  Installing : libtirpc-0.2.1-11.el6.x86_64                                                       2/10 
  Updating   : keyutils-libs-1.4-5.el6.x86_64                                                     3/10 
  Installing : keyutils-1.4-5.el6.x86_64                                                          4/10 
  Installing : rpcbind-0.2.0-12.el6.x86_64                                                        5/10 
  Installing : python-argparse-1.2.1-2.1.el6.noarch                                               6/10 
  Installing : libevent-1.4.13-4.el6.x86_64                                                       7/10 
  Installing : nfs-utils-lib-1.1.5-11.el6.x86_64                                                  8/10 
  Installing : 1:nfs-utils-1.2.3-70.el6_8.1.x86_64                                                9/10 
  Cleanup    : keyutils-libs-1.4-4.el6.x86_64                                                    10/10 
  Verifying  : keyutils-libs-1.4-5.el6.x86_64                                                     1/10 
  Verifying  : libevent-1.4.13-4.el6.x86_64                                                       2/10 
  Verifying  : keyutils-1.4-5.el6.x86_64                                                          3/10 
  Verifying  : rpcbind-0.2.0-12.el6.x86_64                                                        4/10 
  Verifying  : nfs-utils-lib-1.1.5-11.el6.x86_64                                                  5/10 
  Verifying  : 1:nfs-utils-1.2.3-70.el6_8.1.x86_64                                                6/10 
  Verifying  : libtirpc-0.2.1-11.el6.x86_64                                                       7/10 
  Verifying  : python-argparse-1.2.1-2.1.el6.noarch                                               8/10 
  Verifying  : libgssglue-0.1-11.el6.x86_64                                                       9/10 
  Verifying  : keyutils-libs-1.4-4.el6.x86_64                                                    10/10 

Installed:
  nfs-utils.x86_64 1:1.2.3-70.el6_8.1                   rpcbind.x86_64 0:0.2.0-12.el6                  

Dependency Installed:
  keyutils.x86_64 0:1.4-5.el6                      libevent.x86_64 0:1.4.13-4.el6                     
  libgssglue.x86_64 0:0.1-11.el6                   libtirpc.x86_64 0:0.2.1-11.el6                     
  nfs-utils-lib.x86_64 0:1.1.5-11.el6              python-argparse.noarch 0:1.2.1-2.1.el6             

Dependency Updated:
  keyutils-libs.x86_64 0:1.4-5.el6                                                                     

Complete!
[root@server ~]#

启动服务

[root@server ~]# chkconfig nfs on
[root@server ~]# chkconfig rpcbind on
[root@server ~]# /etc/init.d/rpc start 
bash: /etc/init.d/rpc: No such file or directory
[root@server ~]# /etc/init.d/rpcbind start 
Starting rpcbind:                                          [  OK  ]
[root@server ~]# /etc/init.d/rpcbind status
rpcbind (pid  1876) is running...
[root@server ~]# /etc/init.d/nfs start 
Starting NFS services:                                     [  OK  ]
Starting NFS mountd:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
Starting RPC idmapd:                                       [  OK  ]
[root@server ~]# /etc/init.d/nfs status
rpc.svcgssd is stopped
rpc.mountd (pid 2038) is running...
nfsd (pid 2053 2052 2051 2050 2049 2048 2047 2046) is running...

编辑配置文件

[root@server ~]# vi /etc/exports 
[root@server ~]# cat /etc/exports 
/opt/wwwroot    192.168.142.174(rw,sync,no_root_squash)

将文件夹/opt/wwwroot共享给192.168.142.0/24网段,允许读写操作

  • 客户机地址可以是主机名、IP地址、网段地址,允许使用*、?通配符
  • 权限选项中的含义
    • rw表示允许读写(ro为只读)
    • sync表示同步写入
    • no_root_squash表示当客户机以root身份访问时赋予本地root权限(默认是root_squash,将作为nfsnobody用户降权对待)

重新加载服务

[root@server ~]# /etc/init.d/rpcbind reload
Stopping rpcbind:                                          [  OK  ]
Starting rpcbind:                                          [  OK  ]
[root@server ~]# /etc/init.d/nfs reload

编辑配置文件,

[root@server ~]# vi /etc/exports 
[root@server ~]# cat /etc/exports
/opt/wwwroot    192.168.142.174(rw,sync,no_root_squash)
/var/ftp/pub    192.168.4.11(ro) 192.168.4.110(rw)

将/var/ftp/public 目录共享给两个客户机,并分别基于只读,读写权限

重启服务

[root@server ~]# /etc/init.d/rpcbind restart 
Stopping rpcbind:                                          [  OK  ]
Starting rpcbind:                                          [  OK  ]
[root@server ~]# /etc/init.d/nfs restart 
Shutting down NFS daemon:                                  [  OK  ]
Shutting down NFS mountd:                                  [  OK  ]
Shutting down NFS services:                                [  OK  ]
Shutting down RPC idmapd:                                  [  OK  ]
Starting NFS services:  exportfs: Failed to stat /var/ftp/pub: No such file or directory 

exportfs: Failed to stat /var/ftp/pub: No such file or directory 

                                                           [  OK  ]
Starting NFS mountd:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
Starting RPC idmapd:                                       [  OK  ]

安装vsftpd

[root@server ~]# yum install -y vsftpd
Loaded plugins: fastestmirror
Determining fastest mirrors
 * base: mirrors.yun-idc.com
 * extras: mirrors.yun-idc.com
 * updates: mirrors.sina.cn
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package vsftpd.x86_64 0:2.2.2-21.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

========================================================================================================
 Package                Arch                   Version                       Repository            Size
========================================================================================================
Installing:
 vsftpd                 x86_64                 2.2.2-21.el6                  base                 155 k

Transaction Summary
========================================================================================================
Install       1 Package(s)

Total download size: 155 k
Installed size: 340 k
Downloading Packages:
vsftpd-2.2.2-21.el6.x86_64.rpm                                                   | 155 kB     00:00     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : vsftpd-2.2.2-21.el6.x86_64                                                           1/1 
  Verifying  : vsftpd-2.2.2-21.el6.x86_64                                                           1/1 

Installed:
  vsftpd.x86_64 0:2.2.2-21.el6                                                                          

Complete!

安装完成vsftpd之后重启

[root@server ~]# /etc/init.d/nfs restart 
Shutting down NFS daemon:                                  [  OK  ]
Shutting down NFS mountd:                                  [  OK  ]
Shutting down NFS services:                                [  OK  ]
Shutting down RPC idmapd:                                  [  OK  ]
Starting NFS services:                                     [  OK  ]
Starting NFS mountd:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
Starting RPC idmapd:                                       [  OK  ]

查看发布出去的目录

[root@server ~]# showmount -e
clnt_create: RPC: Unknown host

直接查询失败

[root@server ~]# /etc/init.d/rpcbind restart 
Stopping rpcbind:                                          [  OK  ]
Starting rpcbind:                                          [  OK  ]
[root@server ~]# /etc/init.d/nfs restart 
Shutting down NFS daemon:                                  [  OK  ]
Shutting down NFS mountd:                                  [  OK  ]
Shutting down NFS services:                                [  OK  ]
Shutting down RPC idmapd:                                  [  OK  ]
Starting NFS services:                                     [  OK  ]
Starting NFS mountd:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
Starting RPC idmapd:                                       [  OK  ]

使用local host查询

[root@server ~]# showmount -e loaclhost
clnt_create: RPC: Unknown host

使用本地地址查询

[root@server ~]# showmount -e 192.168.142.173
Export list for 192.168.142.173:
/var/ftp/pub 192.168.4.110,192.168.4.11
/opt/wwwroot 192.168.142.174

查询成功

查看rpcbind监听信息

[root@server ~]# netstat -anpt | grep "rpcbind"
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      2525/rpcbind        
tcp        0      0 :::111                      :::*                        LISTEN      2525/rpcbind        
[root@server ~]# netstat -anupt | grep "rpcbind"
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      2525/rpcbind        
tcp        0      0 :::111                      :::*                        LISTEN      2525/rpcbind        
udp        0      0 0.0.0.0:1004                0.0.0.0:*                               2525/rpcbind        
udp        0      0 0.0.0.0:111                 0.0.0.0:*                               2525/rpcbind        
udp        0      0 :::1004                     :::*                                    2525/rpcbind        
udp        0      0 :::111                      :::*                                    2525/rpcbind

二、客户端

CentOS 6.5最小化安装


客户端IP地址

[root@client ~]# /sbin/ifconfig eth0 | grep 'inet addr'| sed 's/^.*addr://g' | sed 's/Bcast.*$//g'
192.168.142.174

yum 安装 NFS file server

[root@client ~]# yum groupinstall "NFS file server"
Loaded plugins: fastestmirror
base                                                                             | 3.7 kB     00:00     
base/primary_db                                                                  | 4.7 MB     00:02     
extras                                                                           | 3.4 kB     00:00     
extras/primary_db                                                                |  37 kB     00:00     
updates                                                                          | 3.4 kB     00:00     
updates/primary_db                                                               | 1.4 MB     00:02     
Setting up Group Process
Determining fastest mirrors
 * base: mirrors.yun-idc.com
 * extras: mirrors.yun-idc.com
 * updates: mirrors.sina.cn
base/group_gz                                                                    | 226 kB     00:00     
Resolving Dependencies
--> Running transaction check
---> Package nfs-utils.x86_64 1:1.2.3-70.el6_8.1 will be installed
--> Processing Dependency: nfs-utils-lib >= 1.1.0-3 for package: 1:nfs-utils-1.2.3-70.el6_8.1.x86_64
--> Processing Dependency: libtirpc >= 0.2.1-11 for package: 1:nfs-utils-1.2.3-70.el6_8.1.x86_64
--> Processing Dependency: keyutils >= 1.4-4 for package: 1:nfs-utils-1.2.3-70.el6_8.1.x86_64
--> Processing Dependency: rpcbind for package: 1:nfs-utils-1.2.3-70.el6_8.1.x86_64
--> Processing Dependency: python-argparse for package: 1:nfs-utils-1.2.3-70.el6_8.1.x86_64
--> Processing Dependency: libgssglue.so.1(libgssapi_CITI_2)(64bit) for package: 1:nfs-utils-1.2.3-70.el6_8.1.x86_64
--> Processing Dependency: libgssglue for package: 1:nfs-utils-1.2.3-70.el6_8.1.x86_64
--> Processing Dependency: libevent for package: 1:nfs-utils-1.2.3-70.el6_8.1.x86_64
--> Processing Dependency: libtirpc.so.1()(64bit) for package: 1:nfs-utils-1.2.3-70.el6_8.1.x86_64
--> Processing Dependency: libnfsidmap.so.0()(64bit) for package: 1:nfs-utils-1.2.3-70.el6_8.1.x86_64
--> Processing Dependency: libgssglue.so.1()(64bit) for package: 1:nfs-utils-1.2.3-70.el6_8.1.x86_64
--> Processing Dependency: libevent-1.4.so.2()(64bit) for package: 1:nfs-utils-1.2.3-70.el6_8.1.x86_64
---> Package nfs4-acl-tools.x86_64 0:0.3.3-8.el6 will be installed
--> Running transaction check
---> Package keyutils.x86_64 0:1.4-5.el6 will be installed
--> Processing Dependency: keyutils-libs = 1.4-5.el6 for package: keyutils-1.4-5.el6.x86_64
---> Package libevent.x86_64 0:1.4.13-4.el6 will be installed
---> Package libgssglue.x86_64 0:0.1-11.el6 will be installed
---> Package libtirpc.x86_64 0:0.2.1-11.el6 will be installed
---> Package nfs-utils-lib.x86_64 0:1.1.5-11.el6 will be installed
---> Package python-argparse.noarch 0:1.2.1-2.1.el6 will be installed
---> Package rpcbind.x86_64 0:0.2.0-12.el6 will be installed
--> Running transaction check
---> Package keyutils-libs.x86_64 0:1.4-4.el6 will be updated
---> Package keyutils-libs.x86_64 0:1.4-5.el6 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

========================================================================================================
 Package                    Arch              Version                          Repository          Size
========================================================================================================
Installing:
 nfs-utils                  x86_64            1:1.2.3-70.el6_8.1               updates            335 k
 nfs4-acl-tools             x86_64            0.3.3-8.el6                      base                43 k
Installing for dependencies:
 keyutils                   x86_64            1.4-5.el6                        base                39 k
 libevent                   x86_64            1.4.13-4.el6                     base                66 k
 libgssglue                 x86_64            0.1-11.el6                       base                23 k
 libtirpc                   x86_64            0.2.1-11.el6                     base                82 k
 nfs-utils-lib              x86_64            1.1.5-11.el6                     base                68 k
 python-argparse            noarch            1.2.1-2.1.el6                    base                48 k
 rpcbind                    x86_64            0.2.0-12.el6                     base                51 k
Updating for dependencies:
 keyutils-libs              x86_64            1.4-5.el6                        base                20 k

Transaction Summary
========================================================================================================
Install       9 Package(s)
Upgrade       1 Package(s)

Total download size: 775 k
Is this ok [y/N]: y
Downloading Packages:
(1/10): keyutils-1.4-5.el6.x86_64.rpm                                            |  39 kB     00:00     
(2/10): keyutils-libs-1.4-5.el6.x86_64.rpm                                       |  20 kB     00:00     
(3/10): libevent-1.4.13-4.el6.x86_64.rpm                                         |  66 kB     00:00     
(4/10): libgssglue-0.1-11.el6.x86_64.rpm                                         |  23 kB     00:00     
(5/10): libtirpc-0.2.1-11.el6.x86_64.rpm                                         |  82 kB     00:00     
(6/10): nfs-utils-1.2.3-70.el6_8.1.x86_64.rpm                                    | 335 kB     00:00     
(7/10): nfs-utils-lib-1.1.5-11.el6.x86_64.rpm                                    |  68 kB     00:00     
(8/10): nfs4-acl-tools-0.3.3-8.el6.x86_64.rpm                                    |  43 kB     00:00     
(9/10): python-argparse-1.2.1-2.1.el6.noarch.rpm                                 |  48 kB     00:00     
(10/10): rpcbind-0.2.0-12.el6.x86_64.rpm                                         |  51 kB     00:00     
--------------------------------------------------------------------------------------------------------
Total                                                                   276 kB/s | 775 kB     00:02     
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Importing GPG key 0xC105B9DE:
 Userid : CentOS-6 Key (CentOS 6 Official Signing Key) 
 Package: centos-release-6-5.el6.centos.11.1.x86_64 (@anaconda-CentOS-201311272149.x86_64/6.5)
 From   : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Is this ok [y/N]: y
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : libgssglue-0.1-11.el6.x86_64                                                        1/11 
  Installing : libtirpc-0.2.1-11.el6.x86_64                                                        2/11 
  Updating   : keyutils-libs-1.4-5.el6.x86_64                                                      3/11 
  Installing : keyutils-1.4-5.el6.x86_64                                                           4/11 
  Installing : rpcbind-0.2.0-12.el6.x86_64                                                         5/11 
  Installing : python-argparse-1.2.1-2.1.el6.noarch                                                6/11 
  Installing : libevent-1.4.13-4.el6.x86_64                                                        7/11 
  Installing : nfs-utils-lib-1.1.5-11.el6.x86_64                                                   8/11 
  Installing : 1:nfs-utils-1.2.3-70.el6_8.1.x86_64                                                 9/11 
  Installing : nfs4-acl-tools-0.3.3-8.el6.x86_64                                                  10/11 
  Cleanup    : keyutils-libs-1.4-4.el6.x86_64                                                     11/11 
  Verifying  : keyutils-libs-1.4-5.el6.x86_64                                                      1/11 
  Verifying  : libevent-1.4.13-4.el6.x86_64                                                        2/11 
  Verifying  : keyutils-1.4-5.el6.x86_64                                                           3/11 
  Verifying  : rpcbind-0.2.0-12.el6.x86_64                                                         4/11 
  Verifying  : nfs-utils-lib-1.1.5-11.el6.x86_64                                                   5/11 
  Verifying  : 1:nfs-utils-1.2.3-70.el6_8.1.x86_64                                                 6/11 
  Verifying  : nfs4-acl-tools-0.3.3-8.el6.x86_64                                                   7/11 
  Verifying  : libtirpc-0.2.1-11.el6.x86_64                                                        8/11 
  Verifying  : python-argparse-1.2.1-2.1.el6.noarch                                                9/11 
  Verifying  : libgssglue-0.1-11.el6.x86_64                                                       10/11 
  Verifying  : keyutils-libs-1.4-4.el6.x86_64                                                     11/11 

Installed:
  nfs-utils.x86_64 1:1.2.3-70.el6_8.1                nfs4-acl-tools.x86_64 0:0.3.3-8.el6               

Dependency Installed:
  keyutils.x86_64 0:1.4-5.el6                       libevent.x86_64 0:1.4.13-4.el6                      
  libgssglue.x86_64 0:0.1-11.el6                    libtirpc.x86_64 0:0.2.1-11.el6                      
  nfs-utils-lib.x86_64 0:1.1.5-11.el6               python-argparse.noarch 0:1.2.1-2.1.el6              
  rpcbind.x86_64 0:0.2.0-12.el6                    

Dependency Updated:
  keyutils-libs.x86_64 0:1.4-5.el6                                                                      

Complete!
[root@client ~]#

核查rpcbind

[root@client ~]# rpm -qa | grep rpcbind
rpcbind-0.2.0-12.el6.x86_64

核查nfs-utils

[root@client ~]# rpm -qa | grep nfs-utils
nfs-utils-lib-1.1.5-11.el6.x86_64
nfs-utils-1.2.3-70.el6_8.1.x86_64
[root@client ~]# /etc/init.d/rpcbind start 
Starting rpcbind:                                          [  OK  ]
[root@client ~]# /etc/init.d/nfs start 
Starting NFS services:                                     [  OK  ]
Starting NFS mountd:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
Starting RPC idmapd:                                       [  OK  ]
[root@client ~]# showmount -e 192.168.142.174
Export list for 192.168.142.174:
[root@client ~]# showmount -e 192.168.142.173
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)

查看server配置文件

[root@server ~]# cat /etc/exports 
/opt/wwwroot    192.168.142.174(rw,sync,no_root_squash)
/var/ftp/pub    192.168.4.11(ro) 192.168.4.110(rw)

修改server配置文件

[root@server ~]# vim /etc/exports 
[root@server ~]# cat /etc/exports
/opt/wwwroot    192.168.142.0/24(rw,sync,no_root_squash)
/var/ftp/pub    192.168.4.11(ro) 192.168.4.110(rw)
[root@server ~]# /etc/init.d/rpcbind restart 
Stopping rpcbind:                                          [  OK  ]
Starting rpcbind:                                          [  OK  ]
[root@server ~]# /etc/init.d/nfs restart 
Shutting down NFS daemon:                                  [  OK  ]
Shutting down NFS mountd:                                  [  OK  ]
Shutting down NFS services:                                [  OK  ]
Shutting down RPC idmapd:                                  [  OK  ]
Starting NFS services:                                     [  OK  ]
Starting NFS mountd:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
Starting RPC idmapd:                                       [  OK  ]

调整服务器端的selinux

[root@server ~]# getenforce
Enforcing
[root@server ~]# setenforce 0

客户端再次查看

[root@client ~]# showmount -e 192.168.142.173
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)

关闭服务器端的iptables

[root@server ~]# /etc/init.d/iptables stop
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Unloading modules:

客户端继续测试

[root@client ~]# showmount -e 192.168.142.173
Export list for 192.168.142.173:
/opt/wwwroot 192.168.142.0/24
/var/ftp/pub 192.168.4.110,192.168.4.11

能够查看到服务器端发布的信息,总结

  • 服务器端的配置文件写正确,然后重启rpcbind,nfs服务
  • 服务器端的iptables需要关闭

手动挂载NFS共享目录到/test下面

[root@client ~]# mkdir /test
[root@client ~]# mount 192.168.142.173:/opt/wwwroot /test
[root@client ~]# tail -1 /etc/mtab 
192.168.142.173:/opt/wwwroot /test nfs rw,vers=4,addr=192.168.142.173,clientaddr=192.168.142.174 0 0
[root@client ~]# mount | grep opt
192.168.142.173:/opt/wwwroot on /test type nfs (rw,vers=4,addr=192.168.142.173,clientaddr=192.168.142.174)

编辑/etc/fstab实现自动挂载

[root@client ~]# vim /etc/fstab 
[root@client ~]# cat /etc/fstab | grep -v "#"

/dev/mapper/vg_sshclient-lv_root /                       ext4    defaults        1 1
UUID=a2c0b225-3e83-466d-83d5-729eaffd1adc /boot                   ext4    defaults        1 2
/dev/mapper/vg_sshclient-lv_swap swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
192.168.142.173:/opt/wwwroot    /test    nfs    defaults,_netdev 0 0

测试自动挂载

[root@client ~]# umount /test
[root@client ~]# mount
/dev/mapper/vg_sshclient-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
nfsd on /proc/fs/nfsd type nfsd (rw)
[root@client ~]# mount -a 
[root@client ~]# mount 
/dev/mapper/vg_sshclient-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
nfsd on /proc/fs/nfsd type nfsd (rw)
192.168.142.173:/opt/wwwroot on /test type nfs (rw,vers=4,addr=192.168.142.173,clientaddr=192.168.142.174)

自动挂载成功

客户端写文件测试

[root@client ~]# cd test
bash: cd: test: No such file or directory
[root@client ~]# cd /test 
[root@client test]# echo "this is test from client" > fromclient.txt

服务器端查看

[root@server ~]# cd /opt/wwwroot/
[root@server wwwroot]# ls
fromclient.txt
[root@server wwwroot]# cat fromclient.txt 
this is test from client

results matching ""

    No results matching ""