Song <Song.bbs@bbs.cynix.com.tw>
wrote in message
news:3dKkeF$5TZ@bbs.cynix.com.tw...
> ※ 引述《netmanforever@yahoo.com
(網中人)》之銘言:
> > Song <Song.bbs@bbs.cynix.com.tw>
wrote in message
> > news:3dKYl9$6z_@bbs.cynix.com.tw...
> > > ?? 這是說您沒有自己架設 DNS
嗎?
> > > 那麼您內部電腦的 DNS
指向哪裡?
> > > 最簡單的解決方式是,在 client
上建立 hosts 檔,設定
mail.domain.com
> > > 的 IP 指向內部位置,而非
Firewall 的 eth0。
> > >
但這會造成後續維護上的困難。
> > > 如果您有自己架設 DNS,您可以在
DNS 上修改 /etc/hosts 的設定,
> > > 將 mail.domain.com 的 IP
指向內部位置,而非 Firewall 的 eth0。
> > > 這個問題應還是 ICMP 的 Redirect
所產生的問題,您可找尋舊的文章:
> > > [問題]NAT中redirect port如何讓private
ip也能access?
> > > 這個系列的討論文章。
> > song 兄﹐這問題似乎需要再探討一下的。
> > 關於DNS﹐他也說過是 ISP 那邊幫忙指定的﹐只要 IP
找對了﹐是否在自己網路上
架
> > DNS 似乎影響不大﹐除非兩邊的 DNS
資料不一至。他已經指出用 IP 來連接的
話﹐沒
> > 有問題。那他這裡所指的 IP﹐在 outlook 上面應該是設
POP 的 IP 吧﹖當然也
可以
> > 設定 SMTP
的﹐但不確定不是他所問的。不過﹐他又說在家可以連接﹐那這樣的推
斷﹐
> > 是不是他自己的 DNS 設定有問題﹖
>
> ㄣ ... 弟詢問 DNS
的位置是想確認,如果有自己架設的 DNS 才能在其上修改
> /etc/hosts 的設定。
>
> > 如果 DNS 設定沒問題﹐那就回到前一個問題﹕究竟
server 擺在那邊﹖在內部嗎
﹖那
> > 會碰到 host route redirect 的 ICMP
問題。解決之道是可以修改內部的 DNS ﹐
讓之
> > 指到內部 server 的 IP 去﹐或是在所有 clients 上面用
hosts 檔來寫死地址。
>
> 是的,弟也是指出可建立 client 上的
hosts 檔,只是這樣日後維護會很累。
> 所以弟也是建議修改 DNS 上的 /etc/hosts
檔。(如果有 DNS 的話 :)
> 只是弟少提了一個地方,就是
/etc/host.conf 及 /etc/resolv.conf
> 的相關性。 :)
>
> > 另一個方法是升級到 kernel 2.4 用 iptables 來做﹕
> > # iptables -t nat -A PREROUTING -d 1.2.3.4 \
> > -p tcp --dport 80 -j
DNAT --to 192.168.1.1
> > # iptables -t nat -A POSTROUTING -d 192.168.1.1 -s 192.168.1.0/24 \
> > -p tcp --dport 80 -j
SNAT --to 192.168.1.250
>
> Yes, 本來也想提這個 iptables,但是又想大概還很少人在用,所以就算了。
>
既然提到了,怎能不順勢推薦一下您的新作? :)
誤導觀眾哦﹐應聲新(譯)作啦。 :)
> Linux 2.4 Packet Filtering HOWTO
> http://ccns.ncku.edu.tw/study_area/tips/packet-filter-howto
>
/packet-filtering-HOWTO-chn.html
謝謝 Song 兄推薦。除了這篇 packet-filter ﹐同時還有另一便 NAT
的 HOWTO 放在
上面﹐歡迎有興趣研究 iptables 的朋友來交流一下心得﹗
>
>
> >
他原本的架構是有三張網路卡﹕一對外﹐一對內﹐一對 DMZ。
> > 我想(雖然他沒明確指出)﹐客戶端的 request
應該會從對內界面傳入﹐然後經過
port
> > forward 之後會由 DMZ
的界面出去。照這樣的設計﹐應該不至於出現 ICMP
Redirect
> > 的現象才對。
>
>
這點弟也不敢確定,但是推斷起來還是非常有可能。
> 如果,port forward 設定的 IP
所處的介面是在「對內介面」的話,就可以肯
定
> 不會發生。但是現在 port forward 設定的
IP 應該是在「對外介面」上,所以
> 其封包所經過的路徑為:
> client → 「對內介面」 →
「對外介面」 → 「DMZ介面」 → Server
>
他還是可以將「對外介面」這關省略掉。
弟認為是否「省略」對外界面﹐並不導致 ICMP 之 Redirect。
router 之所以會回應 host-route-redirect
封包﹐是因為它檢查到來源與目的地之間
存在著更短(佳)路徑。
以目前的假設來看﹐有下面兩種情況﹕
1) client → 「對內介面」 → 「對外介面」 → 「DMZ介面」 →
Server
2) client → 「對內介面」 → 「DMZ介面」 → Server
無論是那個路徑﹐client 和 server 的最佳路徑還是會經過 router
本身(也就是依然
從對內界面傳入)﹐所以不會有 host-route-redirect 的 ICMP
封包回應給 client。
既然封包仍是經過這台 NAT﹐那封包改寫就不成問題。
>
> >
無論如何﹐在判斷問題之前﹐我們有必要先將一些不必要的非明朗因素排除掉﹐例
如確
> > 定封包沒有被 ipchains
或其它過濾系統擋掉了﹐以及路由的設定是可行的。
>
>
如果封包被檔掉,或是路由設定的問題的話,應該是指定 IP
也不行的。
> 而,由外面進入又是正常,表示 port
forward 的 ipmasqadm 的設定都有完
成,
> 不論是 smtp 或是 pop3
。
嗯﹐看來原來的提問似乎有點不清楚﹐或是把狀況搞混所至。這裡似乎有一個怪圈的存
在﹕
既然 IP 通﹐那就不管 ICMP 的 Redirect 了﹔那就是 DNS 的問題。
但既然外面通﹐那又似乎是不是 DNS 的問題﹐而像是一個
Redirect 的問題。
>
> 所以,弟才會直接妄下猜測,認為其為
ICMP 的 Redirect 所產生的問題。
> 還請 兄指教。
請教不敢當﹐song
兄的能力遠在弟之上。只是看到了也就和大家討論一下而已。