Chinaunix首页 | 论坛 | 博客
  • 博客访问: 534509
  • 博文数量: 184
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 2490
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-09 11:34
文章分类

全部博文(184)

文章存档

2011年(1)

2010年(2)

2009年(12)

2008年(169)

我的朋友

分类: LINUX

2008-06-09 12:29:36

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

2.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.mangle

这个表主要用来mangle包,你可以使用mangle匹配来改变包的TOS等特性。

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

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

  • TOS

  • TTL

  • MARK

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

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

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

举列说明

     iptables -t filter -A INPUT -s 192.168.1.1 -j ACCEPT

         #允许源地址为192.168.1.1访问本机

    iptables -t filter -I INPUT -s 192.168.1.0/24 -p tcp --dport 80 -j DROP

         #拒绝源地址为192.168.1.0的网段访问目标端口80   

   如做NAT服务,需先启用内核路由功能:echo "1">proc/sys/net/ipv4/ip_forware

iptables -t nat -A POSTROUTING -s 172.16.0.0/16 -o (出口) -j SNAT -- to 绑定的外网静态地址(你的出口地址)

      #把172.16网段出去之后的地址映射为一个外网地址

 

iptables -t nat -A POSTROUTING -s 172.16.1.1/16 -o (出口) -j SNAT -- to 211.211.211.211

iptables -t nat -A POSTROUTING -d 211.211.211.211 -i (进口) -j DNAT -- to 172.16.1.1

      #单把把172.16.1.1映射为一个外网地址,俩条对映

阅读(547) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~