iptables 配置LINUX防火牆
iptables使用3個預設表:filter,nat,mangle。其中filter為系統預設操作表。
Filter表用於防火牆設定,對匹配條件的資料包可以選擇access,drop,reject等的處理方式。Nat表用於網路地址轉發,可以將源、目的ip地址轉變為指定的ip地址。Mangle表可以實現對資料包頭的修改或給資料包附上一些帶外資料,當前mangle表支援修改TOS位及設定skb的nfmard欄位。但由於某些中間層裝置會忽略tos位的值,因此實際應用較少。
Filter表中有input,forward,output鏈;nat表中有prerouting,forward,postrouting鏈;mangle表中有prerouting,output鏈。
常用語法解釋:
iptables –t 表名 –A/I/D/R/ 鏈名 【匹配條件】 -j 行為
表名、鏈名不再重複,介紹一下“匹配條件”:
-p 指定協議(tcp/icmp/udp/...) etc. –p icmp (可以視為載入了相應的處理模組)
-s 源地址(ip address/masklen) etc. –s
-d 目的地址(ip address/masklen) etc. –d
-i 資料包輸入介面 etc. –I eth0
-o 資料包輸出介面 etc. –o eth1
一些模組載入後,還可以進一步指定模組所支援的子選項,如:
iptables …… -p tcp –sport 80 …… -j ……
iptables …… -m mac –mac-source 00:11:22:33:44:55 …… -j ……
鑑於filter表的表述比較簡單,故不再敷述。以下介紹nat表。
Nat:Network Address Translation 網路地址轉換
linux以前的核心僅僅支援有限的NAT功能,被稱為偽裝(masquerade)。Netfilter則支援任何一種NAT。一般來講NAT可以分為源NAT和目的NAT。
源NAT在資料包經過postrouting時修改資料包的源地址。偽裝是一個特殊的SNAT。
目的NAT在資料包經過output或prerouting 時修改資料包目的地址。埠轉發和透明代理都是DNAT。
可以舉例說明:
iptables -t nat -A POSTROUTING –s
iptables –t nat –A PREROUTING –d
公司對iptables使用還包括:masquerade及redirect。
MASQUERADE:
用於具有動態IP地址的撥號連線的SNAT,類似於SNAT,但是如果連線斷開,所有的連線跟蹤資訊將被丟棄,而去使用重新連線以後的IP地址進行IP偽裝。我認為與常用路由器的PAT 功能相類似。
Etc. iptables -t nat -A POSTROUTING -j MASQUERADE -o ppp0
REDIRECT:
重定向資料包為目的為本地,和DNAT將目的地址修改為接到資料包的介面地址情況完全一樣。
Etc. iptables –t nat –A PREROUTING –s
以上指定了到達非本機ip的其他http包,在剛進入伺服器時,更改資料包的目的ip為伺服器的ip,目的埠改為3128。我們配合squid的使用,可以實現使用者上網的透明代理。
Mangle表到目前的應用不很普遍,暫不介紹。
任何時候在任何nefilter規則鏈中,資料包都可以被排隊轉發到使用者空間去。實際的排隊是由核心模組來完成的(ip_queue.o)。
資料包被髮送給使用者空間程式。該程式能對資料包進行任何處理。處理結束以後,使用者程式可以將該資料包重新注入核心或者設定一個對資料包的目標動作(如丟棄等)。
這是netfilter的一個關鍵技術,使使用者程式可以進行復雜的資料包操作。從而減輕了核心空間的複雜度。使用者空間的資料包操作程式能很容易的適用ntfilter提供的稱為libipq的庫來進行開發。
最後,提醒諸位,最好將每一條iptables規則統一寫到/etc/sysconfig/iptables檔案中,iptables每次啟動時將讀取其中的指令碼,並一次性同時生效。單一的加入iptables規則將逐一生效,並重新整理整個規則鏈,處理多條規則時極不合理。
可以有命令:iptables-save 將當前啟用的所有規則寫入/etc/sysconfig/iptables檔案中。
[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8570952/viewspace-910220/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- linux防火牆iptablesLinux防火牆
- Linux 自帶防火牆 Iptables 基本配置Linux防火牆
- iptables配置-Linux系統安全防火牆Linux防火牆
- Linux中iptables防火牆的簡單配置Linux防火牆
- 防火牆IPTABLES防火牆
- Linux 防火牆配置(iptables和firewalld)詳細教程。Linux防火牆
- Linux設定防火牆iptablesLinux防火牆
- Linux 防火牆 學習 iptablesLinux防火牆
- 阿里雲Centos配置iptables防火牆阿里CentOS防火牆
- Linux基礎命令---iptables防火牆Linux防火牆
- iptables.sh 初始化防火牆配置防火牆
- 使用netfilter/iptables配置防火牆(轉)Filter防火牆
- Linux防火牆iptables實用設定Linux防火牆
- Linux 防火牆開放特定埠 (iptables)Linux防火牆
- 使用iptables建置Linux 防火牆(2)(轉)Linux防火牆
- 使用iptables建置Linux 防火牆(3)(轉)Linux防火牆
- Iptables防火牆應用防火牆
- iptables防火牆規則防火牆
- 防火牆iptables 設定防火牆
- 動態iptables 防火牆防火牆
- linux 防火牆配置Linux防火牆
- Linux 配置防火牆Linux防火牆
- Linux IPTables:如何新增防火牆規則Linux防火牆
- Linux防火牆之IPtables概念與用法(轉)Linux防火牆
- 基於iptables防火牆堵漏防火牆
- Centos iptables防火牆設定CentOS防火牆
- 動態 iptables 防火牆(轉)防火牆
- NAT iptables防火牆(script)(轉)防火牆
- iptables實用知識 ,一文學會配置linux防火牆Linux防火牆
- Linux 防火牆配置使用Linux防火牆
- Linux系統iptables與Firewalld防火牆區別?Linux防火牆
- Iptables防火牆規則使用梳理防火牆
- 動態iptables防火牆dynfw(轉)防火牆
- Linux 防火牆:關於 iptables 和 firewalld 的那些事Linux防火牆
- Linux防火牆介紹和iptables常用命令Linux防火牆
- 用一臺linux主機做iptables防火牆薦Linux防火牆
- iptables防火牆如何記錄日誌防火牆
- 20條IPTables防火牆規則用法!防火牆