前几天学习了下 NFS 服务配置,但之前没有使用固定 NFS 端口的方法,之后只能关闭防火墙
实现NFS 配置,今天学习了下 NFS 服务固定端口的方法。

一 环境信息
NFS SERVER 192.168.1.26
NFS CLIENT 192.168.1.25

二 配置 NFS 服务端
–2.1 修改 /etc/exports
/database/pgdata1/shared     192.168.1.25(rw,anonuid=500,anongid=500)

–2.2 显示共享目录信息 
[root@pgb sysconfig]# exportfs -v
/database/pgdata1/shared
                192.168.1.25(rw,wdelay,root_squash,no_subtree_check,anonuid=500,anongid=500)

 

常规的一些NFS服务设置我们已经了解了。那么对于端口问题,很多朋友并不是很清楚。这里我们就来详细介绍一下端口的分配。portmapper在NFS服务启动的时候给每一个NFS服务分配了一个动态的端口,如何才能让NFS client在使用RHEL/Fedora/CentOS linux iptales防火墙时可以正常使用NFS服务呢?

需要打开下面的端口

a] TCP/UDP 111 – RPC 4.0 portmapper

b] TCP/UDP 2049 – NFSD (nfs server)

c] Portmap 静态端口—在/etc/sysconfig/nfs文件中定义的一系列TCP/UDP端口

按nfs默认启动的话,很多服务如rpc.mounted,端口都不是固定的,这样不方便在防火墙上进行管理,所以我们需要把每个启动的服务的端口固定下来,需要做的就是编辑/etc/sysconfig/nfs文件.


  1. # vi /etc/sysconfig/nfs 

更改下面的配置,将端口分配为一个没被占用的


  1. # TCP port rpc.lockd should listen on.  
  2. LOCKD_TCPPORT=lockd-port-number  
  3. # UDP port rpc.lockd should listen on.  
  4. LOCKD_UDPPORT=lockd-port-number  
  5. # Port rpc.mountd should listen on.  
  6. MOUNTD_PORT=mountd-port-number  
  7. # Port rquotad should listen on.  
  8. RQUOTAD_PORT=rquotad-port-number  
  9. # Port rpc.statd should listen on.  
  10. STATD_PORT=statd-port-number  
  11. # Outgoing port statd should used. The default is port is random  
  12. STATD_OUTGOING_PORT=statd-outgoing-port-numbe 

下面是我用于测试的机器上修改的内容


  1. RQUOTAD_PORT=6005 
  2. LOCKD_TCPPORT=6004 
  3. LOCKD_UDPPORT=6004 
  4. MOUNTD_PORT=6002 
  5. STATD_PORT=6003 
  6. STATD_OUTGOING_PORT=6006 

保存退出后就可以重启nfs服务,portmap服务


  1. # service portmap restart  
  2. # service nfs restart 

下面就是iptables方面的配置了,蚊子这里因为是学习,所以设置的比较严格,下面先说下我的环境

1,两台Server:192.168.211.128(nfs-server),192.168.211.129(nfs-client)

2,nfs-server上只允许nfs,ssh的访问,其余都拒绝

下面是我的iptables的配置


  1. iptables -A INPUT -p tcp -s 192.168.211.0/24 –dport 22 -m state –state NEW,ESTABLISHED,RELATED -j ACCEPT  
  2. iptables -A INPUT -i lo -j ACCEPT  
  3. iptables -A INPUT -p tcp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 6002 -j ACCEPT  
  4. iptables -A INPUT -p tcp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 6003 -j ACCEPT  
  5. iptables -A INPUT -p tcp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 6004 -j ACCEPT  
  6. iptables -A INPUT -p tcp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 6005 -j ACCEPT  
  7. iptables -A INPUT -p tcp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 6006 -j ACCEPT  
  8. iptables -A INPUT -p udp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 6002 -j ACCEPT  
  9. iptables -A INPUT -p udp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 6003 -j ACCEPT  
  10. iptables -A INPUT -p udp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 6004 -j ACCEPT  
  11. iptables -A INPUT -p udp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 6005 -j ACCEPT  
  12. iptables -A INPUT -p udp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 6006 -j ACCEPT  
  13. iptables -A INPUT -p tcp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 111 -j ACCEPT  
  14. iptables -A INPUT -p udp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 111 -j ACCEPT  
  15. iptables -A INPUT -p tcp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 2049 -j ACCEPT  
  16. iptables -A INPUT -p udp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 2049 -j ACCEPT  
  17. iptables -P INPUT DROP 

第一条就是允许连接ssh

第二条作用是在启动nfs的时候,nfs-server会通过本地回环接口与portmap进行会话,所以需要允许

最后一条是设置input链的默认策略为drop

中间的就是允许nfs-server相应的端口了

如果在配置iptables的时候有问题可以使用service iptables restart重置,如果没有问题就可以使用service iptables save保存相应的配置,保存的配置文件放在/etc/sysconfig/iptables里.

  
 
三 配置 NFS 客户端 
–3.1 测试:mount 目录
[root@pg1 ~]# mkdir -p /mnt/pgb/shared
[root@pg1 /]# mount -t nfs 192.168.1.26:/database/shared /mnt/pgb/shared/

–3.2 查看目录信息
[postgres@pg1 pgb]$ df -hv
Filesystem            Size  Used Avail Use% Mounted on
/dev/hda1              14G   11G  2.1G  85% /
tmpfs                 217M     0  217M   0% /dev/shm
/dev/hdb3             1.9G   35M  1.8G   2% /archive/pga
none                  217M  104K  217M   1% /var/lib/xenstored
192.168.1.26:/database/pgdata1/shared
                      2.0G   34M  1.9G   2% /mnt/pgb/shared  
                     
 备注:NFS 配置成功。        
 
–3.3 设置开机自动挂载
修改 /etc/fstab 文件,增加以下行
192.168.1.26:/database/pgdata1/shared /mnt/pgb/shared   nfs     defaults,rw   0 0