Возникла необходимость поднять как в учебных, так и рабочих целях виланы между двумя серверами.
Первый сервер работает под управлением Debian Etch r3, второй под управлением FreeBSD 7.0. Наш вилан будет фигурировать везде как vlan4 (важно, чтобы он был одинаковым на обеих машинах).
Начнем с первой.
Необходима поддержка 802.1Q ядром Linux
Если модуль не найден, необходимо переконфигурировать ядро, включив поддержку модуля, а потом пересобрать модули ядра.
Модуль включается в Network options / 802.1Q VLAN Support.
Выключить интерфейс:
Теперь поднимем его, но уже без адреса:
Так как мы имеем дело в дебианом, то конфигурация вилан-интерфейса существенно упрощается. Выдержа из /etc/network/interfaces:
Теперь достаточно просто поднять интерфейс
С конфигурированием vlan на машине с дебианом закончили. Переходим к FreeBSD.
Все операции с виланами в FreeBSD проводятся с использованием утилиты ifconfig.
Теперь нужно указать, что созданный интерфейс соответствует трафику, тегированному VLAN 4 и приходящему через физический интерфейс fxp0:
Теперь можно работать с vlan4 как с обычным интерфейсом. Этому интерфейсу нужно зназначить адрес. Машина будет видна в VLAN 4 по этому адресу:
Теперь интерфейс работает
Если нужно, чтобы вилан конфигурировался при загрузке системы, необходимо внести в /etc/rc.conf следующее:
Если нужно добавить много виланов, то можно использовать следующий скрипт (взято с bsdportal.ru):
В /etc/rc.conf добавлять их придется вручную.
Все, обе машины видят друг друга. Выдержка tcpdump вилана на машине с дебианом:
Более подробно с информацией по виланам можно ознакомиться на http://xgu.ru/wiki