Next Previous Contents

2. 官方的网站和通信论坛何处觅﹖

目前有三个官方网站可供浏览﹕

而官方的 netfilter 邮件论坛﹐则可以到这里看﹕ Samba's Listserver (http://lists.samba.org).

2.1 何为 Network Address Translation?

一般来说﹐在网路上封包从其来源(比方您家中的电脑)出去﹐然后到达目的地(比方www.kernelnotes.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