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 的話﹐閣下的問題(如果我或您都沒有解題錯誤)﹐就不用擔心了。