NAT主機無法收信的問題

這個版面主要討論 debian 在 server 端的應用問題, server 種類繁多..舉凡 Web Server 、 File Server、 DHCP Server..等等。

版主: 阿信

NAT主機無法收信的問題

文章cshjssy » 週日 8月 14, 2005 3:31 pm

小弟用sarge架了一台NAT主機(含DHCP,proxy,防火牆等)
在NAT主機後的區網可以正常的使用www,ftp,msn,yahoo等
但就是無法用pop3收信 :crying:

其中使用gmail等有ssl安全連線的信箱可以收信
只有使用pop3 port 110的方式無法收信

收信時會說:找到主機,送出登入資訊中...
然後就停住不動了 :-?

為排除防火牆沒設好的因素
已清除所有規則,且將預設政策設為accept
只有入NAT的規則,其設定如下:

#網路參數
EXT_IF="ppp0" #連外介面
LAN_IF="eth1" #內部區網介面
LAN_NET="192.168.0.0/24" #內部區網網址

# 清除 iptables 設定
iptables -F
iptables -X
iptables -Z
iptables -F -t nat
iptables -X -t nat
iptables -Z -t nat
ip6tables -F
ip6tables -X
ip6tables -Z

# 設定預設的過濾原則
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT

# NAT主機設定
iptables -t nat -A POSTROUTING -s $LAN_NET -o $EXT_IF -j MASQUERADE

--

在同樣的設定下,若只將client端gateway改設到之前用woody架的nat主機(同樣含DHCP,proxy)就可正常用pop3收信,
而用sarge架的這台就不行.... :crying:

請問是NAT有什麼設定沒設到嗎?
cshjssy
可愛的小學生
可愛的小學生
 
文章: 55
註冊時間: 週四 7月 15, 2004 5:45 pm
來自: 新竹

文章cshjssy » 週六 8月 27, 2005 4:14 pm

自問自答
規則加入
iptables -A FORWARD -o $EXT_IF -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1536 -j TCPMSS --clamp-mss-to-pmtu
就ok了! :finger1:

試了好久才知道
如只有
iptables -t nat -A POSTROUTING -s $LAN_NET -o $EXT_IF -j MASQUERADE
的nat規則時
上面那個FORWARD規則就會自動出現

而因小弟在設定防火牆時一開始會清除所有規則
就把這FORWARD規則清掉了
造成不能收信及一些網站不能上的問題
不能上的網頁如tw.yahoo.com、windows update等
但又有些能上去,如moto、google等

這個FORWARD規則
iptables -A FORWARD -o ppp0 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1536 -j TCPMSS --clamp-mss-to-pmtu
是設定對
輸出介面為ppp0且tcp旗標為SYN,RST SYN且mss值在1400到1536之間的封包
使其MSS(Maximum Segment Size)比PMTU(Path Maximum Transmission Unit)少40 bytes
其中--tcpmss篩選條件只對TCP SYN或SYN/ACK封包有效

雖然知道這規則在作啥 :-)
但還是不知道為何要加入這規則? :ooops:

有知道的人可以分享一下嗎?
cshjssy
可愛的小學生
可愛的小學生
 
文章: 55
註冊時間: 週四 7月 15, 2004 5:45 pm
來自: 新竹


回到 debian server

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客

cron