Проблемы VLAN между ядрами Linux 2.6 / 3.3 в среде ESX / Cisco
Я попытаюсь объяснить проблему, с которой я столкнулся -
У меня есть виртуальная машина, работающая на esx 4.1 с интерфейсом, подключенным к VLAN800 через порт доступа на cisco 3750. Она работает под управлением Linux - ядро 2.6.24 и имеет от 5 до 10 Мбит разговора на 10.10.0.0/16 и различные многоадресные рассылки. адреса для ухода.
Мне нужно было изолировать определенные устройства от определенных других устройств в сети, и всем им приходилось общаться с этой одной виртуальной машиной. Нет, адресное пространство не может быть разделено, и сети не могут быть легко разделены. Программное обеспечение на виртуальной машине слушает только один интерфейс. Частные vlans, кажется, путь.
В качестве теста я построил мост на виртуальной машине, который объединяет VLAN по мере необходимости. Все хорошо, все работает как положено. Но иногда (вздыхает) есть некоторая задержка, которая отключает пару устройств Profinet в сети, потому что, вы знаете, на самом деле вы не должны транслировать протоколы реального времени в любом месте.
Я перевожу его на наш тестовый / резервный сервер - работает хорошо, но я не хочу, чтобы он работал на тестовом сервере, так как мы много с этим разбираемся.
Поэтому я говорю себе: "Я поставлю его на новую виртуальную машину для тестирования и настройки". Я загружаю небольшой дистрибутив linux с ядром 3.3 и устанавливаю новую виртуальную машину с vlans в качестве отдельных интерфейсов для тестирования.
- Я включаю тестовую ВМ - хорошо.
- Я поднимаю все отдельные интерфейсы - хорошо. Я могу пропинговать производственную виртуальную машину, видеть все виды трафика, проходящего через tshark, и т. Д.
- Я строю мост и устанавливаю на него основной vlan - рабочая виртуальная машина под управлением 2.6 сразу теряет многоадресный трафик - Unicast в порядке. (?)
- Я закрыл мост - все еще нет многоадресного трафика (!?)
- Я выключаю производственную виртуальную машину (!?!?) - многоадресный трафик возвращается.
- Я соединяю все в тестирующую виртуальную машину и вместо этого создаю интерфейсы vlan под linux - тот же результат, как только я запускаю мост.... нет многоадресной рассылки на рабочей виртуальной машине.
Хорошо, я делаю перерыв и оставляю все в покое. Я решил поиграть с парой убиквитных пуль - я тестирую различные прошивки как побочный проект. Я прошивал радио с Open-wrt-12.09. Я включаю транк на порту в cisco в нашей сети, чтобы я мог обойти с несколькими vlans и SSID
- Я включаю радио и подключаюсь - хорошо.
- Я создаю интерфейс vlan из транка.... тот же самый vlan, что и у рабочей VM, где-то там, в трех маршрутизаторах Cisco. Хорошо.
- Я соединяю интерфейс vlan с интерфейсом wifi и сразу получаю телефонный звонок. Рабочая ВМ (неожиданно!) Потеряла многоадресный трафик. Опять же, ничего не возвращается, пока я не выключу и не выключу виртуальную машину.
Что, черт возьми, происходит?
1 ответ
Дальнейшее изучение тестовой установки показывает, что она не связана с виртуальной машиной или ESx - то, что казалось виртуальной машиной, теряющей многоадресную передачу, на самом деле было клиентом WinXP, теряющим многоадресную передачу - перезапуск виртуальной машины "исправил" клиентов. Я подниму отдельный вопрос, поскольку кажется, что это взаимодействие с кодом моста в linux 3.3 против ответа XP на запросы igmp.