国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關注微信公眾號

用iptales實現包過濾型防火墻
2007-06-24   

一、 概述
從1.1內核開始,linux就已經具有包過濾功能了,在2.0的內核中我們采用ipfwadm來操作內核包過濾規則。之后在2.2內核中,采用了大家并不陌生的ipchains來控制內核包過濾規則。在2.4內核中我們不再使用ipchains,而是采用一個全新的內核包過濾管理工具--iptables。 這個全新的內核包過濾工具將使用戶更易于理解其工作原理,更容易被使用,當然也將具有更為強大的功能。
我們說過iptables只是一個管理內核包過濾的工具,iptables 可以加入、插入或刪除核心包過濾表格(鏈)中的規則。實際上真正來執行這些過濾規則的是netfilter(Linux 核心中一個通用架構)及其相關模塊(如iptables模塊和nat模塊),下面我們一起來看看netfilter的工作原理。
二、 原理
netfilter是Linux 核心中一個通用架構,它提供了一系列的"表"(tables),每個表由若干"鏈"(chains)組成,而每條鏈中可以有一條或數條規則(rule)組成。我們可以這樣來理解,netfilter是表的容器,表是鏈的容器,而鏈又是規則的容器(如圖一所示)。


系統缺省的表為"filter",該表中包含了INPUT、FORWARD和OUTPUT 3個鏈。每一條鏈中可以有一條或數條規則,每一條規則都是這樣定義的“如果數據包頭符合這樣的條件,就這樣處理這個數據包”。當一個數據包到達一個鏈時,系統就會從第一條規則開始檢查,看是否符合該規則所定義的條件: 如果滿足,系統將根據該條規則所定義的方法處理該數據包;如果不滿足則繼續檢查下一條規則。最后,如果該數據包不符合該鏈中任一條規則的話,系統就會根據該鏈預先定義的策略(policy)來處理該數據包。
數據包在filter表中的流程如圖二所示。有數據包進入系統時,系統首先根據路由表決定將數據包發給哪一條鏈,則可能有三種情況:


