曲径通幽论坛

标题: ”匹配“的概念 [打印本页]

作者: beyes    时间: 2012-2-28 21:27
标题: ”匹配“的概念
每个 iptables 规则都包含一组匹配和一个目标,后者告诉 iptables 对符合规则的数据包应该采取什么动作(如 ACEPT, DROP 等)。

iptalbes 匹配 指的是数据包必须匹配的条件,只有当数据包满足所有的匹配条件时,iptables 才能根据由该规则的目标所指定的动作来处理该数据包。比如,如果想定义只针对 TCP 报文的规则,可以使用 --protocol 匹配。

每个匹配都在 iptables 的命令行中指定。一些较为常见及重要的 iptables 匹配如下所示:

--protocol (-p) :该通用协议匹配用于检查某些特定协议。如 TCP, UDP, ICMP 这 3 种协议,可以同时指定多项,之间用逗号分隔。ALL 用于所有协议,是缺省匹配,可用 ! 号表示不匹配该项)
$ iptables -A INPUT -p TCP,UDP
$ iptables -A INPUT -p !ICMP
上面两条命令都执行同一任务 -- 指定所有 TCP 和 UDP 信息包都将于该规则匹配。!ICMP 表示将 ICMP 排除在外。

--source (-s)  : 匹配源 IP 地址或网络。
$ iptables -A OUTPUT -s 192.168.1.1
$ iptables -A OUTPUT -s 192.168.0.0-24
$ iptables -A OUTPUT -s !184.22.140.20
其中,第 2 条命令指定该规则与所有来自 192.168.0.0 到 192.168.0.24 这个 IP 低脂肪安慰的信息包匹配。第 3 条命令指定该规则将除了来源地址 184.22.140.20 外的任何信息匹配。

--destination (-d) : 匹配目标 IP 地址或网络。
$ iptables -A INPUT -d 192.168.1.1
$ iptables -A INPUT -d 192.168.0.0/24
$ iptables -A OUTPUT -d !184.22.140.20

--in-interface (-i) : 流入接口 (例如 eth0) 。

--out-interface (-o) : 流出接口。

--state : 匹配一组连接状态。

--string : 匹配应用层数据字节序列。

--comment : 在内核内存中为一个规则关联多大 256 个字节的注释数据。




欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2