請教:NFS功能,伺服器端Iptables的設置

火星人 @ 2014-03-04 , reply:0
←手機掃碼閱讀

請教:NFS功能,伺服器端Iptables的設置

  如果啟動 iptables,剛客戶端可以訪問NFS伺服器,但一在NFS伺服器端啟動iptables,客戶端就無法訪問NFS伺服器。

  請教:在NFS伺服器端啟動了iptables的情況下,如何修改 iptables 的規則使客戶端能夠訪問NFS伺服器。 謝謝!
《解決方案》

這個是代理伺服器嗎?``忘記了
《解決方案》

具體情況是這樣的:
系統版本:Red Hat Enterprise Linux AS release 4 (Nahant Update 1)
做NFS伺服器的IP:192.168.0.2
客戶端IP: 192.168.0.10
當 192.168.0.2這個NFS伺服器啟動的 iptables的時候,客戶端(192.168.0.10)不能訪問NFS伺服器。

當 192.168.0.2這個NFS伺服器不啟動iptables的時候,客戶端(192.168.0.10)可以訪問NFS伺服器。

我現在要上NFS伺服器啟動iptables,同時客戶端也能訪問NFS伺服器。所以要改一下iptables的規則,但不清楚如何改。還請高手指點一下。
《解決方案》

Iptables啟動后,默認的規則:

# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT
:FORWARD ACCEPT
:OUTPUT ACCEPT
:RH-Firewall-1-INPUT -
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
《解決方案》

rpc 相關服務的一些 port 是動態建立的,與那個 ftp active/passive mode 有一點點類似情況。

iptables 有一個 rpc 的 MATCH EXTENSION 項目,您就 iptables -m rpc -h 先簡單看一下好了。

不過 rpc 似乎不是一個正式進入 iptables release 發行版本內,所以似乎要自己 patch ?


RPC v1.3.3 options:
  --rpcs list,of,procedures     a list of rpc program numbers to apply
                                ie. 100003,mountd,rquotad (numeric or
                                name form; see /etc/rpc).
  --strict                      a flag to force the drop of packets
                                not containing "get" portmapper requests.


==
《解決方案》

所以,如時機要起NFS的話,還是把IPTABLES關掉吧
《解決方案》

最近該問題也遇到所以測試了一下

由於 nfs rpc 等服務對 portmap 註冊產生厚的 port 是隨機建立的,所以依據 rh-based 系統 /etc/init.d/nfs 與 /etc/init.d/nfslock 的 script 來看,可以改一下設定檔案讓這兩個服務 script 執行時傳給 daemon 相關 port 來運作溝通。\r

於 /etc/sysconfig/nfs 像是這樣設定:


MOUNTD_PORT="4002"
STATD_PORT="4003"
LOCKD_TCPPORT="4004"
LOCKD_UDPPORT="4004"


這樣 rpc.mountd 與 rpc.statd 等等程式就會固定 port 提供服務,而若是不確定可以用 pcinfo -p localhost 確認一下。

最後請開放 firewall 部份打開,這些 port 的 tcp 與 udp protocol,包含 nfs 的 port 2049 與 portmap 用的 port 111 都開放即可使用。

--




[火星人 via ] 請教:NFS功能,伺服器端Iptables的設置已經有212次圍觀

http://www.coctec.com/docs/service/show-post-32776.html