iptables

1. 介紹

防火墻就是實(shí)現(xiàn)Linux下訪問(wèn)控制功能的,分為軟件防火墻和硬件防火墻兩種。
我們需要得定義防火墻的規(guī)則和策略去實(shí)現(xiàn)網(wǎng)絡(luò)的IP,數(shù)據(jù)的檢測(cè)。
目前市場(chǎng)上常見的有3,4層的防火墻,叫做網(wǎng)絡(luò)層的防火墻,還有7層的防火墻,其實(shí)是代理層的網(wǎng)關(guān)。
對(duì)于TCP/IP的七層模型來(lái)講,我們知道第三層是網(wǎng)絡(luò)層,三層的防火墻會(huì)在這層對(duì)源地址和目標(biāo)地址進(jìn)行檢測(cè)。但是對(duì)于七層的防火墻,不管你源端口或者目標(biāo)端口,源地址或者目標(biāo)地址是什么,都將對(duì)你所有的東西進(jìn)行檢查。所以,對(duì)于設(shè)計(jì)原理來(lái)講,七層防火墻更加安全,但是這卻帶來(lái)了效率更低。所以市面上通常的防火墻方案,都是兩者結(jié)合的。而又由于我們都需要從防火墻所控制的這個(gè)口來(lái)訪問(wèn),所以防火墻的工作效率就成了用戶能夠訪問(wèn)數(shù)據(jù)多少的一個(gè)最重要的控制,配置的不好甚至有可能成為流量的瓶頸。

2. iptables的工作機(jī)制

netfilter的五個(gè)規(guī)則鏈

  • PREROUTING(路由前)
  • INPUT(數(shù)據(jù)包流入口)
  • FORWARD(數(shù)據(jù)包轉(zhuǎn)發(fā))
  • OUTPUT(數(shù)據(jù)包流出口)
  • POSTROUTING(路由后)

任何一個(gè)數(shù)據(jù)包只要經(jīng)過(guò)本機(jī),必須經(jīng)過(guò)這五個(gè)鏈中的其中一個(gè)鏈

3. 防火墻策略

防火墻策略一般分為兩種:

  • 通策略:必須定義誰(shuí)可以進(jìn)
  • 堵策略:必須有身份認(rèn)證,否則不能進(jìn)

當(dāng)我們定義的策略的時(shí)候,要分別定義多條功能,其中:定義數(shù)據(jù)包中允許或者不允許的策略,filter過(guò)濾的功能,而定義地址轉(zhuǎn)換的功能的則是nat選項(xiàng)。為了讓這些功能交替工作,我們制定出了“表”這個(gè)定義,來(lái)定義、區(qū)分各種不同的工作功能和處理方式。
我們比較常用的功能主要有三個(gè):

  • filter:定義允許或者不允許
  • nat:定義地址轉(zhuǎn)換
  • mangle:修改報(bào)文原數(shù)據(jù)

filter:INPUT,F(xiàn)ORWARD,OUTPUT
nat:PREROUTING,OUTPUT,POSTROUTING
mangle:PREROUTING,INPUT,F(xiàn)ORWARD,OUTPUT,POSTROUTING

iptables/netfilter(這款軟件)是工作在用戶空間的,它可以讓規(guī)則進(jìn)行生效的,本身不是一種服務(wù),而且規(guī)則是立即生效的。而我們iptables現(xiàn)在被做成了一個(gè)服務(wù),可以進(jìn)行啟動(dòng),停止的。啟動(dòng),則將規(guī)則直接生效,停止,則將規(guī)則撤銷。
注意:規(guī)則的次序非常關(guān)鍵,誰(shuí)的規(guī)則越嚴(yán)格,應(yīng)該放的越靠前,而檢查規(guī)則的時(shí)候,是按照從上往下的方式進(jìn)行檢查的。

iptables定義規(guī)則的方式比較復(fù)雜:

格式:iptables [-t table] COMMAND chain CRETIRIA -j ACTION
-t table :filter nat mangle
COMMAND:定義如何對(duì)規(guī)則進(jìn)行管理
chain:指定你接下來(lái)的規(guī)則到底是在哪個(gè)鏈上操作的
CRETIRIA:指定匹配標(biāo)準(zhǔn)
-j ACTION :指定如何進(jìn)行處理

iptables命令詳解

當(dāng)然可以通過(guò)man iptables來(lái)查看詳細(xì)的解釋。常用的命令選項(xiàng)有:
-P:設(shè)置默認(rèn)策略的(設(shè)定默認(rèn)門是關(guān)著的還是開著的)如:iptables -P INPUT (DROP|ACCEPT)
-F: FLASH,清空規(guī)則鏈的(注意每個(gè)鏈的管理權(quán)限)
-N:NEW 支持用戶新建一個(gè)鏈,比如:iptables -N inbound_tcp_web 表示附在tcp表上用于檢查web的。
-X:用于刪除用戶自定義的空鏈
-Z:清空鏈
-A:追加
-I num : 插入,把當(dāng)前規(guī)則插入為第幾條
-R num:Replays替換/修改第幾條規(guī)則
-D num:刪除,明確指定刪除第幾條規(guī)則
-L:查看規(guī)則詳細(xì)信息,比如"iptables -L -n -v"

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

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

  • iptabels是與Linux內(nèi)核集成的包過(guò)濾防火墻系統(tǒng),幾乎所有的linux發(fā)行版本都會(huì)包含iptables的功...
    隨風(fēng)化作雨閱讀 4,982評(píng)論 1 16
  • 1.安全技術(shù) (1)入侵檢測(cè)與管理系統(tǒng)(Intrusion Detection Systems): 特點(diǎn)是不阻斷任...
    尛尛大尹閱讀 2,632評(píng)論 0 2
  • iptables簡(jiǎn)介 netfilter/iptables(簡(jiǎn)稱為iptables)組成Linux平臺(tái)下的包過(guò)濾防...
    yshenhn閱讀 113,791評(píng)論 2 78
  • iptables詳解 iptables簡(jiǎn)介 netfilter/iptables(簡(jiǎn)稱為iptables)組成Li...
    jony456123閱讀 583評(píng)論 0 0
  • 官方原文地址CocoaPods不僅僅是一個(gè)能為你項(xiàng)目添加開源代碼的非常棒的工具,而且也能實(shí)現(xiàn)多項(xiàng)目共享組件。你可以...
    Jabir_Zhang閱讀 509評(píng)論 1 3

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