1. 如果數據包的目的地址是本機,則系統將數據包送往INPUT鏈,如果通過規則檢查,則該包被發給相應的本地進程處理;如果沒通過規則檢查,系統就會將這個包丟掉;
2. 如果數據包的目的地址不是本機,也就是說,這個包將被轉發,則系統將數據包送往FORWARD鏈,如果通過規則檢查,則該包被發給相應的本地進程處理;如果沒通過規則檢查,系統就會將這個包丟掉;
3. 如果數據包是由本地系統進程產生的,則系統將其送往OUTPUT鏈,如果通過規則檢查,則該包被發給相應的本地進程處理;如果沒通過規則檢查,系統就會將這個包丟掉。
從以上我們可以看出,netfilter比起以前的ipfwadm和ipchains思路上清晰了好多,也好理解了好多,這對于原先對ipfwadm和ipchains總是感到一頭霧水的用戶來說無疑是一個福音。
三、 準備工作
1. 系統需求
netfilter要求內核版本不低于2.3.5,在編譯新內核時,要求選擇和netfilter相關的項目。這些項目通常都是位于“Networking options”子項下。以2.4.0內核為例,我們應該選中的項目有:
[*] Kernel/User netlink socket
[ ] Routing messages
<*> Netlink device emulation
[*] Network packet filtering (replaces ipchains)
然后,在“IP: Netfilter Configuration ---->”選中:
Connection tracking (required for masq/NAT)
FTP protocol support
IP tables support (required for filtering/masq/NAT)
limit match support
MAC address match support
Netfilter MARK match support
Multiple port match support
TOS match support
Connection state match support
Packet filtering
REJECT target support
Full NAT
MASQUERADE target support
REDIRECT target support
Packet mangling
TOS target support
MARK target support
LOG target support
ipchains (2.2-style) support
ipfwadm (2.0-style) support
其中最后兩個項目可以不選,但是如果你比較懷念ipchains或者ipfwadm,你也可以將其選中,以便在2.4內核中使用ipchians或ipfwadm。但是需要注意的是,iptables是和ipchians/ipfwadm相對立的,在使用iptables的同時就不能同時使用ipchains/ipfwadm。編譯成功后,這些模塊文件都位于以下目錄中
/lib/modules/2.4.0/kernel/net/ipv4/netfilter
編譯2.4.0的新內核時還應該注意要在“Processor type and features”中選擇和你的CPU相對應的正確的CPU選項,否則新內核可能無法正常工作。
2. 載入模塊
要使用iptables,還必須載入相關模塊。可以使用以下命令載入相關模塊:
#modprobe iptable_tables
modprobe命令會自動載入指定模塊及其相關模塊。iptables_filter模塊會在運行時自動載入。
四、 語法
1. 對鏈的操作
建立一個新鏈 (-N)。
刪除一個空鏈 (-X)。
改變一個內建鏈的原則 (-P)。
列出一個鏈中的規則 (-L)。
清除一個鏈中的所有規則 (-F)。
歸零(zero) 一個鏈中所有規則的封包字節(byte) 記數器 (-Z)。
2. 對規則的操作
加入(append) 一個新規則到一個鏈 (-A)的最后。
在鏈內某個位置插入(insert) 一個新規則(-I),通常是插在最前面。
在鏈內某個位置替換(replace) 一條規則 (-R)。
在鏈內某個位置刪除(delete) 一條規則 (-D)。
刪除(delete) 鏈內第一條規則 (-D)。
3. 指定源地址和目的地址
通過--source/--src/-s來指定源地址(這里的/表示或者的意思,下同),通過--destination/--dst/-s來指定目的地址。可以使用以下四中方法來指定ip地址:
a. 使用完整的域名,如“www.linuxaid.com.cn”;
b. 使用ip地址,如“192.168.1.1”;
c. 用x.x.x.x/x.x.x.x指定一個網絡地址,如“192.168.1.0/255.255.255.0”;
d. 用x.x.x.x/x指定一個網絡地址,如“192.168.1.0/24”這里的24表明了子網掩碼的有效位數,這是 UNIX環境中通常使用的表示方法。
缺省的子網掩碼數是32,也就是說指定192.168.1.1等效于192.168.1.1/32。
4. 指定協議
可以通過--protocol/-p選項來指定協議,比如-p tcp。
5. 指定網絡接口
可以使用--in-interface/-i或--out-interface/-o來指定網絡接口。需要注意的是,對于INPUT鏈來說,只可能有-i,也即只會有進入的包;通理,對于OUTPUT鏈來說,只可能有-o,也即只會有出去的包。只有FORWARD鏈既可以有-i的網絡接口,也可以有-o的網絡接口。我們也可以指定一個當前并不存在的網絡接口,比如ppp0,這時只有撥號成功后該規則才有效。
6. 指定ip碎片
在TCP/IP通訊過程中,每一個網絡接口都有一個最大傳輸單元(MTU),這個參數定義了可以通過的數據包的最大尺寸。如果一個數據包大于這個參數值時,系統會將其劃分成更小的數個數據包(稱之為ip碎片)來傳輸,而接收方則對這些ip碎片再進行重組以還原整個包。
但是再進行包過濾的時候,ip碎片會導致這樣一個問題:當系統將大數據包劃分成ip碎片傳送時,第一個碎片含有完整的包頭信息,但是后續的碎片只有包頭的部分信息,比如源地址,目的地址。因此假如我們有這樣一條規則:
iptables -A FORWARD -p tcp -s 192.168.1.0/24 -d 192.168.2.100 --dport 80 -j ACCEPT
并且這時的FORWARD的策略(policy)為DROP時,系統只會讓第一個ip碎片通過,而丟掉其余的ip碎片,因為第一個碎片含有完整的包頭信息,可以滿足該規則的條件,而余下的碎片因為包頭信息不完整而無法滿足規則定義的條件,因而無法通過。
我們可以通過--fragment/-f選項來指定第二個及其以后的ip碎片,比如以上面的例子為例,我們可以再加上這樣一條規則來解決這個問題:
iptables -A FORWARD -f -s 192.168.1.0/24 -d 192.168.2.100 -j ACCEPT
但是需要注意的是,現在已經有好多進行ip碎片攻擊的實例(比如向Win98 NT4/SP5,6 Win2K發送大量的ip碎片進行DoS攻擊),因此允許ip碎片通過是有安全隱患的,對于這一點我們可以采用iptables的匹配擴展來進行限制,但是這又會影響服務質量,我們將在下面討論這個問題。
7. 指定非
可以在某些選項前加上!來表示非指定值,比如“-s -! 192.168.1.1/32”表示除了192.168.1.1以外的ip地址,“-p -! tcp”表示除了tcp以外的協議。
8. TCP匹配擴展
通過使用--tcp-flags選項可以根據tcp包的標志位進行過濾,該選項后接兩個參數:第一個參數為要檢查的標志位,可以是SYN,ACK,FIN,RST,URG,PSH的組合,可以用ALL指定所有標志位。


