iptables簡單教程

來源:互聯網
上載者:User

iptables簡單教程 【概述】netfilter/iptables是linux系統內建的免費防火牆,能夠實現防火牆、NAT(網路地址翻譯)和資料包分割功能netfilter工作在核心層,iptables工作在使用者層,可以方便使用者定義規則集的表結構。 【iptables選項介紹】   netfilter的使用者控制命令是iptables,通過iptables建立適當的規則添加到核心中實現參考資料集的過濾。   iptables的一般文法如下:   iptalbes [-t table] command [match] [target]   一條iptables規則包含4個基本元素,  1)表(table)    [-t table] 選項允許使用標準表之外的任何錶。有三種可以使用的表選項:filter、nat和mangle。   2)命令(command)    command部分是iptables命令的最重要部分,它告訴iptables命令要做什麼,例如,插入規則、將規則添加到    鏈的末尾或刪除規則。主要有如表1所示的命令。             表1 iptables常用命令    -A或--append        該命令將一條規則附加到鏈的末尾    -D或--delete        通過用-D指定要匹配的規則或者指定規則在鏈中的位置編號,該命令從鏈中刪除該規則    -P或--policy        該命令設定鏈的預設目標,即策略。所有與鏈中任何規則都不匹配的資訊包都將被強制使                        用此鏈的策略    -N或--new-chain     用命令中所指定的名稱建立一個新鏈    -F或--flush         如果指定鏈名,該命令刪除鏈中的所有規則,如果未指定鏈名,該命令刪除所有鏈中的所                         有規則。此參數用於快速清除    -L或--list          列出指定鏈中的所有規則    -R或--replace       替換指定鏈中一條匹配的規則    -X或--delete-chain  刪除指定使用者的的定義鏈,若沒有指定鏈,則刪除所有的使用者鏈    -C或--check         檢查資料包是否與指定鏈的規則相匹配    -Z或--zero          將指定鏈中所有規則的byte計數器清零    3)匹配(match)    iptables命令的可選match部分指定資訊包與規則匹配所應具有的特徵(如源和目的地地址、協議等)。匹配分為    兩大類:通用匹配和特定於協議的匹配。這裡,將研究可用於採用任何協議的資訊包的通用匹配。下面是一些重    要的且常用的通用匹配及其說明,如表2所示。     表2 通用匹配說明      通用匹配                說    明    -p或--protocol       該通用協議匹配用於檢查某些特定協議。協議樣本有TCP、UDP、ICMP、用逗號分隔的任何這三                               種協議的組合列表以及ALL(用於所有協議)ALL是預設匹配。可以使用!符號表示不與該項匹配    -s 或 --source       該源匹配用於根據資訊包的源IP地址來與它們匹配。該匹配還允許對某一範圍內的IP地址進行匹                               配,可以使用!符號,表示不與該項匹配。預設源匹配與所有IP地址匹配    -d 或 --destination  該目的地匹配用於根據資訊包的目的地IP地址來與它們匹配。該匹配還允許對某一範圍內IP                                 地址進行匹配,可以使用!符號表示不與該項匹配    --sport                  指定匹配規則的源連接埠或連接埠範圍    --dport                  指定匹配規則的目的連接埠或連接埠範圍    -i                         匹配單獨的網路介面或某種類型的介面設定過濾規則   4)目標(target)    前面已經講過,目標是由規則指定的操作,對與那些規則匹配的資訊包執行這些操作。除了允許使用者定義的目標之    外,還有許多可用的目標選項。下面是常用的一些目標及其樣本和說明,如表3所示。     表3 目標項說明     目 標 項       說    明    ACCEPT       當資訊包與具有ACCEPT目標的規則完全符合時,會被接受(允許它前往目的地)    DROP         當資訊包與具有DROP目標的規則完全符合時,會阻塞該資訊包,並且不對它做進一步處理。該目標被                 指定為-j DROP    REJECT       該目標的工作方式與DROP目標相同,但它比DROP好。和DROP不同,REJECT不會在伺服器和客戶機上                 留下死通訊端。另外,REJECT將錯誤訊息發回給資訊包的發送方。該目標被指定為-j REJECT    RETURN       在規則中設定的RETURN目標讓與該規則匹配的資訊包停止遍曆包含該規則的鏈。如果鏈是如INPUT之                 類的主鏈,則使用該鏈的預設策略處理資訊包。它被指定為-jump RETURN    LOG          表示將包的有關資訊記錄入日誌    TOS          表示改寫資料包的TOS值 【iptables使用執行個體】  實際使用規則如下:  只允許某個ip訪問某個連接埠  #iptables -A INPUT -p tcp -s 61.145.251.36 --dport 16322 -j ACCEPT  -A      在INPUT鏈中增加,  -p      表示協議  -s      表示源地址  --dport 表示目的連接埠  -j      目標操作  其他的ip都拒絕  #iptables -A INPUT -p tcp  --dport 16322 -j REJECT  刪除一條規則(刪除INPUT鏈中第一條規則,具體可以man iptables)  #iptalbes -D INPUT 1  插入一條規則(插入到INPUT鏈中第二條規則)  #iptables -I INPUT 2 -p tcp -s 61.145.251.63 --dport 16322 -j ACCEPT  限制某個網口的訪問(eth0 的連接埠訪問插入一條規則)  #iptables -I INPUT 3 -p tcp -s 61.145.251.66 -i eth0 --dport 16322 -j ACCEPT  #iptables -I INPUT 4 -p udp -s 61.145.251.66 -i eth0 --dport 16322 -j ACCEPT  限制某個網段的訪問  #iptables -I INPUT 5 -p tcp -s 192.168.0.0/16 -i eth1  --dport 3306 -j REJECT  對於iptables的一些其他選項可以查看使用手冊:man iptables   和iptables並行的還有iptables-save和iptables-restore命令,分別用來儲存和恢複規則  儲存規則到iptables-save.txt  #iptables-save > iptables-save.txt  從儲存檔案中恢複  #iptables-restore < iptables-save.txt  對於已經含有規則的表格,可以先iptables-save,然後做修改,最後再iptables-restore。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.