999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Iptables規則集的優化設計

2015-04-29 00:55:53林燕
計算機時代 2015年2期
關鍵詞:優化

林燕

摘 要: 分析了Iptables工作原理,介紹了Iptables規則集,提出了一種有效的規則集優化算法,并在Linux下實現。運用該優化算法能夠有效剔除規則集中重復的規則,直接提升系統過濾效率,減少過濾數據包所需的時間,從而提高防火墻系統的網絡吞吐量。

關鍵詞: Linux; 防火墻; Iptables; 規則集; 優化

中圖分類號:TP391.9 文獻標志碼:A 文章編號:1006-8228(2015)02-47-03

Optimization design of Iptables rules set

Lin Yan

(Hangzhou Vocational & Technical College, Hangzhou, Zhejiang 310008, China)

Abstract: The working principles of Iptables are analyzed and its rule set is introduced. An effective optimization algorithm is put forward and implemented in Linux. The optimization algorithm can effectively eliminate rules focused duplicate rules, directly improve the system filtration efficiency and reduce the required data packet filtering time, so as to improve the throughput of network firewall system.

Key words: Linux; firewall; Iptables; rules set; optimization

0 引言

防火墻是指隔離本地網絡與外界網絡之間的一道防御系統,它在網絡之間執行訪問控制策略[1]。防火墻是非常簡單的過濾器,或者是精心配置的網關,檢測并過濾所有內部網和外部網之間的信息交換,防火墻保護著內部網絡敏感的數據不被偷竊和破壞,并記錄內外通訊的有關狀態信息日志。防火墻軟件通常是運行在計算機上的一個特別的服務軟件,它可以識別并屏蔽非法的請求。

在計算機網絡日益普及的今天,不但要求防治病毒,還要提高系統抵抗外來非法入侵的能力,更要提高對遠程數據傳輸的保密性,避免在傳輸途中遭遇非法竊取。此時,對防火墻性能進行優化顯得尤為重要。

netfilter/Iptables (其中包括netfilter和Iptables兩個組件)組成了Linux平臺下的包過濾防火墻,它與大多數的Linux自帶軟件一樣,這個防火墻是免費提供的,它可以代替昂貴的企業級防火墻來解決實際問題與實際方案,完成封包過濾,封包重定向和網絡地址轉換等功能[2-3]。

Iptables并不是最早出現的防火墻軟件,它的前身是ipchains。隨著發展到Linux 2.4.X內核以后,ipchains逐漸被功能更加強大的Iptables所代替。Iptables可以檢查數據包的源和目的IP地址,源和目的端口,流入數據包的順序號,TCP先后順序的信息,以及包頭標記(SYN、ACK、FIN、RST等)的狀態。Iptables會跟蹤整個會話過程,從而提高安全性和包過濾的效率。

1 Iptables工作原理

數據包從外網傳送到防火墻后,防火墻在IP層向TCP層傳送之前,將數據包轉發給檢查模塊進行處理。其過程如下。

⑴ 首先與第一個過濾規則比較。

⑵ 如果與第一個模塊相同,則對它進行審核,判斷是否要轉發該數據包,這時審核的結果是轉發數據包,則將數據包發送到TCP層進行處理,否則就將它丟棄。

⑶ 如果與第一個過濾規則不同,則接著與第二個規則相比較,如果相同則對它進行審核,過程與上一步相同。

⑷ 如果與第二個過濾規則不同,則繼續與下一個過濾規則比較,直到與所有的過濾規則比較完成。要是不滿足所有過濾規則,就將數據丟棄。

包檢查器并不檢查數據包的所有內容,它通常只檢查下列幾項:

2 Iptables規則集

規則就是決定如何處理一個包的語句。如果一個包符合所有的條件(match),我們就運行target指令。書寫規則的語法格式是:

Iptables [-t table] command [match] [target]

一條Iptables規則包含如下四個基本元素。

2.1 表(table)

[-t table]選項允許使用標準表之外的任何表。表是包含僅處理特定類型信息包的規則和鏈的信息包過濾表。有三種可用的表選項:filter、nat和mangle。該選項不是必須的,如果未指定,則filter用作默認表。Filter表用于一般的信息包過濾,包含INPUT、OUTPUT和FORWARD鏈。Nat表用于要轉發的信息包,它包含PREROUTING、OUTPUT和POSTROUTING鏈。如果信息包及其頭內進行了任何更改,則使用mangle表。該表包含一些規則來標記用于高級路由的信息包以及PREROUTING和OUTPUT鏈。

2.2 命令(command)

Command部分是Iptables命令的最重要部分,它告訴Iptables命令要做什么,例如,插入規則、將規則添加到鏈的末尾或刪除規則[4]。

命令選項用于指明要進行的特定操作:

-A 增加一個規則到鏈中;

-D 在鏈中的指定位置刪除一個規則;

-R 在鏈中的指定位置替換一個規則;

-I 在鏈中的指定位置插入一個新的規則;

-N 產生一個新的鏈;

-X 刪除一個空的鏈;

-P 設置一個鏈的默認策略;

-L 列出一個鏈的規則;

