Presentation is loading. Please wait.

Presentation is loading. Please wait.

NetFilter IPTables.

Similar presentations


Presentation on theme: "NetFilter IPTables."— Presentation transcript:

1 NetFilter IPTables

2

3 Introduction 當封包抵達 Linux 防火牆的時候,依照它的目的地可以進入 Linux 主機由應用程式接收,或者是經由另外的介面轉送出去。 Netfilter 就是在封包進入以及轉出主機中的路徑上,加上一些掛載點(Hook)並使用封包所屬的table來決定如何處置封包。 掛載點(Hook)、表格(Table)

4 在netfilter中,定義了五個掛載點(Hook)分別是Pre-Routing、Local-in、Local-out、Forward和Post-Routing

5 Pre-Routing Forward Post-Routing Routing Routing Local-in Local-out Linux Protocol Stack

6 當封包經過這些掛載點,就可以依照事先規定的動作來處理封包,如Accept、Drop、Queue、Return、Log、Mark、Reject、 Masquerade、Redirect等動作。

7 當封包由介面可接收後會先進入Pre-Routing Hook,再由Routing判斷封包是要進入本機或是要送到另依個網路中
如果是送到本機上則會進入Local-In來檢查封包 如果是要送到另依個網路則送到Forward 檢查 如果封包由本機送出則會先進入Local-out 檢查,最後如果封包要送到媒體上則會進入Post-Routing中檢查

8 Pre-Routing Forward Post-Routing Routing Routing Local-in Local-out Linux Protocol Stack

9 Pre-Routing Forward Post-Routing Routing Routing Local-in Local-out Linux Protocol Stack

10 Pre-Routing Forward Post-Routing Routing Routing Local-in Local-out Linux Protocol Stack

11 Netfilter還定義了三種表格 filter、NAT、Mangle,讓使用者能夠在不同的表格中取得他所需要的功能

12 filter table filter table中所包含的掛載點一共有三個分別是Local-in、Forward以及Local-out
DROP、REJECT、ACCEPT以及LOG

13 Filter LOG紀錄該封包資訊 REJECT退回該封包 ACCEPT讓封包通過 DROP丟棄封包

14 NAT table 在NAT table中包含三個掛載點Pre-Routing、Local-Out和Post-Routing,提供了操作NAT時所需要的全部功能。 轉譯封包位址資訊

15 Nat SNAT轉譯來源位址 DNAT轉譯目的位址 MASQUERADE轉譯來源位址成為 NIC 的位址
REDIRECT轉送至本機某個 Port

16 mangle table mangle table中所包含的掛載點Pre-Routing、Local-out,他是用來在封包標頭中增加一些資料來幫助linux kernel network sub-system來分類封包 他的動作包括TTL、TOS以及增加MARK標示封包。

17 Mangle TTL修改 Time To Live 資訊 MARK標記該封包 TOS設定 Type Of Service 資訊

18

19 Pre-Routing Forward Post-Routing Routing Routing Local-in Local-out Linux Protocol Stack

20 如果當我分別在Pre-Routing、Post-Routing和filter上分別增加:
iptables –A INPUT –p icmp –j LOG iptables –A OUTPUT –p icmp –j LOG iptables –A FORWARD –p icmp –j LOG

21 Pre-Routing Forward Post-Routing Routing Routing Local-in Local-out Linux Protocol Stack

22 心得 參數 PORT Protocol IP

23 iptables 指令 -N建立新的chain -X移除空的chain -P變更chain的標準規則 -L列示在chain中的規則
-F將一個chain中的規則排除掉 -Z將封包和位元組計數器歸零

24 -A加入一個新的規則 -I插入一個新的規則 -R置換一個規則 -D刪除一個規則 參數值前面加”!”代表”Not” -p ! TCP

25 清空現有的rules 刪除自訂chains 設定預設policy iptables –F iptables –X
iptables –P INPUT DROP iptables –P FORWARD DROP iptables –P OUTPUT DROP

26 Example 允許 /24能夠telnet 到 #iptables –A FORWARD –s /24 –d –p tcp --dport 23 –j ACCEPT #iptables –A FORWARD –s –d /24 –p tcp --sport 23 –j ACCEPT

27 上逢甲BBS轉到 #iptables –t nat –A PREROUTING –s –d –p tcp --dport 23 –j DNAT --to-destination

28 指令順序的問題

29 netfilter處理判斷順序 Tables  Chains  Rules  Policy


Download ppt "NetFilter IPTables."

Similar presentations


Ads by Google