成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

iptables的基礎知識-iptables包的轉發過程

運維 系統運維
iptables包的轉發過程:iptabels被認為是Linux中實現包過濾功能的第四代應用程序。iptables包含在Linux2.4以后的內核中,詳細地來講iptables包在轉發時是怎樣被送出呢?本文介紹的是iptables的基礎知識-iptables包的轉發過程。

iptables包的轉發過程:包在IPTABLES中如何走?

  當一個包進入或者送出或者被轉發的時候,是依據什么呢?都會經過哪些表和哪些鏈呢?

  iptabeles中內建有三個表,分別為MANGLE,NAT,FILTER,當為未指定規則表時,則默認為filter表,若要將rule加到其他表中,則要用-t來指明。

  其中有個表叫mangle,這個詞難以表達,我只能把我理解的寫出來。意思就是,會對數據包的一些傳輸特性進行修改,在mangle表中允許的操作是TOS、TTL、MARK。也就是說,今后只要我們見到這個詞能理解它的作用就行了。

  強烈建議你不要在這個表里做任何過濾,不管是DANT,SNAT或者Masquerade。

  Nat表就是地址轉換了,可以做DNAT,SNAT,可做一對一,一對多,多對對轉換,該表有Prerouting 和 postrouting兩條規則鏈。DNAT操作主要用在這樣一種情況,你有一個合法的IP地址,要把對防火墻的訪問重定向到其他的機子上(比如DMZ)。也就是說,我們改變的是目的地址,以使包能重路由到某臺主機。SNAT改變包的源地址,這在極大程度上可以隱藏你的本地網絡或者DMZ等。一個很好的例子是我們知道防火墻的外部地址,但必須用這個地址替換本地網絡地址。有了這個操作,防火墻就能自動地對包做SNAT和De-SNAT(就是反向的SNAT),以使LAN能連接到Internet。如果使用類似192.168.0.0/24這樣的地址,是不會從Internet得到任何回應的。因為IANA定義這些網絡(還有其他的)為私有的,只能用于LAN內部。MASQUERADE的作用和SNAT完全一樣,只是計算機的負荷稍微多一點。因為對每個匹配的包,MASQUERADE都要查找可用的IP地址,而不象SNAT用的IP地址是配置好的。當然,這也有好處,就是我們可以使用通過PPP、PPPOE、SLIP等撥號得到的地址,這些地址可是由ISP的DHCP隨機分配的

  Filter表就是我們最常用的了,iptables包過濾就靠這個了,系統默認建有三個鏈,INPUT,OUTPUT還有FORWARD,這個表用來進行封包過濾的處理(如:DROP,ACCEPT,LOG,REJECT,ULOG等),基本規則都建在這個表中。

  注:所謂的鏈就是規則的集合,也可以自定義鏈

  當數據包到達防火墻時,如果MAC地址符合,就會由內核里相應的驅動程序接收,然后會經過一系列操作,從而決定是發送給本地的程序,還是轉發給其他機子,還是其他的什么。

  以本地為目標的iptables包(就是我們自己的機子了)

  Step(步驟) Table(表) Chain(鏈) Comment(注釋)

  1 在線路上傳輸(比如,Internet)

  2 進入接口 (比如,eth0)

  3 Mangle PREROUTING 這個鏈用來mangle數據包,比如改變TOS等

  4 Nat PREROUTING 這個鏈主要用來做DNAT。不要在這個鏈做過慮操作,因為某些情況下包會溜過去。

  5 路由判斷,比如,iptables包是發往本地的,還是要轉發的。

  6 Mangle INPUT 在路由之后,被送往本地程序之前,mangle數據包。

  7 Filter INPUT 所有以本地為目的的iptables包都要經過這個鏈,不管它們從哪兒來,對這些iptables包的過濾條件就設在這里。

  8 到達本地程序了(比如,服務程序或客戶程序)

  現在我們來看看源地址是本地器的包要經過哪些步驟:

  以本地為源的iptables包

  Step Table Chain Comment

  1 本地程序(比如,服務程序或客戶程序)

  2 路由判斷,要使用源地址,外出接口,還有其他一些信息。

  3 mangle OUTPUT 在這兒可以mangle包。建議不要在這兒做過濾,可能有副作用哦。

  4 nat OUTPUT 這個鏈對從防火墻本身發出的包進行DNAT操作。

  5 filter OUTPUT 對本地發出的iptables包過濾。

  6 mangle POSTROUTING 這條鏈主要在包DNAT之后(譯者注:作者把這一次DNAT稱作實際的路由,雖然在前面有一次路由。對于本地的包,一旦它被生成,就必須經過路由代碼的處理,但這個包具體到哪兒去,要由NAT代碼處理之后才能確定。所以把這稱作實際的路由。),離開本地之前,對iptables包 mangle。有兩種包會經過這里,防火墻所在機子本身產生的包,還有被轉發的包。

  7 nat POSTROUTING 在這里做SNAT。但不要在這里做過濾,因為有副作用,而且有些iptables包是會溜過去的,即使你用了DROP策略。

  8 離開接口(比如: eth0)

  9 在線路上傳輸(比如,Internet)

  在這個表中有個要注意的地方,從本機發出的包,要經過NAT 中的OUTPUT。

  在這個例子中,我們假設一個iptables包的目的是另一個網絡中的一臺機子。讓我們來看看這個iptables包的旅程:

  轉發iptables包

  Step Table Chain Comment

  1 在線路上傳輸(比如,Internet)

  2 進入接口(比如, eth0)

  3 mangle PREROUTING mangle數據包,,比如改變TOS等。

  4 nat PREROUTING 這個鏈主要用來做DNAT。不要在這個鏈做過慮操作,因為某些情況下包會溜過去。稍后會做SNAT。

  5 路由判斷,比如,包是發往本地的,還是要轉發的。

  6 mangle FORWARD 包繼續被發送至mangle表的FORWARD鏈,這是非常特殊的情況才會用到的。在這里,包被mangle(還記得mangle的意思嗎)。這次mangle發生在最初的路由判斷之后,在***一次更改包的目的之前(譯者注:就是下面的FORWARD鏈所做的,因其過濾功能,可能會改變一些包的目的地,如丟棄包)。

  7 filter FORWARD 包繼續被發送至這條FORWARD鏈。只有需要轉發的包才會走到這里,并且針對這些包的所有過濾也在這里進行。注意,所有要轉發的包都要經過這里,不管是外網到內網的還是內網到外網的。在你自己書寫規則時,要考慮到這一點。

  8 mangle POSTROUTING 這個鏈也是針對一些特殊類型的包(譯者注:參考第6步,我們可以發現,在轉發包時,mangle表的兩個鏈都用在特殊的應用上)。這一步mangle是在所有更改包的目的地址的操作完成之后做的,但這時包還在本地上。

  9 nat POSTROUTING 這個鏈就是用來做SNAT的,當然也包括Masquerade(偽裝)。但不要在這兒做過濾,因為某些包即使不滿足條件也會通過。

  10 離開接口(比如: eth0)

  11 又在線路上傳輸了(比如,LAN)

  就如你所見的,包要經歷很多步驟,而且它們可以被阻攔在任何一條鏈上,或者是任何有問題的地方。所有要經防火墻轉發的包都要經過FORWARD鏈。

  由上邊的表格和圖可以看出,iptables 處理包的流動,分述如下:

  INPUT:只有要到本機的封包才會由 INPUT 處理,所以會讓來自內部網絡的封包無條件放行,而來自外部的封包則過濾,是否為回應包,若是則放行。

  PREROUTING:需要轉送處理的封包由此處理,用來做目的地 IP 的翻譯(DNAT)。

  FORWARD:源IP和目的IP都不是本機的,就要被轉發,所有要轉發的封包都在這里處理,這部分的過濾規則最為復雜。

  POSTROUTING:轉發封包送出之前,先同過這個來進行源IP的翻譯(SNAT)。

  OUTPUT:從本機發送出去的包都有此處理,通常放行所有封包。

  從上邊看得出,對于iptables來說,是依據IP地址進行決策,也就是說包中的IP地址決定一個包的流向。

  進入FORWRAD的一定不會進入到INPUT和OUTPUT。

  在處理過程中如果符合某條規則將會進行處理,處理動作除有ACCEPT、REJECT、DROP、REDIRECT 和 MASQUERADE 外還有LOG、ULOG、DNAT、SNAT、MIRROR、QUEUE、RETURN、TOS、TTL、MARK 等。

  我們可以使用< iptables save file > 將結果保存到指定文件中,然后用< iptables restore file > 將指定文件的內容加載,或者寫成腳本,然后執行腳本就可以了。我推薦使用腳本,因為可以使用shell編程,從而寫出強大,靈活的腳本來。iptables包的轉發過程就講到這里啦。

