2010年1月11日 星期一

為什麼我要做 NAT 呢

為什麼我要做 NAT 呢﹖
在完美的世界裡﹐您無需這樣做啦。在目前來說﹐還是有其理由的﹕


用 modem 撥接上網
大多數的 ISP 在您連上去的時候只會給您一個單一 IP 地址。您喜歡的話﹐以任何來源地址把封包送出去都行﹐但只有回應到這個來源地址的封包?nbsp;可以回到您那裡。如果您想用多台不同主機(例如家中網路)透過該連接上 internet 的話﹐那您就要 NAT 了。

這也就是今天 NAT 最常用之處﹐而在 Linux 世界最為人知的就是所謂的 `masquerading(封包偽裝術)' 了。我稱之為 SNAT﹐因為您改變了第一個封包的 source(來源) 地址的緣故。

多重伺服器
有時候﹐您會想去改變那些進入您網路的封包之路向。這最常是因為(如上述)您只有一個 IP 地址﹐但您卻想讓別人能夠連接到 `真實' IP 地址後面的主機去。如果您重寫這些內送封包的目的地址﹐這樣您就可以管理它們了。

一個常見的變動是負載分擔(load-sharing)﹐也就是在一組機器上面為封包做映對(mapping)的動作。這類型的 NAT ﹐在以前的的 Linux 版本中也就被稱為 port-forwarding 。

透明代理(Transparent Proxying)
有時候﹐您或許想要每一個經過您的 Linux 主機的封包送至主機本身的一個程式去。這就需要進行透明代理的動作了﹕一個代理就是一個位於您的網路和?nbsp;部網路的程式﹐為彼此雙方負起溝通的任務。而所謂的透明﹐則是因為您的網路甚至無須知道在和一個代理對講﹐當然了﹐除非代理不再工作了吧。

Squid 可以配置成這樣的工作方式﹐這就是在過往的 Linux 版本中所謂的重導向(redirection)﹑或透明代理了。

沒有留言:

張貼留言