如何在 VLAN 網橋之間進行偽裝

如何在 VLAN 網橋之間進行偽裝

我在基於 openwrt 的系統中創建了兩個 VLAN 橋,該系統具有單一實體介面。

*) eth0->lan->br-lan
*) br-lan->br-lan.2(VLAN INTF)->br-vlan2(BRIDGE INTF)
*) br-lan->br-lan.20(VLAN INTF)->br-vlan20(BRIDGE INTF)

我正在 ubuntu 機器上運行 DHCP 伺服器。

我正在嘗試在 VLAN 之間進行路由以開啟 VLAN 間通訊。但我沒能成功。

我所做的是

 iptables -t nat -I POSTROUTING -o br-vlan2 -j MASQUERADE

 iptables -A FORWARD -i br-vlan2 -o br-vlan20 -mstate --state RELATED,ESTABLISHED -j ACCEPT

 iptables -A FORWARD -i br-vlan20 -o br-vlan2 -j
 ACCEPT

 echo 1 > /proc/sys/net/ipv4/ip_forward

我嘗試使用轉送規則更新 /etc/config/firewall

config zone
        option name 'vlan2'
        list network 'br-lan.2'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'ACCEPT'

config zone
        option name 'vlan20'
        list network 'br-lan.20'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'ACCEPT'

config forwarding
        option src 'br-lan.2'
        option dest 'br-lan.20'

config forwarding
        option src 'br-lan.20'
        option dest 'br-lan.2'

這裡有什麼問題嗎?我是路由器概念的初學者。

編輯:

這就是我的設定的樣子

             IP:  192.168.2.10     192.168.20.10
             GW:  192.168.2.1      192.168.20.1
                   |client 1|       |client 2|
                         ^              ^
                     ____|______________|________
                    |  br-vlan2   |   br-vlan20  |    
 _____________      |192.168.2.2  | 192.168.20.2 |   
|             |     |_____________|______________|
| 192.168.1.1 |     |    |br-lan  IP: 192.168.1.2|
|   router    |---->|eth0|   GW: 192.168.1.1     |
|_____________|     |____|_______________________|          
                    |    x86 machine as AP       |
                    |____________________________|

答案1

普通的OpenWRT路由器通常在CPU中有一個乙太網路接口,內部連接著一個「智慧交換器」晶片。交換器的其他連接埠在外部作為插孔使用,其中一個通常標記為“WAN”,其他連接埠則標記為“LAN”。交換器以下列方式設定:CPU 交換器連結為中繼(所有 VLAN 皆已標記),一個連接埠(「WAN」)為一個 VLAN 未標記,其餘連接埠(「LAN」)為其他 VLAN 未標記。這本質上是標準的“單臂路由器”設置,其中交換器作為低端口數路由器的簡單端口擴展器。

其餘部分看起來與您的情況完全相同,即具有單一乙太網路介面的 Linux 電腦。為了補充交換器設置,它被分成 VLAN 子介面。然後,根據這些子介面的功能進行設定:LAN 放入具有 WLAN 介面的網橋中,而 WAN 則配置為不含網橋。

此設定如下所示(eth0 是路由器的唯一介面):

  • eth0 有兩個 VLAN 子介面:.1 和 .2
  • eth0.1 和 wlan0 和 wlan1 組合成 br-lan,已指派 IP 位址並放入 LAN 區域
  • eth0.2 也分配了位址。

如果您確實需要橋樑,可以這樣做:

config interface 'vlan20'
        option ifname 'eth0.20'
        option type 'bridge'
        option proto 'static'
        option netmask '255.255.255.0'
        option ipaddr '192.168.20.1'

config interface 'vlan2'
        option ifname 'eth0.2'
        option type 'bridge'
        option proto 'static'
        option netmask '255.255.255.0'
        option ipaddr '192.168.2.1'

這將轉換為: 將在 、 和 中建立兩個 VLAN 子接口eth0,並建立兩個網橋br-vlan20br-vlan2。每個 VLAN 子介面將參與其自己的網橋。然後網橋就會分配 IP。

如果您不需要橋接器(例如,您不打算新增其他介面),只需option type 'bridge'從定義中刪除行即可。

請注意,在這種情況下,鏈路另一端的裝置eth0必須準備好處理標記訊框!

這種情況下的防火牆設定可能如下所示:

config zone
        option name 'zone20'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'ACCEPT'
        option network 'vlan20'

config zone
        option name 'zone2'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'ACCEPT'
        option masq '1'
        option network 'vlan2'

config forwarding
        option src 'zone20'
        option dest 'zone2'

config forwarding
        option src 'zone2'
        option dest 'zone20'

請注意防火牆中的選項如何與zone設定檔中的名稱相對應。 Linux 介面名稱僅在設定檔中出現一次,不會在其他地方出現。然而,和選項對應於的選項。networkinterfacenetworknetworkforwardingsrcdstzonename

相關內容