Linux 2.4 NAT HOWTO 简体中文版

NAT HowTo 简体中文

Linux 2.4 NAT HOWTO 简体中文版

Rusty Russell, mailing list netfilter@lists.samba.org
$Revision: 1.3 $ $Date: 2002/06/05 13:21:56 $
简体中文:洋鬼鬼·NetSnake
感谢 网中人netmanforever@yahoo.com 提供的繁体参照

此文档说明如何进行伪装、透明代理、端口转发,和基于Linux 2.4内核其他类型的 网络地址转换(Network Address Translations)。
1. 简介
2. 官方站点及列表
2.1 什么是NAT?
2.2 我为什么需要NAT?
3. NAT的两种类型
4. 从2.0和2.2内核的快速转换
4.1 我只想伪装!救命!
4.2 关于ipmasqadm
5. NAT能够控制什么
5.1 用iptables做简单的选择
5.2 关于应当挑选哪些包来拆分(mangle)的要点
6. 说说如何拆分包吧
6.1 源地址NAT
6.1.1 伪装
6.2 目的地址NAT
6.2.1 重定向
6.3 深层次的映射
6.3.1 一个范围内多地址的选择
6.3.2 建立空的NAT映射
6.3.3 标准NAT行为
6.3.4 内部源端口映射
6.3.5 假如NAT失败会怎样?
6.3.6 多重映射,重叠和冲突
6.3.7 修改本地生成的连接的目标地址
7. 特定的协议
8. 关于NAT的警告
9. 源地址NAT和选路
10. 同一网络内的目标地址NAT
11. 感谢
1. 简介
欢迎,亲爱的读者。
您将要深入迷人的(有时是令人厌烦的)NAT世界:网络地址转换,这篇HOWTO能够成为您的Linux2.4内核及其以后的准确指南。
在Linux2.4(内核版本),引入了一个叫“netfilter”的部分,专门用于拆分(mangling) (IP)包的。他上一层提供NAT,是完全依靠以前的内核制作的。
(译者注:mangle实在找不出什么合适的翻译,抱歉)
(C) 2000 Paul `Rusty' Russell. Licensed under the GNU GPL.

2、 官方站点及列表位置
这里有三个官方站点:
o Thanks to Filewatcher http://netfilter.filewatcher.org.
o Thanks to The Samba Team and SGI http://netfilter.samba.org.
o Thanks to Harald Welte http://netfilter.gnumonks.org.
您能够通过以下站点访问全部相关站点。
http://www.netfilter.org and http://www.iptables.org
以下是netfilter官方邮件列表
http://www.netfilter.org/contact.html#list.

2、1 什么是网络地址转换(Network Address Translation)?
通常,,网络中的(IP)包从他们的源(地址)出发(比如您家的电脑),到他们的目的地(比如www.gnumonks.org),会经过很多不同的连接(links):例如我所在澳大利亚就有19个。这些连接不会真去修改您的包:他们只是照原样传出去。
(译者注:这里的links应当认为是任何网络节点,包括主机、路由器等。通常,路由器并不是原样传送包,他至少会修改其中一点:TTL)
假如这些连接有一个做NAT,那么他(们)就会修改通过他们的包的源或目标(地址)。正如您猜象的那样,这并非系统设计成那样的,而是NAT做了一些事情。通常进行NAT的连接(主机、服务器、路由器)会记住他是如何拆分包的,而当另一头响应的包通过时,他会对响应的包做相反的拆分,所以世界仍在运转。
(译者注:这一段的mangle应该想象为修改更合适)

2、2 我为什么要NAT?
在完美的世界里,您无需。同时,主要的理由是:
用调制解调器连接Internet
在您拨号上网时,大部分ISP只会给您一个IP地址,您能够发送您想发送的任何源地址包,但是只有响应这个(ISP给您的)地址的包才会返回。假如这种情况下您想有多台不同的机器上网(比如一个家庭网络),您就需要NAT。
这是现在NAT用得最多的功能,Linux世界的"masquerading"(伪装)很出名,我称之为SNAT(SNAT即Source NAT,源地址转换),因为您改变了第一个包的源地址。
(译者:关于IP数据报的第一个包等内容,请参见各TCP/IP书籍)
多(重)服务器
有时您想改变进入网络中的包的目标地址(路由)。经常的,这是因为(就像上面的例子),您只有一个IP地址,但是您希望大家能够通过到那个“真实”的IP地址进入内部。假如您重写了进入包的目标地址,这样就没问题了。这种NAT在以前的Linux版本中被称为端口转发。
一个常见的变种是负载均衡,在一组机器上做映射。假如您要进行严格的比例限制, 可能需要参考Linux Virtual Server。http://linuxvirtualserver.org
透明代理
有时您可能想要经过您的Linux的包被送往本机的一个程式。这就需要用到透明代理了:代理是位于您的网络和外部世界之间的一个程式,帮助二者进行通信。之所以称为透明,是您的网络根本不知道他在和代理交谈,当然直到代理没有正常工作。
Squid能够配置为干这项工作,在以前Linux版本中他被称作重定向或透明代理。

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!