九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
iptables詳解2:iptables基礎操作之查看操作

在閱讀這篇文章之前,請確保你已經(jīng)閱讀了如下文章,如下文章總結了iptables的相關概念,是閱讀這篇文章的基礎。

圖文并茂理解iptables

如果你是一個新手,在閱讀如下文章時,請堅持讀到最后,讀的過程中可能會有障礙,但是在讀完以后,你會發(fā)現(xiàn)你已經(jīng)明白了。

在進行iptables實驗時,請務必在測試機上進行。

之前在iptables的概念中已經(jīng)提到過,在實際操作iptables的過程中,是以"表"作為操作入口的,如果你經(jīng)常操作關系型數(shù)據(jù)庫,那么當你聽到"表"這個詞的時候,你可能會聯(lián)想到另一個詞----"增刪改查",當我們定義iptables規(guī)則時,所做的操作其實類似于"增刪改查",那么,我們就先從最簡單的"查"操作入手,開始實際操作iptables。

在之前的文章中,我們已經(jīng)總結過,iptables為我們預定義了4張表,它們分別是raw表、mangle表、nat表、filter表,不同的表擁有不同的功能。

filter負責過濾功能,比如允許哪些IP地址訪問,拒絕哪些IP地址訪問,允許訪問哪些端口,禁止訪問哪些端口,filter表會根據(jù)我們定義的規(guī)則進行過濾,filter表應該是我們最常用到的表了,所以此處,我們以filter表為例,開始學習怎樣實際操作iptables。

怎樣查看filter表中的規(guī)則呢?使用如下命令即可查看。

上例中,我們使用-t選項,指定要操作的表,使用-L選項,查看-t選項對應的表的規(guī)則,-L選項的意思是,列出規(guī)則,所以,上述命令的含義為列出filter表的所有規(guī)則,注意,上圖中顯示的規(guī)則(綠色標注的部分為規(guī)則)是Centos6啟動iptables以后默認設置的規(guī)則,我們暫且不用在意它們,上圖中,顯示出了3條鏈(藍色標注部分為鏈),INPUT鏈、FORWARD鏈、OUTPUT鏈,每條鏈中都有自己的規(guī)則,前文中,我們打過一個比方,把"鏈"比作"關卡",不同的"關卡"擁有不同的能力,所以,從上圖中可以看出,INPUT鏈、FORWARD鏈、OUTPUT鏈都擁有"過濾"的能力,所以,當我們要定義某條"過濾"的規(guī)則時,我們會在filter表中定義,但是具體在哪條"鏈"上定義規(guī)則呢?這取決于我們的工作場景。比如,我們需要禁止某個IP地址訪問我們的主機,我們則需要在INPUT鏈上定義規(guī)則。因為,我們在理論總結中已經(jīng)提到過,報文發(fā)往本機時,會經(jīng)過PREROUTING鏈與INPUT鏈(如果你沒有明白,請回顧前文),所以,如果我們想要禁止某些報文發(fā)往本機,我們只能在PREROUTING鏈和INPUT鏈中定義規(guī)則,但是PREROUTING鏈并不存在于filter表中,換句話說就是,PREROUTING關卡天生就沒有過濾的能力,所以,我們只能在INPUT鏈中定義,當然,如果是其他工作場景,可能需要在FORWARD鏈或者OUTPUT鏈中定義過濾規(guī)則。

話說回來,我們繼續(xù)聊怎樣查看某張表中的規(guī)則。

剛才提到,我們可以使用iptables -t filter -L命令列出filter表中的所有規(guī)則,那么舉一反三,我們也可以查看其它表中的規(guī)則,示例如下。

iptables -t raw -L

iptables -t mangle -L

iptables -t nat -L

其實,我們可以省略-t filter,當沒有使用-t選項指定表時,默認為操作filter表,即iptables -L表示列出filter表中的所有規(guī)則。

我們還可以只查看指定表中的指定鏈的規(guī)則,比如,我們只查看filter表中INPUT鏈的規(guī)則,示例如下(注意大小寫)。

