預設防火牆規則
拒絕與禁止一個資料包
IP防火牆的資料包傳輸
在IP防火牆中,有三個內建的過濾規則鏈被使用。所有到達介面的資料包都按照輸入規則鏈被過濾。如果資料包被接受,它會被送到路由模組。路由功能決定資料包是被送到本地還是轉寄到另一個出站介面。
如果被轉寄,資料包會由轉寄規則鏈進行第二次過濾。如果資料包被接受,它會被送到輸出規則鏈。
本地產生的出站資料包和將被轉寄的資料包都要經過輸出規則鏈。如果資料包被接受,它會被送出介面。
迴環路徑包括兩個規則鏈,示。每一個迴環資料包在出迴環介面之前需要通過輸出規則鏈,在那裡它會被送到迴環的輸入介面,然後輸入規則鏈被應用。
Netfilter資料包傳輸
在Netfilter(iptables)中,使用內建的INPUT、OUTPUT和FORWARD過濾規則鏈。入站資料包都需要經過路由功能,由其決定將資料包送到本地主機的輸入規則鏈還是轉寄規則鏈。
如果目的地址為本地的資料包被INPUT規則鏈的規則所接受,資料包就會在本地傳送。如果目的地址為外地的資料包被FORWARD規則鏈的規則所接受,資料包就會被送出相應的介面。
經本地處理後的外出資料包被送到OUTPUT規則鏈。如果資料包被接受了,就會被送出相應的介面。於是,每個資料包被過濾一次(出了迴環資料包被過濾兩次)。
Iptables的基本文法
用Netfilter建立防火牆就是使用iptables防火牆管理命令。Iptables命令執行你所建立的防火牆策略管理防火牆的行為。Netfilter防火牆有三個表:filter、NAT和mangle。有了這些表,防火牆就可以由規則鏈來建立,規則鏈中的每一項都是一個iptables命令。
在預設的filter表中包括一個用於處理輸入或即將進入防火牆的資料的規則鏈,一個用於處理輸出或即將離開防火牆的資料的規則鏈,一個用於處理轉寄或通過防火牆被送出的資料的規則鏈,和由其他使用者命名並配置的規則鏈,通常稱作使用者自訂規則鏈。NAT和mangel表有專門的規則鏈。現在filter表是用來實現基本的防火牆的預設表,NAT表用來提供NAT和相關的功能以及mangle表在資料包被防火牆修改時使用就已經足夠了。
Iptables命令的基本文法以iptables本書開始,後面跟著一個或多個選項、一個規則鏈、一個匹配標準級和一個目標或部署。命令的設計很大程度上取決於要執行的操作。你可以參考這個文法:
Iptables <option> <chain> <matching criteria> <target>
Iptables的特點
Iptables在處理不同種類的資料包時使用不同的規則表。這些規則表由功能上相互獨立的表模組來實現。三個主要的模組是filter表、nat表和對資料包進行特殊處理的mangel表。這三個表模組都有自己相應的擴充模組,它們會在首次應用時被動態載入,除非被直接編譯進核心。
Filter表是預設的表。其他的表是通過命令列選項定義的。Filter表的基本特點包括:
(未完,待續。。。)