上一節:iptables中的ICMP   下一節:iptables規則

【編輯推薦】

IPtables防火墻使用技巧(超實用)

Linux下Iptables端口轉發功能的解決

四種NAT的iptables實現

責任編輯:zhaolei 來源: netren
相關推薦

2011-03-18 09:26:13

Iptables規則

2011-03-16 11:17:56

IptablesICMP

2011-03-16 11:12:06

Iptables

2011-03-18 09:26:14

iptableslimit

2011-03-16 11:15:12

2011-03-16 11:06:55

Iptables防火墻

2011-03-18 09:26:13

IptablesTOS

2011-03-17 14:26:45

iptables 端口

2021-11-05 15:31:01

UbuntuLinux

2011-03-16 10:12:27

LinuxIptables端口轉發

2023-07-04 07:31:06

MapReduce數據處理編程模型

2011-03-14 14:40:11

iptables編譯

2013-03-27 15:56:05

Android開發Andriod繪圖

2011-11-04 17:26:12

2011-03-16 14:38:55

iptables命令

2011-03-16 14:55:36

關閉iptables

2011-03-15 09:59:54

2011-03-15 09:59:54

2011-03-16 09:30:47

iptables過濾

2011-03-14 15:17:40

iptables設定
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: www.一区二区三区 | 久久久亚洲一区 | 日韩亚洲欧美综合 | 99久久精品视频免费 | 午夜午夜精品一区二区三区文 | 国产1区2区在线观看 | 成人精品国产 | a级黄色网 | 91国产视频在线 | 91亚洲国产成人精品一区二三 | 成年人精品视频 | 成人一区二区在线 | 日韩一区二区三区视频在线观看 | 亚洲国产黄色av | 亚洲精品一区二区三区蜜桃久 | 二区高清 | 午夜在线影院 | 尤物在线视频 | 欧美日韩在线观看一区二区三区 | 日本精品久久 | 久久国| 日韩精品在线播放 | 欧洲妇女成人淫片aaa视频 | 一区二区三区免费在线观看 | 自拍偷拍中文字幕 | 中文字幕一区二区三区精彩视频 | 亚洲人a| 91pron在线 | 亚洲精品字幕 | 午夜爽爽爽男女免费观看影院 | 国产精品视频二区三区 | 久久777| 一区二区精品电影 | 亚洲狠狠爱 | 亚洲美女天堂网 | 色综合久久久 | 超碰在线97国产 | 日韩欧美一区二区三区 | 欧美福利| 九色国产 | 黄色亚洲网站 |