Linux 2.4 NAT(网络地址转换) HOWTO(一)

1. Introduction

亲爱的读者﹐欢迎您﹗

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

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

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

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

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

而官方的 netfilter 邮件论坛﹐则可以到这里看﹕ Netfilter List.

2.1 何为 Network Address Translation?

一般来说﹐在网络上封包从其来源(比方您家中的计算机)出去﹐然后到达目的地(比方www.gnumonks.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)﹑或透明代理了。










本文转自 makewong 51CTO博客,原文链接:http://blog.51cto.com/makewong/565359,如需转载请自行联系原作者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值