Next Previous Contents

2. 官方的網站和通信論壇何處覓﹖

目前有三個官方網站可供瀏覽﹕

而官方的 netfilter 郵件論壇﹐則可以到這裡看﹕ Netfilter List.

2.1 何為 Network Address Translation?

一般來說﹐在網路上封包從其來源(比方您家中的電腦)出去﹐然後到達目的地(比方www.gnumonks.org)﹐會經過許許多多個不同的連接(links)﹕就我所在的澳洲來說就大約有 19 個之多。沒有任何一個連接會真的去更改您的封包﹕他們僅僅是將之傳送出去而已。

假如其中一個連接會做 NAT 的話﹐然後它們就會更改那些經它而過的封包之來源或目的地地址。誠如您能想像得到的﹐這並非系統被設計成這樣的﹐而是 NAT 所做的手腳而已。通常要做 NAT 的連線會記住它如何 mangled 封包的﹐然後當回應封包從另一方向過來的時候﹐然後就反過來 mangling 那個回應封包﹐所以所有東西都工作起來了。

2.2 為什麼我要做 NAT 呢﹖

在完美的世界裡﹐您無需這樣做啦。在目前來說﹐還是有其理由的﹕

用 modem 撥接上網

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

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

多重伺服器

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

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

透明代理(Transparent Proxying)

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

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


Next Previous Contents