使用multiport可以新增多個不連線的埠,最多可以新增15組,如下:
iptables -A INPUT -p tcp -m multiport --dports 21:25,135:139 -j DROP
iptables -A INPUT -p tcp -m multiport --dports 110,80,25,445,1863,5222 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -m multiport --dports 22,80,443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp -m multiport --sports 22,80,443 -m state --state ESTABLISHED -j ACCEPT
如果不使用multiport引數,只能是新增連續的埠。
如:
iptables -A INPUT -p tcp –dport 21:25 -j DROP
而不能寫成21:25,135:139
string模組
常用擴充套件匹配條件如下
--algo:指定對應的匹配演算法,可用演算法為bm、kmp,此選項為必需選項。
--string:指定需要匹配的字串
#示例
iptables -t filter -I INPUT -p tcp --sport 80 -m string --algo bm --string "OOXX" -j REJECT
iptables -t filter -I INPUT -p tcp --sport 80 -m string --algo bm --string "OOXX" -j REJECT
1.
2.
3.
time模組
常用擴充套件匹配條件如下
--timestart:用於指定時間範圍的開始時間,不可取反
--timestop:用於指定時間範圍的結束時間,不可取反
--weekdays:用於指定"星期幾",可取反
--monthdays:用於指定"幾號",可取反
--datestart:用於指定日期範圍的開始日期,不可取反
--datestop:用於指定日期範圍的結束時間,不可取反
#示例
iptables -t filter -I OUTPUT -p tcp --dport 80 -m time --timestart 09:00:00 --timestop 19:00:00 -j REJECT
iptables -t filter -I OUTPUT -p tcp --dport 443 -m time --timestart 09:00:00 --timestop 19:00:00 -j REJECT
iptables -t filter -I OUTPUT -p tcp --dport 80 -m time --weekdays 6,7 -j REJECT
iptables -t filter -I OUTPUT -p tcp --dport 80 -m time --monthdays 22,23 -j REJECT
iptables -t filter -I OUTPUT -p tcp --dport 80 -m time ! --monthdays 22,23 -j REJECT
iptables -t filter -I OUTPUT -p tcp --dport 80 -m time --timestart 09:00:00 --timestop 18:00:00 --weekdays 6,7 -j REJECT
iptables -t filter -I OUTPUT -p tcp --dport 80 -m time --weekdays 5 --monthdays 22,23,24,25,26,27,28 -j REJECT
iptables -t filter -I OUTPUT -p tcp --dport 80 -m time --datestart 2017-12-24 --datestop 2017-12-27 -j REJECT
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
connlimit 模組
常用的擴充套件匹配條件如下
--connlimit-above:單獨使用此選項時,表示限制每個IP的連結數量。
--connlimit-mask:此選項不能單獨使用,在使用--connlimit-above選項時,配合此選項,則可以針對"某類IP段內的一定數量的IP"進行連線數量的限制,如果不明白可以參考上文的詳細解釋。
#示例
iptables -I INPUT -p tcp --dport 22 -m connlimit --connlimit-above 2 -j REJECT
iptables -I INPUT -p tcp --dport 22 -m connlimit --connlimit-above 20 --connlimit-mask 24 -j REJECT
iptables -I INPUT -p tcp --dport 22 -m connlimit --connlimit-above 10 --connlimit-mask 27 -j REJECT
limit模組
常用的擴充套件匹配條件如下
--limit-burst:類比"令牌桶"演算法,此選項用於指定令牌桶中令牌的最大數量,上文中已經詳細的描述了"令牌桶"的概念,方便回顧。
--limit:類比"令牌桶"演算法,此選項用於指定令牌桶中生成新令牌的頻率,可用時間單位有second、minute 、hour、day。
#示例 #注意,如下兩條規則需配合使用,具體原因上文已經解釋過,忘記了可以回顧。
iptables -t filter -I INPUT -p icmp -m limit --limit-burst 3 --limit 10/minute -j ACCEPT
iptables -t filter -A INPUT -p icmp -j REJECT
-----------------------------------
©著作權歸作者所有:來自51CTO部落格作者minseo的原創作品,請聯絡作者獲取轉載授權,否則將追究法律責任
五,iptables詳解(5):iptables匹配條件總結之二(常用擴充套件模組)
https://blog.51cto.com/u_13045706/3832843
擴充套件匹配條件總結
我們來總結一下今天認識的兩個擴充套件模組,以及其中的擴充套件條件(並非全部,只是這篇文章中介紹過的)
tcp擴充套件模組
常用的擴充套件匹配條件如下:
-p tcp -m tcp –sport 用於匹配tcp協議報文的源埠,可以使用冒號指定一個連續的埠範圍
-p tcp -m tcp –dport 用於匹配tcp協議報文的目標埠,可以使用冒號指定一個連續的埠範圍
multiport擴充套件模組
常用的擴充套件匹配條件如下:
-p tcp -m multiport –sports 用於匹配報文的源埠,可以指定離散的多個埠號,埠之間用”逗號”隔開
-p udp -m multiport –dports 用於匹配報文的目標埠,可以指定離散的多個埠號,埠之間用”逗號”隔開