iptables(3)扩展

显式扩展:必须显式指明使用的扩展模块(rpm-ql iptables | grep "\.so")

CentOS6: man iptables

CentOS7: man iptables-extensions

1、multiport扩展

以离散方式定义多端口匹配;最多指定15个端口;

[!]--source-ports,--sports port[,port|,port:port]...:指明多个源端口;

[!]--destination-ports,--dports port[,port|,port:port]...:指明多个离散的目标端口;

[!]--ports port[,port|,port:port]...

iptables -I INPUT -s 172.16.0.0/16 -d 172.16.100.1 -p tcp -m multiport--dport 22,80 -j ACCEPT

iptables -I OUTPUT -s 172.16.0.0/16 -d 172.16.100.1 -p tcp -m multiport--sport 22,80 -j ACCEPT

2、iprange扩展

[!]--src-range from[-to]:指明连续的源IP地址范围;

[!]--dst-range from[-to]:指明连续的目标IP地址范围;

iptables -I INPUT -d 172.16.100.9 -p tcp -m multiport --dports 22:23,80-m iprange --src-range 172.16.100.1-172.16.100.120 -j ACCEPT

iptables -I OUTPUT -s 172.16.100.9 -p tcp -m multiport --sports 22:23,80-m iprange --dst-range 172.16.100.1-172.16.100.120 -j ACCEPT

3、string扩展

检查报文中出现的字符串;

--algo{bm|kmp}

bm= Boyer-Moore

kmp= Knuth-Pratt-Morris

[!]--string pattern

iptables -I OUTPUT -m string --algo bm --string ‘movie‘ -j REJECT

4、time扩展

根据报文到达的时间与指定的时间范围进行匹配;

--datestart

--datestop

--timestart

--timestop

--monthdays

--weekdays

iptables -I INPUT -d 172.16.100.1 -p tcp --dport 80 -m time --timestart00:00--timestop 08:00 -j REJECT

5、connlimit扩展(centos7)

根据每客户端IP(也可以是地址块)做并发连接数数量匹配;

--connlimit-aboven:连接的数量大于n

--connlimit-upton: 连接的数量小于等于n

6、limit扩展

基于收发报文的速率做检查;

令牌桶过滤器

--limitrate[/second|/minute|/hour|/day]

--limit-burstnumber

iptables -I INPUT -d 172.16.100.1 -p icmp --icmp-type 8 -m limit--limit-burst 5 --limit 30/minute -j ACCEPT

iptables -I OUTPUT -s 172.16.100.1 -p icmp --icmp-type 0 -j ACCEPT

7、state扩展

根据连接追踪机制检查连接的状态;

调整连接追踪功能所能够容纳的最大连接数量:

/proc/sys/net/nf_conntrack_max

已经追踪到并记录下的连接:

/proc/net/nf_conntrack

不同协议或连接类型追的时长:

/proc/sys/net/netfilter/

可追踪的连接状态:

NEW:新发出的请求;连接追踪模板中不存此连接相关的信息条目,因此,将其识别为第一次发出的请求;

ESTABLISHED:NEW状态之后,连接追踪模板中为其建立的条目失效之前期间内所进行的通信的状态;

RELATED:相关的连接;如ftp协议的命令连接与数据连接之间的关系;

INVALIED:无法识别的连接;

--stateSTATE1,STATE2,...

iptables -I INPUT -d 172.16.100.1 -p tcp --dport 22 -m state --stateNEW,ESTABLISHED -j ACCEPT

iptables -I OUTPUT -s 172.16.100.1 -p tcp --sport 22 -m state --stateNEW,ESTABLISHED -j ACCEPT

iptables -I INPUT 2 -s -d 172.16.100.1 -p tcp -m multiport --dports2,80-m state --state NEW -j ACCEPT

时间: 2024-10-10 00:02:45

iptables(3)扩展的相关文章

Linux防火墙之iptables常用扩展处理动作

