linux開啓防火牆掛載nfs

       這幾天遇到linux開啓iptabable,掛載nfs出現拒絕情況,查看網上都說的挺繁瑣,先歸類總結一下。

一、配置nfs需要安裝的軟件包:
   nfs-utils-lib-1.0.8-7.9.el5
   nfs-utils-1.0.9-60.el5
   nfs-utils-lib-devel-1.0.8-7.9.el5
   portmap-4.0-65.2.2.1
   (安裝的時候可以用yum庫來安裝,會智能安裝所需的依賴包)

二、配置nfs共享文件:
1、開啓portmap服務:service portmap start;
2、修改配置文件/etc/sysconfig/nfs:刪除MOUNTD_PORT=892前面的#號
3、添加需要的共享文件/etc/exports:
    例如:/first  *(rw,sync,no_root_squash)
4、啓動nfs服務:service nfs start;
5、命令查看nfs使用的端口:netstat -nultp
    portmap(111端口),nfs(2049端口),nfs掛載端口(892端口),其中111和892是tcp,udp都用。
6、添加防火牆策略:
    iptables -I INPUT -p tcp -m multiport --dports 111,892,2049 -j ACCEPT
    iptables -I INPUT -p udp -m multiport --dports 111,892 -j ACCEPT
    (當然,防火牆出口也需要添加這些策略)

三、客戶端掛在nfs共享:
1、查看服務器共享目錄:showmount -e 服務器ip;
2、掛載服務器共享目錄:mount -t nfs server-ip:/first 本地目錄

四、相關問題以及解決方案:
1、NFS服務啓動失敗:
Starting NFS quotas: Cannot register service: RPC: Unable to receive; errno = Connection refused
rpc.rquotad: unable to register (RQUOTAPROG, RQUOTAVERS, udp).[FAILED]
   解決方法:沒有啓動portmap,將portmap啓動即可。
2、客戶端showmount報錯:
    mount clntudp_create: RPC: Port mapper failure - RPC: Unable to receive
    解決方法:沒有打開配置文件中的892端口或者是防火牆禁止了tcp協議的892端口,修改配置文件,啓用892端口並且防火牆允許tcp端口892通過。
3、可以showmount看到共享,可是mount的時候報錯:
    mount: mount to NFS server 'server-ip' failed: timed out (retrying).
    解決方法:沒有將892或者111端口的udp協議允許。添加iptables策略允許相應端口通過。
4、可以showmount看到共享,可是mount的時候報錯:
    mount: mount to NFS server 'server-ip' failed: System Error: Connection refused.
    解決方法:沒有允許tcp協議2094或者111端口通過,添加iptables策略允許響應端口通過。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章