-F 清空一個鏈的所有規則;

-Z 清零一個鏈里所有規則的包和字節計數器;

2.3 匹配(match)

Iptables命令的可選match部分指定信息包與規則匹配所應具有的特征(如源和目的地地址、協議等)[5]。

參數選項組成一個規則的說明:

-p - -protocol [!]protocol 協議說明選項

-s - -source[!]address[/mask] 源地址說明選項

-d - -destination[!]address[/mask] 目標地址說明選項

-o - -out-interface[!][name] 指明離開接口的值

-c - -set-counters PKTS BYTES 管理員的初始包和字節計數器

-j - - jump target 指明規則的目標

-i - - in-interface[!][name] 指明進入接口的值

2.4 目標(target)

目標是由規則指定的操作,對與那些規則匹配的信息包執行這些操作。除了允許用戶定義的目標之外,還有許多可用的目標選項。下面是常用的一些目標及其示例和說明。

ACCEPT:當信息包與具有ACCPET目標的規則完全匹配時,會被接受(允許它前往目的地)。

DROP:當信息包與具有DROP目標的規則完全匹配時,會阻塞該信息包,并且不對它作進一步處理。

REJECT:該目標的工作方式與DROP目標相同,但它比DROP好。REJECT不會在服務器和客戶機上留下死套接字。另外,REJECT會將錯誤信息發回給信息包的發送方。

SNAT:指明包的源地址將被修改,并將停止規則的檢查。

DNAT:指明包的目的地址將被修改,并將停止規則的檢查。

MASQUERADE:被專門設計用于那些動態獲取IP地址的連接的,比如,撥號上網、DHCP連接等。

REDIRECT:改變包的目的IP地址來發送包。

MIRROR:互換源和目的地址后發送數據包。

3 規則集優化與實現

對于一個防火墻系統來說,過濾規則是系統過濾的核心。隨著防火墻系統的運行,新的過濾規則會不斷的加入。當規則越來越多時,系統對每個數據包的處理時間會變得越來越長,系統的過濾效率會越來越低,這樣勢必會造成數據包的延時和網絡的擁堵。因此,規則集的結構合理性對系統的過濾效率起著至關重要的作用。

3.1 算法思想

考慮到過濾系統中,規則一般都是由入侵檢測系統根據實際網絡情況來實時動態添加的,規則之間可能存在極大的冗余。因此,在添加規則時,嘗試對新添加的規則和已有的規則進行比較和合并,刪除被包含的規則,合并多條相關的規則成一條規則。這樣可以大大減少規則的數量,從而提高過濾的效率。

3.2 Iptables運行流程

當用戶從命令行輸入操作命令時,系統執行流程如下:

⑴ main函數載入相應的模塊,然后將命令行參數傳入do_command,調用do_command函數。

⑵ do_command函數解析main函數傳遞過來的命令行參數,解析出命令、規則等信息。

⑶ main函數判斷do_command函數的返回值,如果相應的操作成功,則調用iptc_commit函數將提交用戶修改到內核。

d.iptc_commit函數將根據表操作句柄中的所有鏈信息轉換成內核數據結構,然后將所有的修改提交到內核。

⑷ 如果提交操作完成,main函數退出,完成命令執行。

3.3 算法實現

規則集優化算法的流程不改變Iptables系統的執行流程,只是在其默認的處理過程中加入一個預處理過程。這個預處理過程判斷所添加的規則是否能夠和已有的規則重新組合。如果可以重新組合,則修改現有的規則,然后返回,否則執行默認的流程。

3.3.1 主要函數

本算法中主要函數如下。

⑴ pp_iptc_merge_entry函數

此函數的功能是合并規則到規則鏈,其函數原型如下:

Int pp_iptc_merge_entry(iptc_handle_t *handle,

const ipt_chainlabel chain,const struct ipt_entry *entry)

⑵ pp_compare_entry函數

此函數的功能為比較兩條規則,判斷兩條規則之間是否具有等價、包含或交叉關系,其函數原型如下:

Int pp_compare_entry(const struct ipt_entry *e1,

const struct ipt_entry *e2)

⑶ pp_compare_match函數

此函數的功能為比較兩條規則的匹配部分,判斷兩條規則的匹配部分是否具有等價、包含或交叉關系。其函數原型如下:

Int pp_compare_match(const struct ipt_entry *e1,

const struct ipt_entry *e2)

⑷ pp_compare_target函數

此函數的功能為比較兩條規則的目標部分,判斷兩條規則的目標部分是否相同,其函數原型如下:

Int pp_compare_target(const struct ipt_entry *e1,

const struct ipt_entry *e2)4

3.3.2 算法流程

當向規則集中添加一條規則時,優化程序執行如下操作。

⑴ 取出待添加鏈中的所有規則,將規則集中的每條規則和待添加的規則比較。

⑵ 根據比較結果,執行如下流程:

(a) 如果待添加的規則和已有的規則是等價關系,則直接丟棄待添加的規則。

(b) 如果待添加的規則和已有的規則是包含關系,則刪除原規則集中被包含的規則,然后將待添加的規則加入到規則集。

