您好,欢迎来到测品娱乐。
搜索
您的当前位置:首页iptables参数详解

iptables参数详解

来源:测品娱乐
iptables参数详解

⼀、limit:速率-m limit 说明:

--limit 1000/s #设置最⼤平均匹配速率

--limit 5/m --limit-burst 15 #表⽰⼀开始能匹配的数据包数量为15个,每匹配到⼀个,limit-burst的值减1,所以匹配到15个时,该值为0,每过12s,limit-burst的值会加1,表⽰⼜能匹配1个数据包例⼦:

iptables -A INPUT -i eth0 -m limit --limit 5/m --limit-burst 15 -j ACCEPT iptables -A INPUT -i eth0 -j DROP注意要点:

1、--limit-burst的值要⽐--limit的⼤

2、limit本⾝没有丢弃数据包的功能,因此,需要第⼆条规则⼀起才能实现限速的功能⼆、time :在特定时间内匹配-m time 说明:

--monthdays day1[,day2]在每个⽉的特定天匹配--timestart hh:mm:ss

在每天的指定时间开始匹配--timestop hh:mm:ss

在每天的指定时间停⽌匹配--weekdays day1[,day2]

在每个星期的指定⼯作⽇匹配,值可以是1-7例⼦:

iptables -A INPUT -i eth0 -m time --weekdays 1,2,3,4 -jACCEPTiptables -A INPUT -i eth0 -j DROP

三、ttl:匹配符合规则的ttl值的数据包-m ttl 说明:--ttl-eq 100

匹配TTL值为100的数据包--ttl-gt 100

匹配TTL值⼤于100的数据包--ttl-lt 100

匹配TTL值⼩于100的数据包例⼦:

iptables -A OUTPUT -m ttl --ttl-eq 100 -j ACCEPT

四、multiport:匹配离散的多个端⼝-m multiport 说明:

--sports port1[,port2,port3]匹配源端⼝

--dports port1[,port2,port3]匹配⽬的端⼝

--ports port1[,port2,port3]匹配源端⼝或⽬的端⼝例⼦:

iptables -A INPUT -m multiport --sports 22,80,8080 -j DROP

五、state:匹配指定的状态数据包-m state 说明:--state value

value可以为NEW、RELATED(有关联的)、ESTABLISHED、INVALID(未知连接)例⼦:

iptables -A INPUT -m state --state NEW,ESTABLISHED -j ACCEPT六、mark:匹配带有指定mark值的数据包-m mac 说明:--mark value

匹配mark标记为value的数据包例⼦:

iptables -t mangle -A INPUT -m mark --mark 1 -j DROP

拒绝特定的mac地址访问例⼦:

iptables -A FORWARD -m mac --mac-source 00:0C:24:FA:19:80 -j DROP

其它参数详解

参数 --tcp-flags

只过滤TCP中的⼀些包,⽐如SYN包,ACK包,FIN包,RST包等等例如: iptables -p tcp --tcp-flags SYN,FIN,ACK SYN

说明 ⽐对 TCP 封包的状态旗号,参数分为两个部分,第⼀个部分列举出想⽐对的旗号,第⼆部分则列举前述旗号中哪些有被设,未被列举的旗号必须是空的。TCP 状态旗号包括:SYN(同步)、ACK(应答)、FIN(结束)、RST(重设)、URG(紧急)PSH(强迫推送)等均可使⽤于参数中,除此之外还可以使⽤关键词 ALL 和

NONE 进⾏⽐对。⽐对旗号时,可以使⽤ ! 运算⼦⾏反向⽐对。参数 --syn

例如: iptables -p tcp --syn

说明 ⽤来⽐对是否为要求联机之 TCP 封包,与 iptables -p tcp --tcp-flags SYN,FIN,ACK的作⽤完全相同,如果使⽤ !,可⽤来⽐对⾮要求联机封包。

参数 -m multiport --source-port

例如: iptables -A INPUT -p tcp -m multiport --source-port 22,53,80,110

说明 ⽤来匹配不连续的多个来源端⼝,⼀次最多可以匹配 15 个端⼝,可以使⽤ ! 进⾏反向⽐对。参数 -m multiport --destination-port

例如: iptables -A INPUT -p tcp -m multiport --destination-port 22,53,80,110说明 ⽤来匹配不连续的多个⽬的地端⼝,设定⽅式同上。参数 -m multiport --port

例如: iptables -A INPUT -p tcp -m multiport --port 22,53,80,110

说明 这个参数⽐较特殊,⽤来匹配来源端⼝号和⽬的端⼝号相同的封包,设定⽅式同上。注意:在本范例中,如果来源端⼝号为 80⽬的端⼝号为 110,这种封包并不算符合条件。参数 --icmp-type

例如: iptables -A INPUT -p icmp --icmp-type 8(icmp-request=8;icmp-reply=0)