上圖中只顯示了filter表中INPUT鏈中的規(guī)則(省略-t選項默認為filter表),當然,你也可以指定只查看其他鏈,其實,我們查看到的信息還不是最詳細的信息,我們可以使用-v選項,查看出更多的、更詳細的信息,示例如下。

可以看到,使用-v選項后,iptables為我們展示的信息更多了,那么,這些字段都是什么意思呢?我們來總結一下,看不懂沒關系,等到實際使用的時候,自然會明白,此處大概了解一下即可。

其實,這些字段就是規(guī)則對應的屬性,說白了就是規(guī)則的各種信息,那么我們來總結一下這些字段的含義。

pkts:對應規(guī)則匹配到的報文的個數(shù)。

bytes:對應匹配到的報文包的大小總和。

target:規(guī)則對應的target,往往表示規(guī)則對應的"動作",即規(guī)則匹配成功后需要采取的措施。

prot:表示規(guī)則對應的協(xié)議,是否只針對某些協(xié)議應用此規(guī)則。

opt:表示規(guī)則對應的選項。

in:表示數(shù)據(jù)包由哪個接口(網(wǎng)卡)流入,我們可以設置通過哪塊網(wǎng)卡流入的報文需要匹配當前規(guī)則。

out:表示數(shù)據(jù)包由哪個接口(網(wǎng)卡)流出,我們可以設置通過哪塊網(wǎng)卡流出的報文需要匹配當前規(guī)則。

source:表示規(guī)則對應的源頭地址,可以是一個IP,也可以是一個網(wǎng)段。

destination:表示規(guī)則對應的目標地址。可以是一個IP,也可以是一個網(wǎng)段。

細心如你一定發(fā)現(xiàn)了,上圖中的源地址與目標地址都為anywhere,看來,iptables默認為我們進行了名稱解析,但是在規(guī)則非常多的情況下如果進行名稱解析,效率會比較低,所以,在沒有此需求的情況下,我們可以使用-n選項,表示不對IP地址進行名稱反解,直接顯示IP地址,示例如下。

如上圖所示,規(guī)則中的源地址與目標地址已經(jīng)顯示為IP,而非轉換后的名稱。

當然,我們也可以只查看某個鏈的規(guī)則,并且不讓IP進行反解,這樣更清晰一些,比如 iptables -nvL INPUT

如果你習慣了查看有序號的列表,你在查看iptables表中的規(guī)則時肯定會很不爽,沒有關系,滿足你,使用--line-numbers即可顯示規(guī)則的編號,示例如下。

--line-numbers選項并沒有對應的短選項,不過我們縮寫成--line時,centos中的iptables也可以識別。

我知道你目光如炬,你可能早就發(fā)現(xiàn)了,表中的每個鏈的后面都有一個括號,括號里面有一些信息,如下圖紅色標注位置,那么這些信息都代表了什么呢?我們來看看。

上圖中INPUT鏈后面的括號中包含policy ACCEPT ,0 packets,0bytes 三部分。

policy表示當前鏈的默認策略,policy ACCEPT表示上圖中INPUT的鏈的默認動作為ACCEPT,換句話說就是,默認接受通過INPUT關卡的所有請求,所以我們在配置INPUT鏈的具體規(guī)則時,應該將需要拒絕的請求配置到規(guī)則中,說白了就是"黑名單"機制,默認所有人都能通過,只有指定的人不能通過,當我們把INPUT鏈默認動作設置為接受(ACCEPT),就表示所有人都能通過這個關卡,此時就應該在具體的規(guī)則中指定需要拒絕的請求,就表示只有指定的人不能通過這個關卡,這就是黑名單機制,但是,你一定發(fā)現(xiàn)了,上圖中所顯示出的規(guī)則,大部分都是接受請求(ACCEPT),并不是想象中的拒絕請求(DROP或者REJECT),這與我們所描述的黑名單機制不符啊,按照道理來說,默認動作為接受,就應該在具體的規(guī)則中配置需要拒絕的人,但是上圖中并不是這樣的,之所以出現(xiàn)上圖中的情況,是因為IPTABLES的工作機制導致到,上例其實是利用了這些"機制",完成了所謂的"白名單"機制,并不是我們所描述的"黑名單"機制,我們此處暫時不用關注這一點,之后會進行詳細的舉例并解釋,此處我們只要明白policy對應的動作為鏈的默認動作即可,或者換句話說,我們只要理解,policy為鏈的默認策略即可。