(c) 如果待添加的規則和已有的規則是被包含關系,則直接丟棄待添加的規則。

(d) 如果待添加的規則和已有的規則是交叉關系,則根據交叉關系修改已有的規則,待添加的規則丟棄。

(e) 如果規則集中的規則和待添加的規則沒有等價、包含、交叉關系,則執行默認的添加過程。

4 結束語

Iptables在經過優化后,對于無法合并的規則集,系統的執行效率只有微小的降低,基本上只減慢了3-5%之間。對于可以合并的規則集,優化算法避免了插入重復的規則,Iptables和內核的交互次數減少了,Iptables系統的性能有明顯的提高,特別是在當規則集的數目巨大時更為突出。這從另一方面說明了優化算法能有效的去掉規則集中冗余的規則,提高內核過濾效率。優化算法能夠有效地剔除規則集中重復的規則,這不僅能夠提高Iptables系統本身運行效率,而且由于系統中過濾規則的減少,直接提升了系統過濾效率,減少過濾數據包所需的時間,從而提高防火墻的吞吐率。

參考文獻:

[1] 黎連業,張維.防火墻及其應用技術[M].清華大學出版社,2004.3:

220-244

[2] 朱立才.Netfilter/Iptables防火墻性能優化方案與實現[J].計算機工

程與應用,2008.6:218-232

[3] 劉君堯.linux下基于Netfilter的防火墻設計[J].計算機技術與發展,

2005.10:250-255

[4] 毛德操.linux內核源代碼情景分析[M].浙江大學出版社,2001.6:

118-130

[5] 徐千洋.linux C函數庫參考手冊[M].北京:中國青年出版社,2007.9:

102-111

猜你喜歡
優化
超限高層建筑結構設計與優化思考
房地產導刊(2022年5期)2022-06-01 06:20:14
PEMFC流道的多目標優化
能源工程(2022年1期)2022-03-29 01:06:28
民用建筑防煙排煙設計優化探討
關于優化消防安全告知承諾的一些思考
一道優化題的幾何解法
由“形”啟“數”優化運算——以2021年解析幾何高考題為例
圍繞“地、業、人”優化產業扶貧
今日農業(2020年16期)2020-12-14 15:04:59
事業單位中固定資產會計處理的優化
消費導刊(2018年8期)2018-05-25 13:20:08
4K HDR性能大幅度優化 JVC DLA-X8 18 BC
幾種常見的負載均衡算法的優化
電子制作(2017年20期)2017-04-26 06:57:45
主站蜘蛛池模板: 欧美日韩中文国产va另类| 欧美精品xx| 亚洲天堂久久久| 亚洲成A人V欧美综合天堂| 91黄视频在线观看| 亚洲欧美在线综合图区| 91色在线视频| 精品福利视频导航| 久久亚洲AⅤ无码精品午夜麻豆| 国产精品微拍| 国内精品久久久久鸭| 成年午夜精品久久精品| 九九热在线视频| 欧美啪啪一区| 国产精品欧美日本韩免费一区二区三区不卡 | 久久国产亚洲偷自| 亚洲一区二区三区国产精华液| 国产成在线观看免费视频| 亚洲69视频| 色婷婷成人| 极品国产在线| 成人福利在线视频| 爽爽影院十八禁在线观看| 18禁黄无遮挡免费动漫网站| 操美女免费网站| 成人午夜视频免费看欧美| 国产亚洲欧美另类一区二区| 国产高清不卡| 香蕉色综合| 欧美69视频在线| 久久无码av三级| 999精品色在线观看| 精品一區二區久久久久久久網站| 亚洲精品国产成人7777| 欧美激情成人网| 亚洲第一色视频| 精品久久综合1区2区3区激情| 亚洲天堂网在线视频| 欧美中出一区二区| 国产日韩久久久久无码精品| 免费毛片视频| 亚洲综合狠狠| 在线亚洲精品自拍| 中文无码毛片又爽又刺激| 欧美不卡视频一区发布| 欧美日韩综合网| 亚洲精品国产首次亮相| 亚洲国产天堂久久综合226114 | 国产一线在线| 好久久免费视频高清| 制服丝袜国产精品| 日韩黄色在线| 无码日韩视频| 亚洲精品无码久久毛片波多野吉| 97色伦色在线综合视频| 扒开粉嫩的小缝隙喷白浆视频| av免费在线观看美女叉开腿| 亚洲精品在线观看91| 精品伊人久久久大香线蕉欧美| 69国产精品视频免费| 色有码无码视频| 91久久夜色精品国产网站| 国产乱人视频免费观看| 国产欧美日韩资源在线观看| 99久久无色码中文字幕| 国产在线自乱拍播放| 色135综合网| 日本高清在线看免费观看| 成年看免费观看视频拍拍| 国产精品亚洲综合久久小说| 亚洲毛片网站| 国产不卡一级毛片视频| 97se亚洲综合在线天天| 2020亚洲精品无码| 午夜福利网址| 日本久久网站| 欧美激情福利| 91亚洲精选| 欧美有码在线| 美女一区二区在线观看| 国产午夜精品鲁丝片| 国产一级视频在线观看网站|