歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

iptables-1.1.9指南(超經典)一

Iptables 指南 1.1.19 Oskar Andreasson [email protected] Copyright © 2001-2003 by Oskar Andreasson 本文在符合 GNU Free Documentation 許可版本1.1的條件下,可以拷貝、分發、更改,但必須保留緒言和所有的章節,如印刷成書,封面要包括“原著:Oskar Andreasson”,且書背不准有文字。本文附錄有 “GNU Free Documentation License”的詳細內容。 文中的所有腳本均置於GNU General Public License版本2下,可以自由地分發、更改。 給出這些腳本是希望它們有所作用,但沒有任何保證,也沒有商業可用性或某些特殊用途的內在保證。參見GNU General Public License 本文附帶一份GNU General Public License,在章節“GNU Free Documentation License”中,如沒有,請聯系the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111- 1307 USA 獻辭 首先,我要把本文獻給我那wonderful的女友Ninel(她給我的幫助遠遠勝過我給她的):希望我能讓你幸福,就象你給我的。( 譯者注:我沒有想到合適的詞能表達作者女友的wonderful,你就自己想去吧。還有,不知他們現在是否結婚了:) ) 其次,我要把這篇文章獻給所有Linux的開發者和維護者,就是他們完成了令人無法相信的艱難工作,使這麼優秀的操作系統成為可能。 目錄 譯者序 關於作者 如何閱讀 必備知識 本文約定 1. 序言 1.1. 為什麼要寫這個指南 1.2. 指南是如何寫的 1.3. 文中出現的術語 2. 准備階段 2.1. 哪裡能取得iptables 2.2. 內核配置 2.3. 編譯與安裝 2.3.1. 編譯 2.3.2. 在Red Hat 7.1上安裝 3. 表和鏈 3.1. 概述 3.2. mangle 表 3.3. nat 表 3.4. Filter 表 4. 狀態機制 4.1. 概述 4.2. conntrack記錄 4.3. 數據包在用戶空間的狀態 4.4. TCP 連接 4.5. UDP 連接 4.6. ICMP 連接 4.7. 缺省的連接操作 4.8. 復雜協議和連接跟蹤 5. 保存和恢復數據管理規則 5.1. 速度 5.2. restore的不足之處 5.3. iptables-save 5.4. iptables-restore 6. 規則是如何練成的 6.1. 基礎 6.2. Tables 6.3. Commands 6.4. Matches 6.4.1. 通用匹配 6.4.2. 隱含匹配 6.4.3. 顯式匹配 6.4.4. 針對非正常包的匹配 6.5. Targets/Jumps 6.5.1. ACCEPT target 6.5.2. DNAT target 6.5.3. DROP target 6.5.4. LOG target 6.5.5. MARK target 6.5.6. MASQUERADE target 6.5.7. MIRROR target 6.5.8. QUEUE target 6.5.9. REDIRECT target 6.5.10. REJECT target 6.5.11. RETURN target 6.5.12. SNAT target 6.5.13. TOS target 6.5.14. TTL target 6.5.15. ULOG target 7. 防火牆配置實例 rc.firewall 7.1. 關於rc.firewall 7.2. rc.firewall詳解 7.2.1. 參數配置


