天天看點

IPTables五----ebtables

五、ebtables

iptables可以對ip層封包進行操作,那麼以太網層面呢?linux針對以太網網橋引入了ebtables,它在功能上和iptables相似(主要就是對以太網包進行操作)。它的出現為網橋裝置設定防火牆帶來了便利。在後文我們可以看到etables一般不會單獨使用而在核心開啟bridge-nf功能後和iptables一起工作。

首先在進入bridge之前會進行判定,此封包是不是需要進行bridge,當這個包不需要做bridge時刻,就直接走到Ip層的路由處理了。

IPTables五----ebtables

隻有以太網幀需要做bridging是才會進入到網橋内部,此時ebtable才會生效。

1、主要功能(表):

過濾(filter),mac Nat和brouting

2、brouting

brouting是網橋的一種特殊工作模式,它指對于某些滿足以太網包直接送入ip層(由ip層進行路由),而對于其他包繼續送入到網橋内部進行以太網封包的處理。

當brouting決定送給ip 層進行routing時,routing使用的ip位址是網橋下屬的實體端口的ip位址。

預設的brouting動作就是讓資料包進入到bridge。

brouting是ebtable處理包的第一步。

2.1 brout表支援的鍊

brout表隻支援brouting鍊,brouting鍊的動作有:accept,drop,redirect,return。

注意:accept表示資料包送入bridge,drop表示資料包進入brouting的route。

2.2brouting 的brouting鍊的redirect動作和 prerouting的prerouting鍊redirect動作

brouting 的redirect是将目的mac位址設定為資料包接入接口的實體mac位址;nat表的prerouting鍊中redirect是将資料包目标mac位址設定為虛拟網橋的mac位址。

3、filter

ebtable的filter由三個鍊:input(幀發送給網橋自己的),output(網橋自己發出的或者route的),forward(網橋内部轉發的)

4、nat

ebtable的nat由三個鍊:prerouting output(網橋自己發出或route的包) postrouting

下圖總結了ebtable的所有鍊。

IPTables五----ebtables

5、bridge-nf

ebtable最重要的應用是當核心開啟了bridge-nf功能後,将iptables和ebtables都整合到二層處理裡。後文将較長的描述。

繼續閱讀