目前有三个官方网站可供浏览:
而官方的 netfilter 邮件论坛,则可以到这里看: Samba's Listserver (http://lists.samba.org).
一般来说,在网路上封包从其来源(比方您家中的电脑)出去,然後到达目的地(比方www.kernelnotes.org),会经过许许多多个不同的连接(links):就我所在的澳洲来说就大约有 19 个之多。没有任何一个连接会真的去更改您的封包:他们仅仅是将之传送出去而已。
假如其中一个连接会做 NAT 的话,然後它们就会更改那些经它而过的封包之来源或目的地地址。诚如您能想像得到的,这并非系统被设计成这样的,而是 NAT 所做的手脚而已。通常要做 NAT 的连线会记住它如何 mangled 封包的,然後当回应封包从另一方向过来的时候,然後就反过来 mangling 那个回应封包,所以所有东西都工作起来了。
在完美的世界里,您无需这样做啦。在目前来说,还是有其理由的:
大多数的 ISP 在您连上去的时候只会给您一个单一 IP 地址。您喜欢的话,以任何来源地址把封包送出去都行,但只有回应到这个来源地址的封包才可以回到您那里。如果您想用多台不同主机(例如家中网路)透过该连接上 internet 的话,那您就要 NAT 了。
这也就是今天 NAT 最常用之处,而在 Linux 世界最为人知的就是所谓的 `masquerading(封包伪装术)' 了。我称之为 SNAT,因为您改变了第一个封包的 source(来源) 地址的缘故。
有时候,您会想去改变那些进入您网路的封包之路向。这最常是因为(如上述)您只有一个 IP 地址,但您却想让别人能够连接到 `真实' IP 地址後面的主机去。如果您重写这些内送封包的目的地址,这样您就可以管理它们了。
一个常见的变动是负载分担(load-sharing),也就是在一组机器上面为封包做映对(mapping)的动作。这类型的 NAT ,在以前的的 Linux 版本中也就被称为 port-forwarding 。
有时候,您或许想要每一个经过您的 Linux 主机的封包送至主机本身的一个程式去。这就需要进行透明代理的动作了:一个代理就是一个位於您的网路和外部网路的程式,为彼此双方负起沟通的任务。而所谓的透明,则是因为您的网路甚至无须知道在和一个代理对讲,当然了,除非代理不再工作了吧。
Squid 可以配置成这样的工作方式,这就是在过往的 Linux 版本中所谓的重导向(redirection)、或透明代理了。