2.iptables規則查詢


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

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

查看filter表中的規則

-t選項,指定要操作的表,使用-L選項,查看-t選項對應的表的規則
上圖中,顯示出三條鏈:INPUT鏈、OUTPUT鏈、FORWARD鏈,每條鏈中都有自己的規則;

例如,我們需要禁止某個IP地址訪問我們的主機,則需要在INPUT鏈上定義規則;在生產環境中,在哪條鏈上定義規則,取決於實際的工作場景,所以,如果我們想要禁止某些報文發往本機,我們只能在PREROUTINGINPUT鏈中定義規則;但是PREROUTING鏈並不存在於filter表中,換句話說就是,PREROUTING鏈本身就沒有過濾數據包的能力,所以我們只能在INPUT鏈中定義規則。

查看指定鏈的規則,省略-t選項默認為filter表

使用-v選項查看更多、更詳細的內容:

字段的含義:

pkts      # 對應規則匹配到的報文的個數
bytes     # 對應匹配到的報文包的大小總數
target    # 規則對應的“動作”,即規則匹配成功后需要采取的措施
prot      # 規則對應的協議,是否只針對某些協議應用此規則
opt       # 規則對應的選項
in        # 表示數據包由哪個網卡流入,可以設置通過哪塊網卡流入的報文需要匹配的規則
out       # 表示數據包由哪個網卡流出,可以設置通過哪塊網卡流出的報文需要匹配的規則
source    # 規則對應的源地址,IP、網段
destination    # 規則對應的目標地址,IP或網段

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

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

可以看到圖中每個鏈的括號中都有一些信息,分別表示什么呢?
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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM