skill——iptables(一)

iptabls

一:防火牆概念
邏輯上,大致分爲爲主機防禦牆與網絡防火牆
主機防火強:針對單個主機進行防禦
網絡防火牆:每每處於網絡入口或邊緣。針對網絡入口進行防禦,服務於防火牆背後的本地局域網
注意:二者並不衝突,網絡防火牆主外(大衆),主機防火強主內(我的)
物理上,可分爲硬件防火牆與軟件防火牆
硬件防火牆:在硬件級別實現部分防火牆功能,另外一部分功能基於軟件實現,性能高,成本高
軟件防火牆:應用軟件處理邏輯運行於通用硬件平臺之上的防火牆,性能低,成本低web

二:iptables 簡述
iptables 其實不是真正的防火牆,咱們能夠把它理解成一個客戶端代理,用戶經過 iptables 這個代理,將用用戶的安全設定執行到對應的 "安全框架" 中,這個 "安全框架" 纔是真正的防火牆,這個框架叫做:netfilter
因此說,雖然咱們使用 service iptables start 來啓動 iptables "服務",但其實準確的來講,iptables 並無一個守護進程,因此並不能算是真正意義上的服務,而應該算是內核提供的一個功能
三:iptables 描述
iptables 是經過咱們制定的規則來處理數據的。而規則存儲在內核空間的信息包過濾表中,這些規則分別指定了源地址、目的地址、傳輸協議(如:TCP、UDP、ICMP)和服務類型(如:HTTP、FTP、SMTP)等;當數據包與規則匹配時,iptables 就會根據規則歲定義的方法來執行相應的動做,如:接受(accept)、拒絕(reject)、丟棄(drop)等;主要經過添加、刪除來配置防火牆中的規則安全


當客戶端訪問服務器的 web 服務時,客戶端發送報文到網卡,而 tcp/ip 協議棧是屬於內核的一部分,因此,客戶端的信息會經過內核的 TCP 協議傳輸到用戶空間中的 web 服務中,而此時,客戶端報文的目標終點爲 web 服務所監聽的套接字(IP:Port)上;當 web 服務須要相應客戶端請求時,web 服務發出的響應報文的目標總店則爲客戶端,這個時候,web 服務所監聽的 IP 端口變爲了原點,咱們說過, netfilter 纔是真正的防火牆,它是內核的一部分,因此,若是咱們想要防火牆達到 「防火」 的目的,則須要在內核中設置關卡,全部進出的報文都要經過這些關卡,符合放行條件的才能經過,符合阻攔條件的則被阻止,因而就有了 input 與 output 關卡,這在 iptables 中稱之爲 「鏈」
咱們也能夠將報文轉發給其餘服務器,咱們就會提到其餘的 「鏈」:「路由前」、「轉發」、「路由後」,即:prerouting、forward、postrouting
以下圖:即報文流向圖
skill——iptables(一)
數據通過防火牆的流程圖
skill——iptables(一)服務器

最後概括一些動做
注意:
ACCEPT:經過
DROP:丟棄
REJECT:拒絕
SNAT:源地址轉換,解決內網用戶用同一個公網地址上網的問題
MASQUERADE:是 SNAT 的一種特殊形式,適用於動態的、臨時會變的 IP 上
DNAT:目標地址轉換
REDIRECT:在本機作端口映射
LOG:在 /var/log/messages 文件中記錄日誌信息,而後數據包傳遞給下一條規則,就是說除了記錄意外不對數據包作任何其餘操做,仍然讓下一條規則去匹配
網絡

相關文章
相關標籤/搜索