Linux

企業 Linux:VLAN 網橋

  • November 22, 2009

如何在 RHEL5 或 OEL5 上正確配置 vlan 網橋?

我嘗試了以下網路腳本,但在網橋上沒有收到任何數據包。如果我將 IP 地址添加到 vlan60,我將無法訪問該子網的網關。

如果我將相同的地址添加到 eth0.60 它工作正常。

我還注意到 vlan60 的硬體地址為 00:00:00:00:00:00。網橋不應該繼承物理控制器/vlan介面的硬體地址嗎?

我錯過了什麼?

/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes

/etc/sysconfig/network-scripts/ifcfg-eth0.60

DEVICE=eth0.60
BOOTPROTO=none
ONBOOT=yes
VLAN=yes
TYPE=Ethernet
Bridge=vlan60 <-- This one should be BRIDGE=vlan60

/etc/sysconfig/network-scripts/ifcfg-vlan60

DEVICE=vlan60
BOOTPROTO=none
ONBOOT=yes
TYPE=Bridge

這是 ifconfig 的輸出,注意 0 RX 數據包和空的硬體地址:

[root@hydrogen]# ifconfig vlan60
vlan60    Link encap:Ethernet  HWaddr 00:00:00:00:00:00
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:0 errors:0 dropped:0 overruns:0 frame:0
         TX packets:69 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0
         RX bytes:0 (0.0 b)  TX bytes:8512 (8.3 KiB)

[root@hydrogen]# ifconfig eth0.60
eth0.60   Link encap:Ethernet  HWaddr 00:26:12:FB:80:0D
         inet addr:192.168.0.201  Bcast:192.168.0.255  Mask:255.255.255.0
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:8616 errors:0 dropped:0 overruns:0 frame:0
         TX packets:11472 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0
         RX bytes:546437 (533.6 KiB)  TX bytes:2283066 (2.1 MiB)

更新:

[root@hydrogen network-scripts]# brctl show
bridge name     bridge id               STP enabled     interfaces
vlan60          8000.000000000000       no  

brctl的輸出列出了網橋,但沒有列出 vlan 介面 (eth0.60)

結果表明 Bridge=vlan60 語句應該全部大寫 BRIDGE,而 TYPE=Bridge 語句應該是大小寫混合的。由於我的第一個錯誤,vlan 介面根本沒有添加到網橋中。

解決方法:將ifcfg-eth0.60中的Bridge=vlan60改為BRIDGE=vlan60,並彈回介面。

[root@hydrogen]# brctl show
bridge name     bridge id               STP enabled     interfaces
vlan60          8000.002612fb800d       no              eth0.60

引用自:https://serverfault.com/questions/87138