我尝试在 ubuntu 10.4 上创建 vlan-bridge,因为我喜欢在每个 vlan 端口上运行 ebtables。
我创建了一个脚本来使这项工作更容易:
$DEV ="lan.180" # vlan
$VDEV ="brlan180" # vlan-bridge
$IP ="192.168.10.1"
$MASK ="255.255.255.0"
ifconfig $DEV 0.0.0.0
brctl addbr $VDEV
brctl addif $VDEV $DEV
ifconfig $DEV 0.0.0.0
ifconfig $VDEV $IP netmask $MASK
ifconfig $VDEV up
执行脚本后,brctl show the brigde
bridge name bridge id STP enabled interfaces
brlan180 8000.0026b9847*** no lan.180
dmesg 显示桥的状态
[356192.560351] vlan180: port 1(lan.180) entering learning state
[356203.504216] vlan180: no IPv6 routers present
[356207.537207] vlan180: port 1(lan.180) entering forwarding state
但是,当我 ping 网络成员时没有响应
From 192.168.114.1 icmp_seq=1 Destination Host Unreachable
From 192.168.114.1 icmp_seq=460 Destination Host Unreachable
iptables 正在接受所有输入,接受所有转发,并且我在 sysctl 中得到了 net.ipv4.ip_forward = 1
- 我错过了什么?
- 应该先启动 VLAN 端口还是先启动网桥?
答案1
你能看看 $DEV 是否真的启动了吗?我不确定启动桥梁是否能带动成员启动。
ifconfig $DEV up 0.0.0.0
而不是 ifconfig $DEV 0.0.0.0
您确定网络接受 VLAN 标签吗?没有桥接的话能正常工作吗?
此外,iptables 和 ip_forward 位于上层,桥接发生在第 2 层,因此它不应该影响桥接。