熱詞搜索:

上一篇:Linux常見緊急情況處理方法
下一篇:解讀Linux系統文件權限的設置方法(1)

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
精品久久久久一区二区国产| 91麻豆精品视频| 亚洲综合免费观看高清完整版| 亚洲精品一区二区三区精华液 | 综合久久久久综合| 国产欧美一区视频| 久久精品人人做| 欧美极品xxx| 国产婷婷色一区二区三区四区| 久久亚洲精品小早川怜子| 日韩美女一区二区三区四区| 精品日本一线二线三线不卡| 精品99999| 中文字幕欧美激情| 亚洲欧美日韩中文字幕一区二区三区 | 在线免费不卡视频| 在线观看av一区二区| 欧美久久久久久久久久| 日韩欧美在线一区二区三区| 欧美精品一区二区三区很污很色的| 精品国产成人系列| 国产精品久久久久天堂| 亚洲黄色片在线观看| 丝瓜av网站精品一区二区| 日本不卡在线视频| 国产91精品一区二区麻豆网站| 成人avav在线| 欧美巨大另类极品videosbest | 蜜臀av性久久久久蜜臀aⅴ| 久久99久久99| 99re免费视频精品全部| 欧美系列日韩一区| 久久午夜色播影院免费高清| ●精品国产综合乱码久久久久| 亚洲国产成人av网| 国产在线国偷精品免费看| 91丨九色丨蝌蚪丨老版| 日韩美女主播在线视频一区二区三区| 国产偷国产偷亚洲高清人白洁| 亚洲欧美日韩成人高清在线一区| 日本美女一区二区三区视频| 成人成人成人在线视频| 欧美一区二区国产| 亚洲人吸女人奶水| 精品一区二区日韩| 欧美日韩中文字幕精品| 国产日韩精品一区二区浪潮av| 亚洲一区自拍偷拍| www.久久久久久久久| 精品日韩成人av| 午夜精品久久久久久| gogogo免费视频观看亚洲一| 欧美成人女星排名| 一区二区高清在线| 成人蜜臀av电影| 日韩女优电影在线观看| 一区二区三区高清| 不卡的电视剧免费网站有什么| 欧美一级日韩一级| 午夜精品免费在线观看| 99国产精品久| 国产精品久久久一本精品 | av在线综合网| 久久久久亚洲蜜桃| 久草中文综合在线| 欧美肥大bbwbbw高潮| 夜夜亚洲天天久久| 色天天综合色天天久久| 亚洲欧美一区二区久久| 成人性生交大片免费看在线播放| 日韩一区二区电影在线| 天天综合色天天综合色h| 色综合久久中文字幕综合网| 国产日韩高清在线| 国产成人免费在线观看| 国产视频在线观看一区二区三区| 老司机免费视频一区二区三区| 欧美一级午夜免费电影| 蜜臀a∨国产成人精品| 精品人在线二区三区| 狠狠色狠狠色综合系列| 中文av字幕一区| 国产91精品一区二区| 中文字幕在线不卡一区二区三区| 国产大片一区二区| 中文字幕一区二区三| jlzzjlzz亚洲日本少妇| 国产精品电影一区二区三区| 91丨九色porny丨蝌蚪| 亚洲国产你懂的| 欧美老人xxxx18| 国内外成人在线| 国产精品白丝在线| 色天使色偷偷av一区二区| 日韩黄色免费网站| 精品sm捆绑视频| 99视频精品在线| 午夜伊人狠狠久久| 精品乱码亚洲一区二区不卡| 久久99精品久久久| 成人欧美一区二区三区在线播放| 色成年激情久久综合| 蜜臀久久99精品久久久画质超高清| 精品免费视频一区二区| 成人av网站免费| 亚洲国产欧美另类丝袜| 国产色婷婷亚洲99精品小说| 91片黄在线观看| 久久99国产精品麻豆| 亚洲欧美视频在线观看| 欧美成人一级视频| 色婷婷av一区二区三区gif| 九色porny丨国产精品| 综合婷婷亚洲小说| 欧美成人一区二区三区在线观看| 成人精品免费网站| 蜜乳av一区二区| 综合久久国产九一剧情麻豆| 91精品国产高清一区二区三区蜜臀| 精久久久久久久久久久| 一区二区三区在线不卡| 久久综合色婷婷| 欧美色精品在线视频| 国产精品资源在线| 日本亚洲视频在线| 一区二区三区在线观看国产| 国产亚洲欧美日韩俺去了| 欧美日韩成人一区| 99国产精品99久久久久久| 毛片av中文字幕一区二区| 国产综合一区二区| 亚洲国产综合人成综合网站| 国产精品美女久久久久aⅴ| 日韩精品一区二区三区蜜臀| 欧美另类一区二区三区| 色综合久久久久综合99| 丁香亚洲综合激情啪啪综合| 久久国产欧美日韩精品| 日本中文在线一区| 午夜影视日本亚洲欧洲精品| 亚洲精品一二三| √…a在线天堂一区| 国产女主播在线一区二区| 精品国产乱码久久久久久久久 | 中文一区二区在线观看| 亚洲精品一区二区三区香蕉| 欧美电影免费提供在线观看| 欧美日韩一级二级| 在线成人av网站| 在线电影国产精品| 欧美高清精品3d| 欧美丰满美乳xxx高潮www| 欧美色窝79yyyycom| 一本久久a久久精品亚洲| 亚洲美女免费视频| 国产精品电影一区二区三区| 久久一区二区视频| 久久久久久久久久久久久夜| 91精品国产综合久久久蜜臀图片| 精品婷婷伊人一区三区三| 972aa.com艺术欧美| 91免费国产在线观看| av在线不卡网| 白白色亚洲国产精品| 午夜精品成人在线视频| 日韩在线a电影| 亚州成人在线电影| 午夜欧美大尺度福利影院在线看| 亚洲三级理论片| 亚洲人吸女人奶水| 一区二区三区成人| 亚洲自拍偷拍图区| 蜜臀av亚洲一区中文字幕| 蜜桃视频一区二区| 国内久久婷婷综合| 精品一区二区三区不卡 | 色噜噜狠狠色综合中国| 色综合久久中文字幕综合网| 欧美午夜不卡视频| 欧美日韩一区二区三区视频| 日韩精品一区二区三区视频播放| 日韩欧美在线不卡| 2023国产精华国产精品| 精品卡一卡二卡三卡四在线| 久久精品网站免费观看| 国产精品乱码一区二三区小蝌蚪| 国产精品伦理在线| 乱中年女人伦av一区二区| 国产精品91xxx| 色综合久久久久综合| 69堂精品视频| 国产日韩av一区| 一区二区成人在线视频| 青草av.久久免费一区| 99在线精品观看| 5566中文字幕一区二区电影| 久久免费国产精品| 日本不卡一区二区三区高清视频| 国产一区二区视频在线| 色综合色狠狠综合色|