packets表示當前鏈(上例為INPUT鏈)默認策略匹配到的包的數(shù)量,0 packets表示默認策略匹配到0個包。

bytes表示當前鏈默認策略匹配到的所有包的大小總和。

其實,我們可以把packets與bytes稱作"計數(shù)器",上圖中的計數(shù)器記錄了默認策略匹配到的報文數(shù)量與總大小,"計數(shù)器"只會在使用-v選項時,才會顯示出來。

當被匹配到的包達到一定數(shù)量時,計數(shù)器會自動將匹配到的包的大小轉換為可讀性較高的單位,如下圖所示。

如果你想要查看精確的計數(shù)值,而不是經(jīng)過可讀性優(yōu)化過的計數(shù)值,那么你可以使用-x選項,表示顯示精確的計數(shù)值,示例如下。

每張表中的每條鏈都有自己的計數(shù)器,鏈中的每個規(guī)則也都有自己的計數(shù)器,沒錯,就是每條規(guī)則對應的pkts字段與bytes字段的信息。

命令小節(jié)

好了,我們已經(jīng)會使用命令簡單的查看iptables表的規(guī)則了,為了方便以后回顧,我們將上文中的相關命令總結一下。

Shell
1
iptables -t 表名 -L

查看對應表的所有規(guī)則,-t選項指定要操作的表,省略"-t 表名"時,默認表示操作filter表,-L表示列出規(guī)則,即查看規(guī)則。

Shell
1
iptables -t 表名 -L 鏈名

查看指定表的指定鏈中的規(guī)則。

Shell
1
iptables -t 表名 -v -L

查看指定表的所有規(guī)則,并且顯示更詳細的信息(更多字段),-v表示verbose,表示詳細的,冗長的,當使用-v選項時,會顯示出"計數(shù)器"的信息,由于上例中使用的選項都是短選項,所以一般簡寫為iptables -t 表名 -vL

Shell
1
iptables -t 表名 -n -L

表示查看表的所有規(guī)則,并且在顯示規(guī)則時,不對規(guī)則中的IP或者端口進行名稱反解,-n選項表示不解析IP地址。

Shell
1
iptables --line-numbers -t 表名 -L

表示查看表的所有規(guī)則,并且顯示規(guī)則的序號,--line-numbers選項表示顯示規(guī)則的序號,注意,此選項為長選項,不能與其他短選項合并,不過此選項可以簡寫為--line,注意,簡寫后仍然是兩條橫杠,仍然是長選項。

Shell
1
iptables -t 表名 -v -x -L

表示查看表中的所有規(guī)則,并且顯示更詳細的信息(-v選項),不過,計數(shù)器中的信息顯示為精確的計數(shù)值,而不是顯示為經(jīng)過可讀優(yōu)化的計數(shù)值,-x選項表示顯示計數(shù)器的精確值。

實際使用中,為了方便,往往會將短選項進行合并,所以,如果將上述選項都糅合在一起,可以寫成如下命令,此處以filter表為例。

Shell
1
iptables --line -t filter -nvxL

當然,也可以只查看某張表中的某條鏈,此處以filter表的INPUT鏈為例

Shell
1
iptables --line -t filter -nvxL INPUT

好了,怎樣使用iptables命令進行基本的查看操作,就先總結到這里吧,下一篇文章會總結iptables規(guī)則的"增、刪、改"操作,直達鏈接如下:

iptables規(guī)則管理

如果你是一個新手,希望這篇文章能對你有所幫助。

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
iptables的使用以及NAT的原理
IP6tables
iptables之三表五鏈
Iptables入門教程 | WooYun知識庫
linux nftables簡介和基礎操作
RHCE心得18——Iptables學習心得
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服