自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

iptables配置工具

運(yùn)維 系統(tǒng)運(yùn)維
iptables 是與最新的 2.6.x 版本Linux 內(nèi)核集成的 IP 信息包過濾系統(tǒng)。配置iptables其實(shí)不簡(jiǎn)單,但是用對(duì)iptables配置工具那就簡(jiǎn)單多了,看看我是怎么操作的!

iptables配置工具用好了,那配置iptables就簡(jiǎn)單了。

  在過去幾年中,Linux作為防火墻平臺(tái)的應(yīng)用顯著增長(zhǎng)。從早期1.2版內(nèi)核的ipfwadm開始,Linux的防火墻代碼也走過了很長(zhǎng)一段路程了。在2.4版的Linux內(nèi)核中,使用了netfilter體系。在最新的2.4版中,Linux大大加強(qiáng)了安全性,例如:更好的加密支持和netfilter體系的使用。netfilter具有完全的向后兼容性。

  本文將對(duì)iptables的配置做一個(gè)綜述并且重點(diǎn)介紹一些iptables的配置工具。本文的討論將著眼于Linux內(nèi)核的IP防火墻以及其各種界面的配置工具,比如:GUI或者腳本(shell、Perl或者特定的配置語言)。使用這些工具能夠簡(jiǎn)化iptables的配置減少配置的錯(cuò)誤。關(guān)于iptables的知識(shí)請(qǐng)參考Rusty Russell寫的Linux iptables HOWTO。

  使用命令行配置iptables的困難

  使用iptables的命令行接口來配置iptables防火墻對(duì)一個(gè)人來說是一個(gè)挑戰(zhàn),用戶很難指定所有IP報(bào)文的行為。用戶需要對(duì)TCP/IP和應(yīng)用層協(xié)議有較深的了解。象其前輩ipchains一樣,iptables把IP過濾規(guī)則歸并到鏈中,IP報(bào)文遍歷規(guī)則鏈接受處理,還可以送到另外的鏈接受處理,或者最后由默認(rèn)策略(ACCEPT、DROP、REJECT)處理。有些網(wǎng)絡(luò)應(yīng)用程序比其它一些程序更容易穿過防火墻,因此需要理解網(wǎng)絡(luò)連接的建立和斷開。

  我們看一下POP3協(xié)議,這是最簡(jiǎn)單的協(xié)議之一。允許所有向內(nèi)目標(biāo)端口是110的報(bào)文通過通過無法解決所有的管理問題,因?yàn)檫@樣只能使客戶端向發(fā)出申請(qǐng),而服務(wù)器卻無法應(yīng)答。另外,如果使用網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)和其它方式的報(bào)文轉(zhuǎn)發(fā),也存在許多問題。因?yàn)榉阑饓Φ呐渲脤⒂绊懙秸麄€(gè)企業(yè)的安全,所以應(yīng)該特別小心。下面將大概地討論iptables的配置,要獲得更多細(xì)節(jié)請(qǐng)參考Linux iptables HOWTO

  iptables的命令行選項(xiàng)

  在進(jìn)入這時(shí)的討論之前,我們看一下iptables命令行選項(xiàng)的一個(gè)總結(jié)。

  規(guī)則鏈維護(hù)選項(xiàng)

  1.建立新的規(guī)則鏈(-N)

  2.刪除一個(gè)空的規(guī)則鏈(-X)

  3.改變一個(gè)內(nèi)置規(guī)則鏈的策略(-P)

  4.列出一條規(guī)則鏈中的規(guī)則(-L)

  5.擦寫一條規(guī)則鏈中的規(guī)則(-F)

  規(guī)則維護(hù)

  1.在一條規(guī)則鏈中加入一條新的規(guī)則(-A)

  2.刪除一條規(guī)則鏈中某個(gè)位置的規(guī)則(-D)

  iptables的優(yōu)點(diǎn)

  在討論各種iptables配置工具之前,讓我們看一下iptables的優(yōu)點(diǎn),尤其是netfilter比ipchains具有的優(yōu)勢(shì)。

  iptables允許建立狀態(tài)(stateful)防火墻,就是在內(nèi)存中保存穿過防火墻的每條連接。這種模式對(duì)于有效地配置FTP和DNS以及其它網(wǎng)絡(luò)服務(wù)是必要的。

  iptables能夠過濾TCP標(biāo)志任意組合報(bào)文,還能夠過濾MAC地址。

  系統(tǒng)日志比ipchains更容易配置,擴(kuò)展性也更好。

  對(duì)于網(wǎng)絡(luò)地址轉(zhuǎn)換(Network Address Translation)和透明代理的支持,netfilter更為強(qiáng)大和易于使用。

  iptable能夠阻止某些DOS攻擊,例如SYS洪泛攻擊。

  iptables配置工具

  現(xiàn)在,我們看一下Linux iptables的一些配置工具。我主要關(guān)注每個(gè)工具的特征、彈性和易用性。我們將討論以下的工具:

  MonMotha's Firewall 2.3.5 作者:MonMotha

  Firewallscript (iptables 4.4c-3 devel) 作者:Patrik Hildingsson

  Ferm-0.0.18 作者:Auke Kok

  AGT-0.83 作者:Andy Gilligan

  Knetfilter-1.2.4 作者:Luigi Genoni

  gShield-2.0.2 作者:R. Gregory

  MonMotha的Firewall 2.3.5

  MonMotha寫的Firewall 2.3.5是一個(gè)大約30K的shell腳本。目前,主要適用于基于主機(jī)的保護(hù),因?yàn)橐恍┗诰W(wǎng)絡(luò)的選項(xiàng)正在開發(fā)中。這個(gè)腳本的界面(例如:給iptables傳遞配置選項(xiàng)的方法)有點(diǎn)混亂。不過,它不需要配置文件而且安裝容易,直接復(fù)制到任何地方都可以。默認(rèn)情況下,它根本不做什么,實(shí)際上根本就不執(zhí)行,也缺少文檔。這個(gè)腳本對(duì)于撥號(hào)用戶可能有點(diǎn)用處。

  Firewallscript

  Firewallscript(IFS 4.4d)也是一個(gè)bash腳本,大約有85K。這個(gè)腳本可以用于基于主機(jī)和網(wǎng)絡(luò)的防護(hù)。首次運(yùn)行時(shí),它會(huì)直接產(chǎn)生一個(gè)配置文件。不過,在默認(rèn)情況下,這個(gè)文件不起什么作用,只有測(cè)試作用。這個(gè)腳本可以配置NAT和地址偽裝。這個(gè)腳本非常復(fù)雜,但是缺少文檔,因此最好能夠仔細(xì)閱讀它的代碼,使用iptables -L命令哪個(gè)鏈已經(jīng)生效,什么被允許/拒絕。這個(gè)腳本的IP報(bào)文追蹤功能還可以為你提供娛樂。此外,它還會(huì)自動(dòng)探測(cè)、加載iptables需要的內(nèi)核模塊。這個(gè)腳本和上一個(gè)腳本還具有取消(undo)功能,能夠恢復(fù)iptables原來的配置文件。

  Ferm

  Ferm是一個(gè)Perl腳本,使用一種類C語言寫成的配置文件。這種語言非常容易閱讀和理解。這個(gè)腳本有很好的文檔和豐富的示例作為參考。

  這是一個(gè)例子:

  -----------------------------------------------------------------------------

 

  1.   # simple workstation example for ferm  
  2.  
  3.   chain input {  
  4.  
  5.   if ppp0 # put your outside interface here  
  6.  
  7.   {  
  8.  
  9.   proto tcp goto fw_tcp;  
  10.  
  11.   proto udp goto fw_udp;  
  12.  
  13.   proto icmp goto fw_icmp;  
  14.  
  15.   }  
  16.  
  17.   }  
  18.  
  19.   chain fw_tcp proto tcp {  
  20.  
  21.   dport ssh ACCEPT;  
  22.  
  23.   syn DENY log;  
  24.  
  25.   dport domain ACCEPT;  
  26.  
  27.   dport 0:1023 DENY log;  
  28.  
  29.   }  
  30.  
  31.   chain fw_udp proto udp {  
  32.  
  33.   DENY log;  
  34.  
  35.   }  
  36.  
  37.   chain fw_icmp proto icmp {  
  38.  
  39.   icmptype (  
  40.  
  41.   destination-unreachable time-exceeded  
  42.  
  43.   ) ACCEPT;  
  44.  
  45.   DENY log;  
  46.  
  47.   }  
  48.  

 

  -----------------------------------------------------------------------------

  這個(gè)配置文件將使ferm產(chǎn)生iptables如下規(guī)則:允許向外的ssh和DNS報(bào)文通過;阻塞所有的UDP報(bào)文;只允許兩種類型的ICMP消息通過:目的不可達(dá)和超時(shí),并絕拒絕和日志其它類型的ICMP消息。

  AGT

  AGT是一個(gè)使用C語言編寫的程序。從它的代碼來看,目前還處于開發(fā)階段。不支持automake,需要手工編輯Makefile文件,文檔也不是很豐富,但是其配置文件非常簡(jiǎn)單。下面就是一個(gè)配置文件:

  NEW | FROM-INT

  NEW | RESET

  || FROM-INT | icmp | ACCEPT |||||

  || FROM-INT | tcp | ACCEPT ||||| pop3

  || FROM-INT | tcp | ACCEPT ||||| imap

  || RESET | tcp | REJECT --reject-with tcp-reset |||||

  這樣的文件格式,加上缺乏必要的文檔,對(duì)使用者來說是一個(gè)很大的挑戰(zhàn)。而且最好多花些時(shí)間學(xué)學(xué)iptables。

  knetfilter

  knetfilter是一個(gè)非常棒的圖形化iptables配置工具,它是基于KDE的(有KDE1和KDE2兩個(gè)版本)。knetfilter非常易于上手,你可以很容易地使用它來配置基于主機(jī)保護(hù)的規(guī)則和規(guī)則列表;保存和恢復(fù)測(cè)這些規(guī)則和規(guī)則列表;測(cè)試規(guī)則和規(guī)則列表(在同一個(gè)面板上運(yùn)行tcpdump網(wǎng)絡(luò)嗅探器),這一切只要點(diǎn)幾下鼠標(biāo)就可以了。它也支持NAT和網(wǎng)絡(luò)地址偽裝的配置。但是,對(duì)于撥號(hào)工作站,knetfilter工作的不太好,因?yàn)樗枰镜豂P,而且只探測(cè)eth0網(wǎng)絡(luò)接口,不進(jìn)行PPP探測(cè)。這個(gè)工程的文檔也很少,不過因?yàn)槭腔趫D形界面,所以即使不用手冊(cè)也可以很好地使用。

  gShield

  gShield是一個(gè)bash shell腳本,可能是當(dāng)前最成熟的一個(gè)工具。它的文檔非常豐富,配置文件也比較合理直觀,還能夠設(shè)置NAT。它不但能夠處靜態(tài)IP地址,還能夠處理動(dòng)態(tài)IP地址(例如:PPP)。

  gShield還有圖形界面,目前仍然處于早期開發(fā)階段,可以從http://members.home.com/vhodges/gshieldconf.html下載。不過,它似乎只兼容gShield的早期版本(1.x)。

  下面是一個(gè)示例配置文件:

  FW_ROOT="/etc/firewall"

  IPTABLES=`which iptables`

  LOCALIF="eth0"

  DNS="24.31.195.65"

  LTIME="20/m"

  ALLOW_DHCP_LEASES="YES"

  ...

  gShield使用的默認(rèn)配置非常安全,特別適合不愿意擺弄配置文件的用戶,不過軟件的編者建議用戶最好能夠通讀整個(gè)配置文件。據(jù)README文件講,gShield實(shí)現(xiàn)了"類tcpwrapper風(fēng)格的服務(wù)訪問控制功能",使用這個(gè)功能用戶可以很容易地阻塞/允許某項(xiàng)服務(wù),而不必考慮報(bào)文方向之類的問題,只要關(guān)心什么客戶連接到服務(wù)器就可以了。

  結(jié)論

  雖然本文介紹了一些防火墻配置工具,但是實(shí)際上目前還沒有理想的配置工具。最好的配置工具還是iptables命令,這里介紹的這些工具,只適用于對(duì)于使用iptables命令行感覺困難的用戶。

