当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > Linux 2.4 NAT HOWTO

Unix/Linux
Linux 备份 恢复方法
Linux玩CS反恐精英的方法
在一个ISO镜像中集成多个不同的linux发行版,可刻盘,可引导
Linux 快捷键使用
Linux DHCP 服务器配置方法介绍
Linux 22端口的修改方法
Linux 记录会话过程的命令
Linux 后台执行程序如何操作?
linux Wget命令来浏览网页的方法
Linux tail命令的巧妙应用
Wine 中文存在很多的乱码怎么解决方法
linux 新手教程之创建锁文件的方法
配置Linux 保证其系统的安全
Linux DHCP协议实现过程
Linux系统下破解SAM密码
linux/unix vi 编辑器用法详解
Linux 误删文件的解决方法
Linux系统下的历史记录删除方法
Red Hat Linux 安全设置指南
Linux基本命令-注销、关机、重启

Unix/Linux 中的 Linux 2.4 NAT HOWTO


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 49 ::
收藏到网摘: n/a

  作者:Rusty Russell, mailing list [email protected]
译者:网中人 [email protected]
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 。 


透明代理(Transparent Proxying)
有时候,您或许想要每一个经过您的 Linux 主机的封包送至主机本身的一个程式去。这就