2 個 TAP 介面之間的橋接器是否需要 IP 位址?

2 個 TAP 介面之間的橋接器是否需要 IP 位址?

我正在嘗試在一台機器上設定 openvpn,以便有 2 個不同的 Tap 介面(tap0 和 tap1),然後有一個連接這些介面的橋接器。 openvpn 為每個 TAP 介面設定了伺服器橋接器配置。這個想法是,tap0 上的客戶端將能夠與 tap1 上的客戶端通信,反之亦然。

橋接中不涉及實體 NIC,且橋接介面設定為無 ip/netmask/broadcast。剛剛提出了一個“ifconfig brX up”

當兩個客戶端都連接到openvpn 伺服器時,我能夠在兩個客戶端之間進行ping 操作,每個客戶端都連接到上面提到的自己的分接接口,但是在嘗試tcpdump 橋接接口時,我看不到任何流量。

我對一些事情有點困惑:

  1. 我是否需要在橋接介面上設定 IP?我不太明白它的原因,因為它所做的只是使虛擬介面相互通信

  2. 橋接介面沒有指派的 ip/網路遮罩/廣播是我在 tcpdumping 該介面時無法看到橋接介面上的 ping 流量的原因嗎?

  3. 如果第二個問題的答案是“是”,我認為不可能使用 iptables 來阻止/允許該介面上的流量,對嗎?如果是這樣,還有其他方法可以完成在這樣的介面上使用 iptables 所做的事情嗎?

答案1

我是否需要在橋接介面上設定 IP?我不太明白它的原因,因為它所做的只是使虛擬介面相互通信

不,純網橋僅在乙太網路層級工作 – 它甚至不查看 IP 標頭。當您將 IP 位址指派給 br0 時,實際上是將其指派給連接到該橋接器的主機作業系統。

但是,您還沒有說過有關實際添加tap介面的任何內容橋接埠。您需要明確告訴網橋它管理哪些連接埠:

  • brctl addif br0 tap0

  • ip link set tap0 master br0

橋接介面沒有指派的 ip/網路遮罩/廣播是我在 tcpdumping 該介面時無法看到橋接介面上的 ping 流量的原因嗎?

不。

但這座橋有可能仍處於「學習」模式;它仍然預設為 30 秒 – 使用 進行檢查brctl showstp br0。連接埠可能未新增至網橋(請參閱上文)。連接埠介面本身可能仍處於關閉狀態。

(還有各位大神們為什麼人們認為他們需要設定廣播位址。真的,作業系統已經可以根據 IP 計算出來了 | 〜網路遮罩。手動配置廣播位址幾乎沒有用,只是更容易意外地取得它錯誤的.)

如果第二個問題的答案是“是”,我認為不可能使用 iptables 來阻止/允許該介面上的流量,對嗎?如果是這樣,還有其他方法可以完成在這樣的介面上使用 iptables 所做的事情嗎?

是的,你需要ebtables過濾流量;它不通過IP防火牆。

(不過,我想這並不總是正確的。例如,Untangle 防火牆似乎在跨品種路由器/橋接模式下工作,這有點令人困惑。)

相關內容