MayBe <Chenwei@bbs.ee.ntu.edu.tw> wrote in message
news:3eM5D3$GjR@bbs.ee.ntu.edu.tw...
>
>         請教一個NAT上的問題:
>         當我處於只有一個真實ip的環境下,若我內部有多部Server要online
>         所以可以使用NAT Server 再依Port去連結處於內部的Server
>         以www來說若我們的www server可以取得client的ip address
>         若我們將www放置於NAT內時則 www Server所取得的Client端ip address
>         則會是NAT Server的IP而不是Client 端的IP...
>         有什麼方法可以兩全其美嗎...
>         Thanks.
--

請問您是如何確定內部 server 受到的封包﹐其來源地址是 NAT 而非遠端主機呢﹖

如果我沒有記錯﹐情形正好相反﹕在做 DNAT 的時候﹐NAT 只會修改 Destination
Address﹐而保留 Source Address。這也是為什麼在 ipchains + ipmasqadm 的時候﹐
會導致從內部網路的 client 連接 NAT 後回到同一個網路之 server 的問題。不過﹐
在新版核心(2.2.4)裡面的 iptables﹐已經可以解決這個問題了﹐也就是連 Source
Address 也改變為 NAT﹐使 server 將封包丟回 NAT ﹐而避免了 Host-Redirect 的
ICMP 信息﹐讓連線順利達成。

假如用 ipchains 的話﹐閣下的問題(如果我或您都沒有解題錯誤)﹐就不用擔心了。