手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网站运营>建站经验>列表

Iptables 指南 1.1.19(中文版)(一)

来源:互联网 作者:west263.com 时间:2008-04-16
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

要弄清楚上面的图,能够这样考虑。在第一个路由判断处,不是发往本地的包,我们会发送他穿过 FORWARD链。若包的目的地是本地监听的IP地址,我们就会发送这个包穿过INPUT链,最后到达本地。

值得注意的是,在做NAT的过程中,发往本机的包的目的地址可能会在PREROUTING链里被改变。这个操作发生在第一次路由之前,所以在地址被改变之后,才能对包进行路由。注意,任何的包都会经过上图中的某一条路径。假如您把一个包DNAT回他原来的网络,这个包会继续走完相应路径上剩下的链,直到他被发送回原来的网络。

Tip

想要更多的信息,能够看看rc.test-iptables.txt ,这个脚本包括了一些规则,他们会向您展示包是怎样通过各个表和链的。


3.2. mangle 表

这个表主要用来mangle包,您能够使用mangle匹配来改变包的TOS等特性。

Caution

强烈建议您不要在这个表里做任何过滤,不管是DANT,SNAT或Masquerade。

以下是mangle表中仅有的几种操作:

  • TOS

  • TTL

  • MARK

TOS操作用来配置或改变数据包的服务类型域。这常用来配置网络上的数据包如何被路由等策略。注意这个操作并不完善,有时得不所愿。他在Internet上还不能使用,而且很多路由器不会注意到这个域值。换句话说,不要配置发往Internet的包,除非您打算依靠TOS来路由,比如用iproute2。

TTL操作用来改变数据包的生存时间域,我们能够让任何数据包只有一个特别的TTL。他的存在有一个很好的理由,那就是我们能够欺骗一些ISP。为什么要欺骗他们呢?因为他们不愿意让我们共享一个连接。那些ISP会查找一台单独的电脑是否使用不同的TTL,并且以此作为判断连接是否被共享的标志。

MARK用来给包配置特别的标记。iproute2能识别这些标记,并根据不同的标记(或没有标记)决定不同的路由。用这些标记我们能够做带宽限制和基于请求的分类。


3.3. nat 表

此表仅用于NAT,也就是转换包的源或目标地址。注意,就象我们前面说过的,只有流的第一个包会被这个链匹配,其后的包会自动被做相同的处理。实际的操作分为以下几类:

  • DNAT

  • SNAT

  • MASQUERADE

DNAT操作主要用在这样一种情况,您有一个合法的IP地址,要把对防火墙的访问重定向到其他的机子上(比如DMZ)。也就是说,我们改变的是目的地址,以使包能重路由到某台主机。

SNAT改变包的源地址,这在极大程度上能够隐藏您的本地网络或DMZ等。一个很好的例子是我们知道防火墙的外部地址,但必须用这个地址替换本地网络地址。有了这个操作,防火墙就能自动地对包做SNAT和De-SNAT(就是反向的SNAT),以使LAN能连接到Internet。假如使用类似 192.168.0.0/24这样的地址,是不会从Internet得到任何回应的。因为IANA定义这些网络(更有其他的)为私有的,只能用于LAN内部。

MASQUERADE的作用和MASQUERADE完全相同,只是电脑的负荷稍微多一点。因为对每个匹配的包,MASQUERADE都要查找可用的IP地址,而不象SNAT用的IP地址是配置好的。当然,这也有好处,就是我们能够使用通过PPP、 PPPOE、SLIP等拨号得到的地址,这些地址可是由ISP的DHCP随机分配的。


3.4. Filter 表

filter 表用来过滤数据包,我们能够在任何时候匹配包并过滤他们。我们就是在这里根据包的内容对包做DROP或ACCEPT的。当然,我们也能够预先在其他地方做些过滤,但是这个表才是设计用来过滤的。几乎任何的target都能够在这儿使用。大量具体的介绍在后面,现在您只要知道过滤工作主要是在这儿完成的就行了。


Chapter 4. 状态机制

本章将周详介绍状态机制。通读本章,您会对状态机制是如何工作的有一个全面的了解。我们用一些例子来进行说明状态机制。实践出真知嘛。


4.1. 概述

状态机制是iptables中特别的一部分,其实他不应该叫状态机制,因为他只是一种连接跟踪机制。但是,很多人都认可状态机制这个名字。文中我也或多或或少地用这个名字来表示和连接跟踪相同的意思。这不应该引起什么混乱的。连接跟踪能够让Netfilter知道某个特定连接的状态。运行连接跟踪的防火墙称作带有状态机制的防火墙,以下简称为状态防火墙。状态防火墙比非状态防火墙要安全,因为他允许我们编写更严密的规则。

在iptables里,包是和被跟踪连接的四种不同状态有关的。他们是NEWESTABLISHEDRELATEDINVALID。后面我们会深入地讨论每一个状态。使用--state匹配操作,我们能很容易地控制 “谁或什么能发起新的会话”。

任何在内核中由Netfilter的特定框架做的连接跟踪称作conntrack(译者注:就是connection tracking 的首字母缩写)。conntrack能够作为模块安装,也能够作为内核的一部分。大部分情况下,我们想要,也需要更周详的连接跟踪,这是相比于缺省的conntrack而言。也因为此,conntrack中有许多用来处理TCP, UDP或ICMP协议的部件。这些模

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