前文我们讲了iptables的扩展匹配,一些常用的扩展模块以及它的专有选项的使用和说明,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/12285152.html:今天我们来说说iptables的处理动作:iptables的处理动作分基本处理动作和扩展处理动作,基本处理动作有ACCEPT和DROP 这两个动作很好理解,一个表示放行操作,一个表示丢弃操作.扩展处理动作有REJECT,这个动作表示拒绝,通常情况下建议都用DROP 去丢弃不想通过的报文,REJEC

Iptables -m 扩展

-m state       --state {NEW,ESTATBLISHED,INVALID,RELATED}  指定检测那种状态 iptables -A INPUT -p tcp -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp -m state --state NEW,ESTABLISHED -j ACCEPT -m multiport 指定多端口号      --sport      --dport

iptables匹配扩展详情

1.其实匹配扩展中,还有需要加-m引用模块的显示扩展,默认是隐含扩展,不要使用 -m, 状态检测的包过滤 -m state        指定检测那种状态 --state NEW         建立新的连接--state ESTABLISHED          已建立连接--state RELATED                 相关的--state INVALID                    无效的 -m multiport 指定多端口号      --sport     

iptables 详解(11)iptables的扩展动作2与最后总结

除了ACCEPT .DROP  .REJECT .LOG 认识几个新动作 SNAT .DNAT .MASQUERADE.REDIRECT 使用场景可能会是以下的场景: <场景1> 网络内部有10台主机,有各自的地址,网络内部的主机与其他网络中的主机通讯时,会暴露自己的ip地址,如果我们要隐藏这些地址可以这样做: 当网络内部的主机向网络外部主机发送报文, 报文===>防火墙或者路由器,将报文的源 IP修改为防火墙或者路由器的 IP地址,源端口也映射为某个端口,路由器维护一张NAT表(内部主

iptables之layer7扩展

L7-filter:    提供了更多的netfilter模块,可以基于应用层为iptables提供更多功能.类似的还有ipp2p. 注意:软件官网上表明支持的最新内核版本为2.6.x,已经好久没有更新了.3.x的内核未测试. 需要软件包:        kernel-xxx.tar.gz 内核源码包        iptables-xxx.tar.bz2 iptables源码包        netfilter-layer7-xxx.tar.gz l7源码包        l7-protoco

iptables man中文手册

名称        iptables - IP包过滤器管理 总览        iptables -ADC  指定链的规则  [-A  添加 -D 删除 -C 修改]        iptables - RI        iptables -D chain rule num[选项]        iptables -LFZ 链名 [选项]        iptables -[NX] 指定链        iptables -P chain target[选项集]        iptables

iptables基础笔记

1.iptables是什么 iptables是Linux上的一支防火墙服务程序,且由内核直接提供 2.iptables的基本工作方式 iptables通过"表"的形式管理进出主机网卡的数据流 默认的"表"有3张,分别为Filter(默认使用),Nat,Manager.我们的需求使用Filter表的情况居多,通过对比数据包头部信息与每张表中的规则,来决定处理数据流是放行还是丢弃. 3.1Filter"表"介绍 Filter是过滤器表,主要与想要进出

iptables,nftables sucks?

折腾了一下午空压机,失败,作罢!作为一个搞IT的,虽然不会去关注怎么修主板,但起码还是会持续关注自己感兴趣的那一面的,比如iptables,Netfilter等,对于空气压缩机,Python,气缸,C++对象模型之类的,不是我的菜啊!       在论坛看到有人吐嘈,简短的一句话:ipfwadm.. ipchains.. iptables.. nftables... progress sucks. :(是啊,我也这么觉得!记 得2006年毕业后的实习,曹老师让我第一次知道有个东西叫做iptabl

Iptables 规则 一些简单实例和详细介绍

设定规则 iptables -p INPUT DROP iptables -p OUTPUT ACCEPT iptables -p FORWARD DROP 1.防止外网用内网IP欺骗 iptables -t nat -A PREROUTING -i eth0 -s 10.0.0.0/8 -j DROP iptables -t nat -A PREROUTING -i eth0 -s 172.16.0.0/12 -j DROP iptables -t nat -A PREROUTING -i e