Linux下用vconfig配置vlan的问题

xinxuran
Linux下用vconfig配置vlan的问题

环境:Linux, FC6
网卡eth0: IP 192.168.2.200

在网卡eth0上添加vlan 3,如下:
vconfig add eth0 3
vconfig set_flag eth0.3 1 1
ifconfig eth0.3 3.3.200 mask 255.255.255.0

eth0直连到交换机的trunk口上,该trunk口上有vlan 3(3.3.3.0/24)和vlan 2 (192.168.2.0/24)

同时另一台机器(windows)也接入到交换机上vlan 3口中, ip为3.3.3.100

此时3.3.3.100访问3.3.3.200, 通过tcpdump查看,收包的是eth0,而不是eth0.3, 这是为什么?

由于同时启用iptables对各网卡上进入的包进行了过滤,比如在eth0上只允许来自192.168.2.0/24网段的包,
这样3.3.3.100访问3.3.3.200的包就都被丢弃了。

大家说说这是怎么回事?我该怎么处理?

谢谢。

ssffzz1
TCPDUMP和IPTABLES,不处理子接口。