Linux Bridge 中的 Tap 接口始终处于禁用状态

Linux Bridge 中的 Tap 接口始终处于禁用状态

我有一个物理接口 eth0,我想创建两个虚拟接口并将它们与 eth0 桥接。为此,我执行以下操作:

#Create the virtual interfaces
tunctl -t tap0
tunctl -t tap1
ifconfig tap0 up
ifconfig tap1 up

#Create the bridge
brctl addbr br0
brctl stp br0 off
brctl addif br0 eth0
brctl addif br0 tap0
brctl addif br0 tap1

#Turning up the bridge
ifconfig br0 up

然而我的问题是,分接接口在桥中总是显示为禁用,并且没有流量流向它们。

$brctl show br0
bridge name bridge id       STP enabled interfaces
br0     8000.080027cabeba   no          eth2
                                        tap0
                                        tap1

$brctl showstp br0
br0
 bridge id      8000.080027cabeba
 designated root    8000.080027cabeba
 root port         0            path cost          0
 max age          20.00         bridge max age        20.00
 hello time        2.00         bridge hello time      2.00
 forward delay        15.00         bridge forward delay      15.00
 ageing time         300.01
 hello timer           0.00         tcn timer          0.00
 topology change timer     0.00         gc timer         298.42
 flags          


eth2 (1)
 port id        8001            state            forwarding
 designated root    8000.080027cabeba   path cost          4
 designated bridge  8000.080027cabeba   message age timer      0.00
 designated port    8001            forward delay timer   12.97
 designated cost       0            hold timer         1.24
 flags          

tap0 (2)
 port id        8002            state              disabled
 designated root    8000.080027cabeba   path cost        100
 designated bridge  8000.080027cabeba   message age timer      0.00
 designated port    8002            forward delay timer    0.00
 designated cost       0            hold timer         0.00
 flags          

tap1 (3)
 port id        8003            state              disabled
 designated root    8000.080027cabeba   path cost        100
 designated bridge  8000.080027cabeba   message age timer      0.00
 designated port    8003            forward delay timer    0.00
 designated cost       0            hold timer         0.00
 flags          

有没有办法将 Tap 接口设置为转发状态?我不明白为什么不能,因为 STP 被禁用了。

干杯

丹尼尔

答案1

仅当用户打开设备句柄时,才会在点击上设置载体(IFF_RUNNING)。

对于使用 tunctl 创建的持久 tap,你需要一个附加到该 tap 的应用程序,例如:

相关内容