• 首页 > 
  • ECS Linux下iptables设置问题导致nfs服务启动挂起

ECS Linux下iptables设置问题导致nfs服务启动挂起

KB: 38186

 · 

更新时间:2017-06-07 13:26


如在ECS Linux系统中安装配置了nfs服务,但是在服务器启动的时挂起,无法正常启动,相关信息类似如下:

    [root@testsrv ~]# /etc/init.d/nfs start

    Starting NFS services:                                     [  OK  ]

    Starting NFS quotas:                                       进行到这里的时候一直挂起

只能新开终端,用/etc/init.d/nfs stop强制结束启动过程。 /var/log/message中没有相关错误信息。

 

该问题一般是由于nfs启动过程中,所依赖的相关服务端口通信被iptables阻断导致的。

 

可以尝试通过如下方式解决该问题:

  1. 使用如下指令保存当前iptables配置:

    service iptables save

     

  2. 使用如下指令关闭iptables:

    service iptables stop

     

  3. 使用如下指令重新启动nfs服务:

    /etc/init.d/nfs start

    此时应该能正常启动nfs服务,相关信息如下:

    [root@testsvr ~]# /etc/init.d/nfs start

    Starting NFS services:                                     [  OK  ]

    Starting NFS quotas:                                       [  OK  ]

    Starting NFS mountd:                                     [  OK  ]

    Starting NFS daemon: rpc.nfsd: address family inet6 not supported by protocol TCP   [  OK  ]

    Starting RPC idmapd:                                       [  OK  ]

     

  4. 使用如下指令查看当前nfs服务所依赖的相关服务端口

    rpcinfo -p 

    说明:

    如下图所示,输出结果中的port列显示的就是ntp服务的端口映射情况。这里ntp所使用的端口包括TCP和UDP的:111、2049、30001~30003。

    3.png

     

  5. 使用如下指令为上述端口添加新的iptables规则:

        iptables -A INPUT -p tcp --dport 111 -j ACCEPT 
        iptables -A INPUT -p udp --dport 111 -j ACCEPT 
        iptables -A INPUT -p tcp --dport 2049 -j ACCEPT 
        iptables -A INPUT -p udp --dport 2049 -j ACCEPT 
        iptables -A INPUT -p tcp --dport 30001:30003-j ACCEPT 
        iptables -A INPUT -p udp --dport 30001:30003 -j ACCEPT

     

  6. 使用如下指令重新启动防火墙、然后重启nfs服务测试相关规则添加是否有效:

    service iptables start

    /etc/init.d/nfs start

     

如问题还未解决,请联系售后技术支持