217. iptables 筆記
緣由
istio重新複習概念的時候,
又碰到了iptable,然後,我又忘了。
沒有用自己理解過的作法,
果然很容易忘記啊。
主題
iptables簡單說是個管高速公路大門的。
基本有三條路(chain),
分別是
- filter:這條路會直接到管高速公路大門的管理單位大樓裡面。
- nat:要去這條高速公路的其他地方,就往這邊。
- mangle:特權道路,有高官要過時,就走這條。
鳥哥的說明:
-
filter (過濾器):主要跟進入 Linux 本機的封包有關,這個是預設的 table 喔!
- INPUT:主要與想要進入我們 Linux 本機的封包有關;
- OUTPUT:主要與我們 Linux 本機所要送出的封包有關;
- FORWARD:這個咚咚與 Linux 本機比較沒有關係, 他可以『轉遞封包』到後端的電腦中,與下列 nat table 相關性較高。
-
nat (位址轉換):是 Network Address Translation 的縮寫, 這個表格主要在進行來源與目的之 IP 或 port 的轉換,與 Linux 本機較無關,主要與 Linux 主機後的區域網路內電腦較有相關。
- PREROUTING:在進行路由判斷之前所要進行的規則(DNAT/REDIRECT)
- POSTROUTING:在進行路由判斷之後所要進行的規則(SNAT/MASQUERADE)
- OUTPUT:
-
- mangle (破壞者):這個表格主要是與特殊的封包的路由旗標有關, 早期僅有 PREROUTING 及 OUTPUT 鏈,不過從 kernel 2.4.18 之後加入了 INPUT 及 FORWARD 鏈。 由於這個表格與特殊旗標相關性較高,所以像咱們這種單純的環境當中,較少使用 mangle 這個表格。
ref. iptables 的表格 (table) 與鏈 (chain)
每個chain裡面都有自己rule,
rule 1 是去彰化,
rule 2 是去員林,
rule 3是去嘉義。
從台中南下要去彰化的話,rule 1 符合就直接去彰化了。
但如果是要去嘉義,前面不符合,就跳過,直到rule 3判斷符合才會執行。