iptables的觀念與使用 1.前言 "iptables" 主要是第一層 : 封包過濾式的 netfilter 防火牆,他不是一種服務,是操作netfilter的命令。 Ubuntu server環境,防火牆有很多選擇,從最為易用便捷的 "ufw" 防火牆(Ubuntu預設),到較新的動態防火牆 " Firewalld ",再到較為專業的防火牆 "iptables" 一應俱全,如何選擇一款合適的防火牆呢?沒有標準答案,但肯定有最合適的選擇。 其中,iptables 這個工具功能全面強大,可以實現很多 ufw 及 Firewalld無 法完成的網絡功能,推薦有一定基礎的用戶使用。 2.理論與觀念 正確的觀念,才能理解,才能正確地應對不同的入侵方式。 iptables防火牆的結構 iptables 是Linux中功能最為強大的防火牆,使用靈活,可以對流入和流出伺服器的數據包進行很精細的控制,當然如果只是用來開啟或禁止某個網絡服務的某個網絡埠,它和 ufw 以及Firewalld都差不多 iptables的三大核心要素是表,鏈和規則。 一言以蔽之,iptables是表的集合,包含四張表(常用的三張 filter, nat, mangle),表則是鏈的集合,每個表都包含若干個鏈, 而鏈則是規則的集合,真正過濾規則是屬於鏈,iptables的處理流程如下圖所示: 從上圖可觀察到Kernel處理和過濾數據包的流程,描述了封包進入主機到離開主機,會經過哪些tables,這些tables裡面會寫規則,進行放行或攔截。 大致上你可以發現數據包在主機流通時有四張表、五個階段: iptables 四張表(彩色的部分) filter : 整個iptables最關鍵的表,實現封包的過濾,可以由INPUT,FORWARD,OUTPUT這三個能夠實現過濾功能的鏈組成。 nat : 學過網路的人應該都知道NAT(Network Address Translation)網路地址轉換,正是應為有了這項技術才使得我們現今還能夠有IPv4可以使用,在iptables中也可以實現NAT的相關功能, 例如SNAT, DNAT, MASQUERADE等功能,nat表可以由PREROUTING, FORWARD, P...
留言
張貼留言
Aron阿龍,謝謝您的留言互動!