среда, 5 ноября 2008 г.

Создание интерфейсов VLAN во FreeBSD 7.0 и Mandriva 2008.1



Задача - нужно создать два VLAN интерфейса (для определенности - номера VLAN: 62 и 99) на одной сетевой карте (пусть в Linux она будет eth0, во freebsd - em0). Кособокость обеих способов примерно одинакова, так что дальше нет ни слова пропаганды - просто констатация.

FreeBSD
Пересобираем ядро, добавив в конфиг строку
device vlan
или пишем в /boot/loader.conf
if_vlan_load="YES"
потом пишем в /etc/rc.conf такое:
cloned_interfaces="vlan62 vlan99"
ifconfig_vlan99="inet x.x.x.x netmask y.y.y.y vlan 99 vlandev em0"
ifconfig_vlan62="inet z.z.z.z netmask w.w.w.w vlan 62 vlandev em0"
после перезагрузки должны появиться интерефейсы vlan62 и vlan99

Mandriva
(аналогично все завелось на CentOS 5.2, в инете сообщалось, что та же схема работает и в других redhat-подобных дисрибутивах)
Должен быть установлен пакет, содержащий команду vconfig. В мандриве этот пакет звался vlan-utils и по умолчанию не был установлен - в CentOS 5.2 пакет vconfig стоял по умолчанию - ну там вообще много всего лишнего ;)
Короче говоря, делаем
$ which vconfig
и при отрицательном ответе хватаемся за urpmf (для мандривы) или yum search для CentOS.
Потом создаем файл /etc/sysconfig/network-scripts/ifcfg-eth0.62
в нем пишем такое:
DEVICE=eth0.62
VLAN=yes
BOOTPROTO=static
IPADDR=x.x.x.x
NETMASK=y.y.y.y
ONBOOT=yes
аналогично создаем и файл ifcfg-eth0.99
После команды
# /etc/init.d/network restart
у нас должны появиться интерфейсы eth0.62 и eth0.99
Для других семейств Linux привожу "сырые" команды оболочки (в самом крайнем случае, их можно и вписать в /etc/rc.local). Создание VLAN интерфейса:
# vconfig add eth0 62
удаление: (мне пригодилось и в мандриве ;)
# vconfig rem eth0.62

P.S. интерфейся Linux вида eth0.62 для комады sysctl будут выглядеть как eth0/62 - лишняя точка сбила бы команду с толку.
P.P.S. ежели используется VirtualBox, то следует заметить что на драйверах Intel PRO (em(4)) vlan не заведется - это не мной первым замечено - нужно использовать PCnet (le(4)).

1 комментарий:

Mist комментирует...

Еще в 6й линейке FreeBSD появилась поддержка VLAN, ядро пересобирать совершенно не нужно.