7.2.2. 外部模塊的裝載 7.2.3. proc的設置 7.2.4. 規則位置的優化 7.2.5. 缺省策略的設置 7.2.6. 自定義鏈的設置 7.2.7. INPUT鏈 7.2.8. FORWARD鏈 7.2.9. OUTPUT鏈 7.2.10. PREROUTING鏈 7.2.11. POSTROUTING鏈 8. 例子簡介 8.1. rc.firewall.txt腳本的結構 8.1.1. 腳本結構 8.2. rc.firewall.txt 8.3. rc.DMZ.firewall.txt 8.4. rc.DHCP.firewall.txt 8.5. rc.UTIN.firewall.txt 8.6. rc.test-iptables.txt 8.7. rc.flush-iptables.txt 8.8. Limit-match.txt 8.9. Pid-owner.txt 8.10. Sid-owner.txt 8.11. Ttl-inc.txt 8.12. Iptables-save ruleset A. 常用命令詳解 A.1. 查看當前規則集的命令 A.2. 修正和清空iptables的命令 B. 常見問題於與解答 B.1. 模塊裝載問題 B.2. 未設置SYN的NEW狀態包 B.3. NEW狀態的SYN/ACK包 B.4. 使用私有IP地址的ISP B.5. 放行DHCP數據 B.6. 關於mIRC DCC的問題 C. ICMP類型 D. 其他資源和鏈接 E. 鳴謝 F. History G. GNU Free Documentation License 0. PREAMBLE 1. APPLICABIL99vY AND DEFIN99vIONS 2. VERBATIM COPYING 3. COPYING IN QUANT99vY 4. MODIFICATIONS 5. COMBINING DOCUMENTS 6. COLLECTIONS OF DOCUMENTS 7. AGGREGATION W99vH INDEPENDENT WORKS 8. TRANSLATION 9. TERMINATION 10. FUTURE REVISIONS OF THIS LICENSE How to use this License for your documents H. GNU General Public License 0. Preamble 1. TERMS AND COND99vIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 2. How to Apply These Terms to Your New Programs I. 示例腳本的代碼 I.1. rc.firewall腳本代碼 I.2. rc.DMZ.firewall腳本代碼 I.3. rc.UTIN.firewall腳本代碼 I.4. rc.DHCP.firewall腳本代碼 I.5. rc.flush-iptables腳本代碼 I.6. rc.test-iptables腳本代碼 List of Tables 3-1. 以本地為目標(就是我們自己的機子了)的包 3-2. 以本地為源的包 3-3. 被轉發的包 4-1. 數據包在用戶空間的狀態 4-2. 內部狀態 6-1. Tables 6-2. Commands 6-3. Options 6-4. Generic matches 6-5. TCP matches 6-6. UDP matches 6-7. ICMP matches 6-8. Limit match options 6-9. MAC match options 6-10. Mark match options 6-11. Multiport match options 6-12. Owner match options 6-13. State matches 6-14. TOS matches 6-15. TTL matches 6-16. DNAT target 6-17. LOG target options 6-18. MARK target options 6-19. MASQUERADE target 6-20. REDIRECT target 6-21. REJECT target 6-22. SNAT target

6-23. TOS target 6-24. TTL target 6-25. ULOG target C-1. ICMP類型 譯者序 譯者sllscn是中國Linux公社裡的“Linux 新鮮社員”,一個Linux愛好者,在實際工作中使用iptables構造防火牆時,發現有關iptables的中文資料太少,故而不得已參考英文版的材料。為了今後參考的方便,也為了廣大使用者,不怕自己的英文水平太差,翻著字典翻譯了本文。翻譯只為了能看懂,達不到“好看”,勿怪! 第一章序言部分除了第三小節介紹的術語要看看,其他都沒什麼。第二章對想要親自編譯iptables的兄弟們是有些幫助的。第三、第四兩章可以使我們理解、掌握iptables工作方式和流程。第五章和第六章是iptables命令使用方法的詳細介紹。第七章與第八章是實例講解,對我們編寫自己的規則很有指導意義的,強烈建議你看一看。附錄裡有一些資源鏈接是很好的,相信你一定會喜歡。 因為術語的緣故,目錄部分有一些未翻譯,但正文的內容都翻譯了。附錄F是本文的更新歷史,附錄G是GNU Free Documentation License,附錄H是GNU General Public License,它們對理解 iptables沒有什麼作用,故未翻譯。 在閱讀本文時,你可能會發現有重復的地方,這不是原作者的水平不高,反而恰恰是他為我們考慮的結果。你可以把這篇文章的任何一章抽出來閱讀,而不需要反復地參照其他章節。在此,再次向作者表示敬意! 因譯者水平有限,對原文的理解不敢保證完全正確,如有意見或建議,可以聯系譯者[email protected] 鄭重聲明:翻譯得到了原文作者Oskar Andreasson的許可。對於本文(不是原文),可自由使用、修改、傳播、轉載,但對以盈利為目的使用,保留所有權利。 關於作者 我的局域網裡有很多“年老的”計算機,他們也想連接到Internet上,還要保證安全。做到這一點, iptables是的ipchains的一個很好的升級。使用ipchains你可以通過丟棄所有“目的端口不是特定端口” 的包來建立一個安全的網絡。但這將導致一些服務出現問題,比如被動FTP,還有在IRC中流出的DCC。它們在服務器上分配端口,並告知客戶端,然後再讓客戶連接。但是,iptables的代碼中也有一些小毛病,在某些方面我發現這些代碼並沒有為作為完整的產品發布做好准備,但我仍然建議使用ipchains或更老的 ipfwadm 的人們進行升級,除非他們對正在使用的代碼滿意,或它們足以滿足他們的需要。 如何閱讀 <



如何閱讀 <



Copyright © Linux教程網 All Rights Reserved