首页 > 技术文章 > NFS与iptables配置

Skyar 2014-02-28 11:17 原文

我是在CentOS系统下。
配置好NFS服务后,本机测试挂在通过,但是在其他客户端上会出现挂在失败,错误信息如下:
mount: mount to NFS server '192.168.10.20' failed: timed out (retrying).
mount: mount to NFS server '192.168.10.20' failed: timed out (retrying).
mount: mount to NFS server '192.168.10.20' failed: timed out (giving up)
 
将服务器的iptables关掉后,就一切挂在正常,把服务器的iptables重新打开后就不行了,这明天是iptables中的规则捣鬼。是因为iptables中没有没有开发NFS的端口或者说没有完全开放NFS服务端口造成的。
 
NFS主要用到的端口有:111- portmapper, 875 - rquotad,892-mountd,2049-nfs,udp:32769-nlockmgr,tcp:32803-nlockmgr,把这些端口加入到iptables规则中即可。
 
配置过程如下:
 
1、首先修改NFS配置文件(/etc/sysconfig/nfs),加入以上端口:
        将#RQUOTAD_PORT=875,#LOCKD_TCPPORT=32803,#LOCKD_UDPPORT=32769,#MOUNTD_PORT=892,前面的4个#去掉,保存文件退出
 
2、重启nfs服务
        service nfs restart
 
3、查看服务运行的相关端口情况,使用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  35093  status
    100024    1   tcp  53692  status
    100005    1   udp    892  mountd
    100005    1   tcp    892  mountd
    100005    2   udp    892  mountd
    100005    2   tcp    892  mountd
    100005    3   udp    892  mountd
    100005    3   tcp    892  mountd
    100003    2   tcp   2049  nfs
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100227    2   tcp   2049  nfs_acl
    100227    3   tcp   2049  nfs_acl
    100003    2   udp   2049  nfs
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    100227    2   udp   2049  nfs_acl
    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
 
4、修改/etc/sysconfig/iptables,加入端口
    -A INPUT -p tcp -m tcp --dport 111 -j ACCEPT
    -A INPUT -p udp -m udp --dport 111 -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 2049 -j ACCEPT
    -A INPUT -p udp -m udp --dport 2049 -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 892 -j ACCEPT
    -A INPUT -p udp -m udp --dport 892 -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 875 -j ACCEPT
    -A INPUT -p udp -m udp --dport 875 -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 32768 -j ACCEPT
    -A INPUT -p udp -m udp --dport 32768 -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 32803 -j ACCEPT

推荐阅读