歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> iptables防火牆設置

iptables防火牆設置

日期:2017/2/28 15:29:05   编辑:Linux教程

iptables是集成在內核中的包過濾型防火牆,通過分析IP數據包的標志位、端口、ip地址、鏈接狀態等特征,與定義的處理規則進行匹配,然後根據處理規則對數據包作出放行或丟棄等處理,還可以做NAT數據轉發。

iptables分為兩部分:一部分位於內核中存放處理規則,稱為netfilter;另一部分位於用戶空間,用來向內核空間傳遞定義規則,這段在用戶控件中的程序就叫做iptables。

iptables有5個規則連分別處在不同位置,控制不同流向的數據包:

1、INPUT(對被接收下來並經路由選擇以後發往用戶空間程序的數據包進行處理)

2、OUTPUT(對本機用戶空間應用程序發出的數據包進行處理)

3、FORWARD (對接收下來的數據包進行路由選擇數據轉發處理)

4、prerouting(對到達的數據包進行路由前的過濾篩選處理)

5、postrouting(對路由選擇後的數據進行發送前處理)

數據包的流向有:

到本機:
PREROUTING-->INPUT
經本機轉發:
PREROUTING-->FORWARD-->POSTROUTING
由本級發出:
OUTPUT-->POSTROUTING


iptables內置了4張規則表,常用的只有filter,nat和mangle三張表。按優先級依次為:

1、raw:可以對收到的數據包在連接跟蹤前進行處理
作用鏈:PREROUTING,OUTPUT
2、mangle:對數據包進行重組
作用鏈:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING
3、nat:對數據包源或目標IP進行轉換
作用鏈:PREROUTING,OUTPUT,POSTROUTING
4、filter:對數據包進行篩選過濾
作用鏈:INPUT,FORWARD,OUTPUT

以OUTPUT鏈為例:匹配順序依次為raw-->mangel-->nat-->filter。匹配到哪個規則就按哪個規則表處理,不再匹配其他規則,如果所有規則都匹配不到則按默認規則處理。

語法格式:iptables [-t TABLE] COMMAND CHAIN [CRETIRIA] -j ACCEPT|DROP

注意:所有鏈名必須大寫,表明必須小寫,動作必須大寫,匹配必須小寫

COMMAND:對鏈中的規則進行管理操作
鏈中規則:
-A:追加,向規則鏈中添加一條規則,默認被添加到末尾
-I # :插入一條規則,插入為第#條
-R #: 替換第#條
-R CRETERIA:替換指定規則的條目
-D #:刪除第#條規則

鏈:
-N:新建一條自定義的鏈
-X:刪除一條自定義的
-E:重命名一條自定義鏈
-F:清空指定鏈,如果不指定鏈,則清空整個表中的所有鏈
-P(大):設定鏈的默認策略
-Z:置零(對策略無效,只針對規則置零,每條規則,包括默認策略都有兩個計數器:一個是被)

查看:
-L:查看
-v,vv,vvv :顯示詳細信息
--line-numbers:指定行號
-x:顯示精確值
-n:不做反解,顯示數字地址

Copyright © Linux教程網 All Rights Reserved