Возникла непонятная проблема с VLAN в Линуксе.Ситуация: есть две локалки, два роутера, у обоих внешние интерфейсы с реальными адресами, кот. используются для выхода в Инет. Кроме того, на этих же сетевухах подняты VLAN (связь этих сеток через сеть провайдера).
gate1:
vconfig add eth0 7
ifconfig eth0.7 10.1.128.1 netmask 255.255.255.0 up
gate2:
vconfig add eth1 7
ifconfig eth1.7 10.1.128.2 netmask 255.255.255.0 up
Естественно, настроены iptables, все работает. Точнее, работало, с 13 января по 15:50 21 мая.
В 15:55 VLAN развалился. Что произошло - хз, машину до этого перезагружали неоднократно, так что перезагрузка не при чем.
Исследование трафика с помощью tcpdump показало, что на gate1 все нормально, он честно пытается передать тегированный трафик через интерфейс eth0.7, а вот на gate2 пакеты идут без тегов, кроме того, он засовывает их в оба интерфейса: eth1 и eth1.7.
Вывод cat /proc/net/vlan/* на gate1:
VLAN Dev name | VLAN ID
Name-Type: VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD
eth0.7 | 7 | eth0
eth0.7 VID: 7 REORDER_HDR: 1 dev->priv_flags: 1
total frames received 50031
total bytes received 5813016
Broadcast/Multicast Rcvd 8
total frames transmitted 70444
total bytes transmitted 8014916
total headroom inc 0
total encap on xmit 70444
Device: eth0
INGRESS priority mappings: 0:0 1:0 2:0 3:0 4:0 5:0 6:0 7:0
EGRESS priority mappings:
а вот на gate2:
VLAN Dev name | VLAN ID
Name-Type: VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD
eth1.7 | 7 | eth1
eth1.7 VID: 7 REORDER_HDR: 1 dev->priv_flags: 1
total frames received 1252
total bytes received 112424
Broadcast/Multicast Rcvd 0
total frames transmitted 3295
total bytes transmitted 494690
total headroom inc 0
total encap on xmit 0
Device: eth1
INGRESS priority mappings: 0:0 1:0 2:0 3:0 4:0 5:0 6:0 7:0
EGRESS priority mappings:
Обратив внимание на строчку `total encap on xmit 0` в выводе, понимаю, что инкапсуляции (тегирования) точно не происходит.
Обновляю ядро до последнего стабильного (2.6.29.4) - не помогает.
Далее еще интереснее: поднимаю отдельный VLAN (8) на двух других машинах в сети. Одна с работающим iptables (назовем ее gate3), другая - просто рабочая машина с только что установленной Fedora10 (host4).
На gate3 пакеты тегируются, на host4 - нет (total encap on xmit опять 0). Пинг не проходит (т.к. не получаются ответы на arp-запросы).
Где собака порылась? Голова уже почти сломана, мыслей не осталось...