通過文章,我們可以清楚的知道iptables配置工具其實(shí)很好用!

【編輯推薦】

  1. iptables 添加模塊HOWTO
  2. netfilter/iptables模塊功能介紹
  3. iptables 源碼分析
  4. iptables 總結(jié)與應(yīng)用心得
  5. 如何利用netfilter/iptables構(gòu)建防火墻
  6. Iptables 命令和命令說明
  7. squid+iptables網(wǎng)關(guān)防火墻的實(shí)現(xiàn)
  8. Iptables 實(shí)例分析
責(zé)任編輯:趙鵬 來源: 網(wǎng)絡(luò)轉(zhuǎn)載
相關(guān)推薦

2011-03-15 09:46:31

2011-03-17 16:31:12

2011-03-16 11:08:58

2013-02-28 13:18:08

2011-03-16 16:29:27

保存iptables

2011-03-14 14:40:10

2011-03-15 15:47:25

Squidiptables

2009-11-30 09:56:16

2011-03-15 15:47:15

Iptables防火墻

2011-04-21 09:54:14

Linuxiptables

2011-03-16 12:46:29

CentOSiptables防火墻

2011-01-12 09:59:28

Ubuntu Serviptables

2011-03-17 17:40:52

iptables配置

2011-03-17 09:35:35

iptables 映射Linux內(nèi)核

2011-03-17 17:19:24

iptables

2011-03-18 09:26:13

Iptables規(guī)則

2011-03-15 09:59:59

iptables實(shí)例

2011-01-11 10:47:36

Linux網(wǎng)絡(luò)配置

2011-03-16 11:17:56

IptablesICMP

2011-03-14 14:40:11

iptables編譯
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)