IPTables六—— IPTable規(guī)則優(yōu)化IPSet

六、IPSet

iptables在進行包過濾的時候,對每個數(shù)據(jù)包都過濾一遍iptables中的規(guī)則。假設我們有如下三條規(guī)則:

-s 1.1.1.1 -p tcp accpet

-s 2.2.2.2 -p tcp accpet

-s 3.3.3.3 -p tcp accpet

那么當一個數(shù)據(jù)包源地址是3.3.3.3的時候,它首先去匹配第一條規(guī)則,不匹配再匹配第二條,最后在第三條匹配中了。想一想如果我有類似的100條規(guī)則呢?內(nèi)核最差的情況是不是對一個數(shù)據(jù)包需要做100個規(guī)則匹配,這是相當沒有效率的事情。在上述的例子中,其動作都是一樣的能不能把這三條規(guī)則總結(jié)成一條規(guī)則呢 ?有那就是IPSet,它將多條iptable規(guī)則富集到一個ip set里,這個ip set使用hash或者圖來組織,在netfilter過濾的時候,采用hash或者圖方式規(guī)則運算進行查找,比原來的iptable一個順序的規(guī)則查找方法運算速度提升很多,特別是規(guī)則條目很多的時候。

1、IPSet支持的匹配集

1.1 bitmap

支持bitmap:ip bimap:ip,mac和bitmap:port

支持hash:ip,hash:net ,hash:ip,port,net hash:ip,port,ip hash:net,port hash:net,if

支持list

2、使用例子:

針對上例,我們使用如下方法設置ipset

IPSet -N zxy_set hash:ip ?hashsize 256 maxelem 1024

IPSet add zxy_set 1.1.1.1

IPSet add zxy_set 2.2.2.2

IPSet add zxy_set 3.3.3.3

Iptable -I INPUT -m set --match-set zxy_set src -p tcp -j Accept

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 語法:ipset [ OPTIONS ] COMMAND [ COMMAND-OPTIONS ]COMMANDS ...
    老夫劉某閱讀 3,167評論 0 0
  • 第一章 Nginx簡介 Nginx是什么 沒有聽過Nginx?那么一定聽過它的“同行”Apache吧!Ngi...
    JokerW閱讀 33,042評論 24 1,002
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,715評論 19 139
  • 入冬以來,隨著霧霾天氣的加重,有關污染的報道、評論、說說見諸各報端,這是一個言論自由的時代,大家暢所欲言,而這種“...
    端陽月閱讀 430評論 0 0
  • 2017/10/26 周四 奇跡感恩日記 奇跡 1. 今天我很開心。早上在宏燕的豪宅醒來,打開門窗,一片鳥語花香。...
    木易江鳥閱讀 273評論 0 0

友情鏈接更多精彩內(nèi)容