歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> iptables防火牆詳解及使用layer7阻止qq,酷狗,等P2P軟件

iptables防火牆詳解及使用layer7阻止qq,酷狗,等P2P軟件

日期:2017/2/28 15:43:11   编辑:Linux教程

防火牆其實就是一個加固主機或者網絡安全的一個設備或者軟件而已,通過防火牆可以隔離風險區域與安全區域的連接,同時不會妨礙風險區域的訪問.當然需要注意的是世界上沒有絕對的安全,防火牆也只是啟到一定的安全防護,那麼下面來說下防火牆的幾種分類,

第一種軟件防火牆,軟件防火牆需要運行在特定的計算機上,而且需要計算機的操作系統的支持,

第二種硬件防火牆,硬件防火牆其實就是一個普通pc機的架構,然後上面跑有專門的操作系統.

第三種芯片級的防火牆,這種防火牆基於專門的硬件平台,沒有操作系統,專有的ASIC芯片使它們比其他類的防火牆速度更快,處理能力極強,性能更高,但是價格卻極其昂貴,

從技術方面實現的防火牆也可分為三種,

第一種包過濾型防火牆,這類的防火牆主要是工作在網絡層,根據事先設定好的規則進行檢查,檢查結果根據事先設定好的處理機制進行處理

第二種應用層防火牆,它是工作在TCP/IP模型中的最高層應用層,相比較來說速度要慢一點

第三種狀態監視器,狀態監視做為防火牆其安全性為最佳,但配置比較復雜,且網絡速度較慢

一般在企業中防火牆的部署有以下幾種

一,單宿主堡壘主機 ,由於使用的rhel6.2的系統,做圖不是很好做,所以沒有圖,只有簡單的介紹

單宿主堡壘主機其實就是單台服務器有防火牆,只為單台服務器防護,

二,雙宿主堡壘主機,

雙宿主堡壘主機是一台裝有兩塊網卡的堡壘主機,一般這台堡壘主機應用在網關,防護局域網跟廣域網之間通信等安全

三,三宿主堡壘主機

三宿主堡壘主機是一台裝有三塊網卡的堡壘主機,那麼他將外網,內網,DMZ 三個區域隔離開來,同時保護內網已經DMZ區域的安全等

四,背靠背, 這個的話沒圖解釋起來比較復雜,我在網上搜一張圖片吧

不用解釋一看圖就知道是怎麼回事了. 實際上前端防火牆是防護外網到DMZ區域以及到內網,後端防火牆是防護內網到DMZ區域的安全

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
說了這麼多下面來說說linux上面的iptables的應用吧,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
目錄
一,IPTABLES的簡介
二,IPTABLES的表和鏈
三,IPTABLES的幾個狀態
四,IPTABLES的命令及使用
五,IPTABLES的腳本編寫
六,給內核打layer7補丁,並重新編譯內核及IPTABLES來實現封殺QQ,酷狗,迅雷,等軟件

注:個人的總結,當然也從一些書籍裡面找了一些資料,寫的不全,還望大家多多指點,thx!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

一,IPTABLES的簡介
1. 簡介
IPTABLES/netfilter(http://www.netfilter.org) 其實大多數人都認為iptables是linux系統上的一個服務,其實不是的. 我們linux系統上的服務比如說httpd服務在啟動起來的時候,是不是在後台啟動一個相應的服務進程且在網卡上監聽一個端口,而iptables卻不然,那麼iptables到底是什麼呢?其實iptables只是一個工具而已.我們的linux系統有用戶空間,和內核空間,而iptables有兩個組件,一是netfilter, netfilter組件只是用來過濾防火牆規則,及作出相應的處理機制的,它是集成在內核中的一部分,也就是說它是工作在內核空間的,那麼大家都知道用戶是不可能直接跟內核空間打交道的,那麼netfilter只是工作在內核空間對規則進行處理的,那麼規則從何而來呢? 是從iptables的第二個組件iptables而來的,我們上面說了IPTABLES只是一個工作在用戶空間的一個工具而已,那麼用戶就使用這個工具的一個命令來跟工作在內核空間中的netfiter組件打交道的.其實IPTABLES防火牆就是這樣的.

二,IPTABLES的表和鏈
IPTABLES常用的表和鏈有三個filter表 nat表 mangle表, 和五個鏈 INPUT鏈 OUTPUT鏈 FORWARE鏈 POSTROUTING鏈 PREROUTING鏈, 下面來介紹下它們的各個功能呢個功能,
1.filter表
filter表主要是過濾數據包的,IPTABLES幾乎所有的數據包過濾都在此表中實現的,filter表也是IPTABLES中默認的表,此表中還包含三個鏈如下
1.1 INPUT鏈
過濾所有的目標地址是本機的數據包
1.2 OUTPUT鏈
過濾所有從本機出去的數據包
1.3 FORWORD鏈
過濾所有從本機路過的數據包

2.nat表
nat表主要是用於做網絡地址轉換的(NAT) 在IPTABLES中可以做SNAT(源地址轉換),DNAT(目標地址轉換),PANT(即跟SNAT差不多,不一樣的是SNAT的源地址是固定的,而PNAT的源地址是不固定的,當使用ppp 或pppoe的方式連接互聯網的時候一般適應這中) 。 nat表中包含兩個鏈如下
2.1 PREROUTING鏈
在數據包到達防火牆的時候改變目標地址 DNAT應用於此鏈.
2.2 OUTPUT鏈
可以改變本地產生的數據包的目標地址
2.3 POSTROUTING鏈
在數據包離開防火牆的時候改變源地址,SNAT應用於次鏈

3. mangle表
mangle表主要是修改數據包頭部信息的,此表中包含以下5條鏈
3.1 PREROUTING鏈,
在數據包進入防火牆之後,也稱為路由前,
3.2 POSTROUTING鏈,
在數據包確定目標地址後,也稱為路由後,
3.3 OUTPUT鏈
從本機出去的時間包路由前
3.4 INPUT鏈
數據包進入本機後,路由後
3.5 FORWARD鏈
第一次路由判斷之後,最後一次路由判斷之前改變數據包

Copyright © Linux教程網 All Rights Reserved