Linux多個埠組合,iptables使用multiport 新增多個不連續埠

技术颜良發表於2024-06-25

使用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協議報文的目標埠,可以使用冒號指定一個連續的埠範圍

#示例如下
iptables -t filter -I OUTPUT -d 192.168.1.146 -p tcp -m tcp --sport 22 -j REJECT
iptables -t filter -I INPUT -s 192.168.1.146 -p tcp -m tcp --dport 22:25 -j REJECT
iptables -t filter -I INPUT -s 192.168.1.146 -p tcp -m tcp --dport :22 -j REJECT
iptables -t filter -I INPUT -s 192.168.1.146 -p tcp -m tcp --dport 80: -j REJECT
iptables -t filter -I OUTPUT -d 192.168.1.146 -p tcp -m tcp ! --sport 22 -j ACCEPT

multiport擴充套件模組

常用的擴充套件匹配條件如下:

-p tcp -m multiport –sports 用於匹配報文的源埠,可以指定離散的多個埠號,埠之間用”逗號”隔開

-p udp -m multiport –dports 用於匹配報文的目標埠,可以指定離散的多個埠號,埠之間用”逗號”隔開

#示例如下
iptables -t filter -I OUTPUT -d 192.168.1.146 -p udp -m multiport --sports 137,138 -j REJECT
iptables -t filter -I INPUT -s 192.168.1.146 -p tcp -m multiport --dports 22,80 -j REJECT
iptables -t filter -I INPUT -s 192.168.1.146 -p tcp -m multiport ! --dports 22,80 -j REJECT
iptables -t filter -I INPUT -s 192.168.1.146 -p tcp -m multiport --dports 80:88 -j REJECT
iptables -t filter -I INPUT -s 192.168.1.146 -p tcp -m multiport --dports 22,80:88 -j REJECT

相關文章