常規的一些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文件.
- # vi /etc/sysconfig/nfs
更改下面的配置,將端口分配為一個沒被占用的
- # TCP port rpc.lockd should listen on.
- LOCKD_TCPPORT=lockd-port-number
- # UDP port rpc.lockd should listen on.
- LOCKD_UDPPORT=lockd-port-number
- # Port rpc.mountd should listen on.
- MOUNTD_PORT=mountd-port-number
- # Port rquotad should listen on.
- RQUOTAD_PORT=rquotad-port-number
- # Port rpc.statd should listen on.
- STATD_PORT=statd-port-number
- # Outgoing port statd should used. The default is port is random
- STATD_OUTGOING_PORT=statd-outgoing-port-numbe
下面是我用於測試的機器上修改的內容
- RQUOTAD_PORT=6005
- LOCKD_TCPPORT=6004
- LOCKD_UDPPORT=6004
- MOUNTD_PORT=6002
- STATD_PORT=6003
- STATD_OUTGOING_PORT=6006
保存退出后就可以重啟nfs服務,portmap服務
- # service portmap restart
- # service nfs restart
下面就是iptables方面的配置了,蚊子這里因為是學習,所以設置的比較嚴格,下面先說下我的環境
1,兩台Server:192.168.211.128(nfs-server),192.168.211.129(nfs-client)
2,nfs-server上只允許nfs,ssh的訪問,其余都拒絕
下面是我的iptables的配置
- iptables -A INPUT -p tcp -s 192.168.211.0/24 –dport 22 -m state –state NEW,ESTABLISHED,RELATED -j ACCEPT
- iptables -A INPUT -i lo -j ACCEPT
- iptables -A INPUT -p tcp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 6002 -j ACCEPT
- iptables -A INPUT -p tcp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 6003 -j ACCEPT
- iptables -A INPUT -p tcp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 6004 -j ACCEPT
- iptables -A INPUT -p tcp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 6005 -j ACCEPT
- iptables -A INPUT -p tcp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 6006 -j ACCEPT
- iptables -A INPUT -p udp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 6002 -j ACCEPT
- iptables -A INPUT -p udp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 6003 -j ACCEPT
- iptables -A INPUT -p udp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 6004 -j ACCEPT
- iptables -A INPUT -p udp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 6005 -j ACCEPT
- iptables -A INPUT -p udp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 6006 -j ACCEPT
- iptables -A INPUT -p tcp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 111 -j ACCEPT
- iptables -A INPUT -p udp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 111 -j ACCEPT
- iptables -A INPUT -p tcp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 2049 -j ACCEPT
- iptables -A INPUT -p udp -m state –state NEW,ESTABLISHED,RELATED -s 192.168.211.0/24 –dport 2049 -j ACCEPT
- iptables -P INPUT DROP
第一條就是允許連接ssh
第二條作用是在啟動nfs的時候,nfs-server會通過本地回環接口與portmap進行會話,所以需要允許
最后一條是設置input鏈的默認策略為drop
中間的就是允許nfs-server相應的端口了
如果在配置iptables的時候有問題可以使用service iptables restart重置,如果沒有問題就可以使用service iptables save保存相應的配置,保存的配置文件放在/etc/sysconfig/iptables里.