Linux 2.4 NAT HOWTO

作者:Rusty;Russell,;mailing;list;netfilter@lists.samba.org
译者:网中人;netmanforever@yahoo.com
v1.0.1;Mon;May;1;18:38:22;CST;2000;


--------------------------------------------------------------------------------
本文件描述如何用;2.4;Linux;核心去做;masquerading、transparent;proxying、port;forwarding、和其它类型的;Network;Address;Translations; 。;
--------------------------------------------------------------------------------



--------------------------------------------------------------------------------

1.;Introduction
亲爱的读者 , 欢迎您!;


您将要探索的是引人入胜(有时蛮恐怖)的;NAT(Network;Address;Translation);世界 , 同时 , 您甚至可以把这份;HOWTO;当成;Linux;2.4;核心及以後版本的精确指南呢 。;


在;Linux;2.4;里面 , 有一个叫;`netfilter";的东东 , 它是专门撕裂;(mangling*;)封包的 。在它再上一个层级 , 就是提供;NAT;功能的了 , 则是完全由以往的核心实作而成的 。;


(译者注:很奇怪 , 原作者用;mangle;这一词 , 似乎在过往的中文文件中都没碰到过 , 查过好多字典都不知道怎麽翻译好 。这里暂时勉强用‘撕裂’这个词代替 , 不过後面我就不尝试翻译这词了 , 让读者自己去理解吧 。);



--------------------------------------------------------------------------------


--------------------------------------------------------------------------------

2.;官方的网站和通信论坛何处觅?
目前有三个官方网站可供浏览:;

感谢;Filewatcher;(http://netfilter.filewatcher.org).;
感谢;The;Samba;Team;and;SGI;(http://www.samba.org/netfilter).;
感谢;Jim;Pick;(http://netfilter.kernelnotes.org).;

而官方的;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; 。;

推荐阅读