说明 ⽤来⽐对 ICMP 的类型编号,可以使⽤代码或数字编号来进⾏⽐对。⽤ iptables -p icmp --help 来查看有哪些代码可⽤。参数 -m limit --limit

例如: iptables -A INPUT -m limit --limit 3/hour

说明 ⽤来⽐对某段时间内封包的平均流量,上⾯的例⼦是⽤来⽐对:每⼩时平均流量是否超过⼀次 3 个封包。 除了每⼩时平均次外,也可以每秒钟、每分钟或每天平均⼀次,默认值为每⼩时平均⼀次,参数如: /second、 /minute、/day。 除了进⾏封数量的⽐对外,设定这个参数也会在条件达成时,暂停封包的⽐对动作,以避免因骇客使⽤洪⽔攻击法,导致服务被阻断。参数 --limit-burst

例如: iptables -A INPUT -m limit --limit-burst 5

说明 ⽤来⽐对瞬间⼤量封包的数量,上⾯的例⼦是⽤来⽐对⼀次同时涌⼊的封包是否超过 5 个(这是默认值),超过此上限的封将被直接丢弃。使⽤效果同上。参数 -m mac --mac-source

例如: iptables -A INPUT -m mac --mac-source 00:00:00:00:00:01

说明 ⽤来⽐对封包来源⽹络接⼝的硬件地址,这个参数不能⽤在 OUTPUT 和 Postrouting规则炼上,这是因为封包要送出到⽹后,才能由⽹卡驱动程序透过 ARP 通讯协议查出⽬的地的 MAC 地址,所以 iptables 在进⾏封包⽐对时,并不知道封包会送到哪个⽹络接⼝去。参数 --mark

例如: iptables -t mangle -A INPUT -m mark --mark 1

说明 ⽤来⽐对封包是否被表⽰某个号码,当封包被⽐对成功时,我们可以透过 MARK 处理动作,将该封包标⽰⼀个号码,号码最不可以超过 4294967296。

参数 -m owner --uid-owner

例如: iptables -A OUTPUT -m owner --uid-owner 500

说明 ⽤来⽐对来⾃本机的封包,是否为某特定使⽤者所产⽣的,这样可以避免服务器使⽤ root 或其它⾝分将敏感数据传送出,可以降低系统被骇的损失。可惜这个功能⽆法⽐对出来⾃其它主机的封包。参数 -m owner --gid-owner

例如: iptables -A OUTPUT -m owner --gid-owner 0

说明 ⽤来⽐对来⾃本机的封包,是否为某特定使⽤者群组所产⽣的,使⽤时机同上。参数 -m owner --pid-owner

例如: iptables -A OUTPUT -m owner --pid-owner 78

说明 ⽤来⽐对来⾃本机的封包,是否为某特定⾏程所产⽣的,使⽤时机同上。参数 -m owner --sid-owner

例如: iptables -A OUTPUT -m owner --sid-owner 100

说明 ⽤来⽐对来⾃本机的封包,是否为某特定联机(Session ID)的响应封包,使⽤时机同上。参数 -m state --state

例如: iptables -A INPUT -m state --state RELATED,ESTABLISHED

说明 ⽤来⽐对联机状态,联机状态共有四种:INVALID、ESTABLISHED、NEW 和 RELATED。

INVALID 表⽰该封包的联机编号(Session ID)⽆法辨识或编号不正确。ESTABLISHED 表⽰该封包属于某个已经建⽴的联机。NEW 表⽰该封包想要起始⼀个联机(重设联机或将联机重导向)。RELATED 表⽰该封包是属于某个已经建⽴的联机,所建⽴的新联机。例如:FTP-DATA 联机必定是源⾃某个 FTP 联机参数 -m comment --comment \"descripton\"

例如: iptables -A INPUT -p icmp --icmp-type 8 -j DROP -m comment --comment \"拒绝ping防⽕墙\"说明 给防⽕墙策略添加注释,拒绝任何到达防⽕墙的icmp请求

TCP连接状态

[root@web01 scripts]# netstat -tun

Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 96 10.10.10.52:22 10.10.10.254:52032 ESTABLISHED LISTEN 侦听来⾃远⽅的TCP端⼝的连接请求

SYN-SENT 再发送连接请求后等待匹配的连接请求

SYN-RECEIVED 再收到和发送⼀个连接请求后等待对⽅对连接请求的确认ESTABLISHED 代表⼀个打开的连接

FIN-WAIT-1 等待远程TCP连接中断请求,或先前的连接中断请求的确认FIN-WAIT-2 从远程TCP等待连接中断请求

CLOSE-WAIT 等待从本地⽤户发来的连接中断请求CLOSING 等待远程TCP对连接中断的确认

LAST-ACK 等待原来的发向远程TCP的连接中断请求的确认

TIME-WAIT 等待⾜够的时间以确保远程TCP接收到连接中断请求的确认CLOSED 没有任何连接状态

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- cepb.cn 版权所有 湘ICP备2022005869号-7

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务