天天看點

Iptables規則查詢

iptabels預定義了4表,分别是raw表,mangle表,nat表,filter表,不同的表擁有不同的功能。

以filter表為例,它主要進行資料包的過濾,比如允許哪些IP位址通路,拒絕哪些IP位址;允許通路哪些端口,禁止通路哪些端口,filter會根據我們定義的規則進行過濾。

檢視filter表中的規則

Iptables規則查詢

-t選項,指定要操作的表,使用-L選項,檢視-t選項對應的表的規則

上圖中,顯示出三條鍊:INPUT鍊、OUTPUT鍊、FORWARD鍊,每條鍊中都有自己的規則;

例如,我們需要禁止某個IP位址通路我們的主機,則需要在INPUT鍊上定義規則;在生産環境中,在哪條鍊上定義規則,取決于實際的工作場景,是以,如果我們想要禁止某些封包發往本機,我們隻能在

PREROUTING

INPUT

鍊中定義規則;但是

PREROUTING

鍊并不存在于

filter

表中,換句話說就是,PREROUTING鍊本身就沒有過濾資料包的能力,是以我們隻能在INPUT鍊中定義規則。

檢視指定鍊的規則,省略-t選項預設為filter表

Iptables規則查詢
使用-v選項檢視更多、更詳細的内容:
Iptables規則查詢
字段的含義:

pkts      # 對應規則比對到的封包的個數
bytes     # 對應比對到的封包包的大小總數
target    # 規則對應的“動作”,即規則比對成功後需要采取的措施
prot      # 規則對應的協定,是否隻針對某些協定應用此規則
opt       # 規則對應的選項
in        # 表示資料包由哪個網卡流入,可以設定通過哪塊網卡流入的封包需要比對的規則
out       # 表示資料包由哪個網卡流出,可以設定通過哪塊網卡流出的封包需要比對的規則
source    # 規則對應的源位址,IP、網段
destination    # 規則對應的目标位址,IP或網段           

圖中的源位址和目标位址都為anywhere,iptables預設為我們進行了位址解析,但是在規則非常多的情況下如果進行位址解析,效率會比較低,是以可以使用-n選項,表示不對IP位址進行解析,直接顯示IP位址。

Iptables規則查詢

--line-numbers可顯示規則的編号,如下:

Iptables規則查詢

可以看到圖中每個鍊的括号中都有一些資訊,分别表示什麼呢?

1.policy:表示目前鍊的預設政策,policy ACCEPT表示上圖中INPUT鍊的預設動作為ACCEPT,預設接受通過INPUT鍊的所有請求;

我們在配置INPUT鍊的具體規則是,應該将需要拒絕的請求配置到規則中,設定“黑名單”機制。

2.packets:表示目前鍊預設政策比對到的包的數量;0 packets表示預設政策比對到0個包。

3.bytes:表示目前鍊預設政策比對到的所有包的大小總和。

指令總結

1.

iptables -t [表名] -L

檢視對應表的所有規則,-t指定表,可省略,預設為filter表;-L表示列出規則

2.

iptables -t [表名] -L [鍊名]

檢視指定表中指定鍊中的規則

3.

iptables -t [表名] -v -L

檢視指定表中所有規則,并顯示出更詳細的資訊

4.

iptables -t [表名] -n -L

檢視表中所有規則,-n選項表示不進行IP位址解析

5.

iptables -t [表名] -L --line-numbers

檢視表中所有規則,--line-numbers選項表示顯示規則的序号,可簡寫為--line

繼續閱讀