iptables介绍

 

1: tables表是链的容器, 链是规则的容器, netfilter是表的容器

   Chain

                           

Managle

Nat

Filter

 

INPUT

V

 

V

 

OUTPUT

V

V

V

 

FORWARD

V

 

V

 

PREROUTING

V

V

 

 

POSTROUTING

V

V

 

 

 

2:

以本地为目的的

(1)  PREROUTING, managle, nat

(2). INPUT, 是经过路由发送本地程序的被包含在两个表中

以本地为源的

(1)    OUTPUT ,managle, nat, filter

(2)    POSTROUTING, managle nat

 被转发的报文

(1)    PREROUTING , managle, nat

(2)    FORWARD, managle, filter,

(3)    POSTROTING , managle, nat

 iptables <wbr>介绍

 规则链维护选项

 

1.建立新的规则链(-N)

2.删除一个空的规则链(-X)

3.改变一个内置规则链的策略(-P)

4.列出一条规则链中的规则(-L)

5.擦写一条规则链中的规则(-F)

 

规则维护

 

1.在一条规则链中加入一条新的规则(-A)

2.删除一条规则链中某个位置的规则(-D) 

应用 

(1)虚拟主机:

 解释,利用转址、转 port的方式,使外部网路的封包,可以到达内部网路中的伺服主机,俗称虚拟主机

 通常使用DNAT “iptables -t nat -A PREROUTING -ieth0 -p tcp -d $FW_IP --dport 80 -j DNAT --to-destination172.16.255.2:80”

模块

(1) limit

10. limit匹配扩展

 

 

 

limit扩展是一个非常有用的匹配扩展。使用-m nat来指定,其后可以有两个选项:

 

 

 

--limit avg:指定单位时间内允许通过的数据包的个数。单位时间可以是/second、/minute、/hour、/day或使用第一个字母,比如5/second和5/s是一样的,都是表示每秒可以通过5个数据包,缺省值是3/hour。

 

 

 

  --limit-burstnumber:指定触发事件的阀值,缺省值是5。

 

 

 

看起来好像有点复杂,就让我们来看一个例子:

假设又如下的规则:

iptables -A INPUT -p icmp -m limit--limit 6/m --limit-burst 5 -j ACCEPT

iptables -P INPUT DROP

然后从另一部主机上ping这部主机,就会发生如下的现象:

首先我们可以看到前四个包的回应都很正常,然后从第五个包开始,我们每10秒可以收到一个正常的回应。这是因为我们设定了单位时间(在这里是每分钟)内允许通过的数据包的个数是每分钟6个,也即每10秒钟一个;其次我们又设定了事件触发阀值为5,所以我们的前四个包都是正常的,只是从第五个包开始,限制规则开始生效,故只能每10秒收到一个正常回应。

假设我们停止ping,30秒后又开始ping,这时的现象是:

前两个包是正常的,从第三个包开始丢包,这是因为在这里我的允许一个包通过的周期是10秒,如果在一个周期内系统没有收到符合条件的包,系统的触发值就会恢复1,所以假如我们30秒内没有符合条件的包通过,系统的触发值就会恢复到3,假如5个周期内都没有符合条件的包通过,系统都触发值就会完全恢复。不知道你明白了没有,欢迎你来信讨论。

(2) mac :-m mac --mac-source mac地址

(3)多port -m multiport --dport ! 80 8080

(4)多ip -m iprange --src-rangeip1-ip2


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值