歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> iptables規則的基本應用

iptables規則的基本應用

日期:2017/2/28 14:49:54   编辑:Linux教程

Linux網絡防火牆可以由硬件方面、軟件方面及定義規則(匹配標准,處理辦法)等方式來組合限定各種條件。下面所講的為使用規則來限定tcp/udp/icmp等協議

Framework: 默認規則有開放(堵)與關閉(通)

其中規則中主要使用的是鉤子函數(hook function:)主要有以下5種1: perouting 路由之前2:input 本機進入3output本機出去4:forward本機轉發5:postrouting路由之後

使用到的規則鏈主要有五種:PREROUTING、INPUT、FORWARD、OUTPUT、POSTROUTING。其中分別可以在以下表中使用到的是:

filter(過濾):表 INPUT、OUTPUT、FORWARD

nat(地址轉換):表 PREROUTING、OUTPUT、POSTROUTING

mangle(拆開、修改、封裝):表PREROUTING、INPUT、FORWARD、OUTPUT、POSTROUTING

raw():原始表 PREROUTING、OUTPUT

如果有N條規則這樣就需要我們來使用自定義鏈,但自定義鏈只在被調用時才能發揮作用,而且如果沒有自定義鏈中的任何規則匹配,還應該有返回機制;其中默認鏈無法刪除。

其中每個規則都有兩個內置的計數器:被匹配的報文個數、被匹配的報文大小之和

其中定義的規則格式有:匹配標准,處理動作。如:iptables [-t TABLE] COMMAND CHAIN [num] 匹配標准 -j 處理辦法

匹配標准主要有兩種:通用匹配和擴展匹配,其中擴展匹配又可以分為影含擴展與顯式擴展。如以下命令:

通用匹配

-s, --src: 指定源地址

-d, --dst:指定目標地址

-p {tcp|udp|icmp}:指定協議

-i INTERFACE: 指定數據報文流入的接口

可用於定義標准的鏈:PREROUTING,INPUT,FORWARD

-o INTERFACE: 指定數據報文流出的接口

可用於標准定義的鏈:OUTPUT,POSTROUTING,FORWARD

擴展匹配(使用模塊進行,需要先安裝模塊)有

隱含擴展:不用特別指明由哪個模塊進行的擴展,因為此時使用

-p{tcp|udp|icmp}

--sport PORT[-PORT]:源端口

--dport PORT[-PORT]:目標端口

--tcp-flags mask comp只檢查mask指定的標志位,是逗號分隔的標志位列表comp:

此列表中出現的標記位必須為1,comp中沒出現,而mask中出現的,必須為0 ; -- tcp-flags SYN,FIN,ACK,RST SYN,ACK

顯式擴展:必須指明由哪個模塊進行的擴展,在iptables中使用-m選項可完成此

功能

-m EXTESTION --spe-opt

state狀態擴展

NEW:新連接請求

ESTABLISHED:已建立的連接

IN表:filter、nat、mangle和raw

命令:

管理規則

-A:附加一條規則,添加在鏈的尾部

-I CHAIN [num]: 插入一條規則,插入為對應CHAIN上的第num條;

-D CHAIN [num]: 刪除指定鏈中的第num條規則;

-R CHAIN [num]: 替換指定的規則;

管理鏈:

-F [CHAIN]:flush,清空指定規則鏈,如果省略CHAIN,則可以實現刪除對應表中的所有鏈

-P CHAIN: 設定指定鏈的默認策略;

-N:自定義一個新的空鏈

-X: 刪除一個自定義的空鏈

-Z:置零指定鏈中所有規則的計數器;

-E: 重命名自定義的鏈;

查看類:

-L: 顯示指定表中的規則;

-n: 以數字格式顯示主機地址和端口號;

-v: 顯示鏈及規則的詳細信息

-vv:

-x: 顯示計數器的精確值

--line-numbers: 顯示規則號碼

動作(目標target):

ACCEPT:放行

DROP:丟棄

REJECT:拒絕

DNAT:目標地址轉換

SNAT:源地址轉換

REDIRECT:端口重定向

MASQUERADE:地址偽裝

LOG:日志

MARK:打標記

其中iptables不是服務,但有服務腳本,服務腳本的主要作用用於在保存管理的規則

Copyright © Linux教程網 All Rights Reserved