Продолжая тему работы с транковыми сетями в юникс приведу простой пример настройки транков во FreeBSD. Такая задача у меня возникла при установке нового трафик-шейпера для интернет-провайдера, где я работаю. В сервере была только одна сетевая карта, а для шейпера надо было как минимум две - внутренний интерфейс с набором серых адресов и внешний интерфейс с белым адресом. И в очередной раз выходом стал перевод интерфейса в транковый режим.
Итак. Что мы имеем: сервер под управлением FreeBSD 7.0 и гигабитной сетевой картой intel (Видна в системе как em0). Так же есть два VLAN'а: 41 - в нём должны быть все серые адреса и 40 - в нем белый адрес.
По умолчанию в ядре уже есть опция "device vlan". Если же нет - добавьте её в конфиг ядра и пересоберите его.
Теперь открываем в редакторе /etc/rc.conf и убираем (комментируем) все настройки для em0. Далее дописываем следующие строки:
# Интерфейс должен быть поднят. Иначе ничего работать не будет
ifconfig_em0="up"
# Создаём пару виртуальных интерфейсов
cloned_interfaces="vlan40 vlan41"
# Настраиваем виртуальный интерфейс vlan40: привязываем его к em0,
# кладём в 40-й VLAN и присваиваем ему IP-адрес
ifconfig_vlan40="inet 11.11.11.11 netmask 255.255.255.252 vlan 40 vlandev em0 up"
# Настраиваем виртуальный интерфейс vlan41: привязываем его к em0,
# кладём в 41-й VLAN и присваиваем ему IP-адрес
ifconfig_vlan41="inet 10.65.255.248 netmask 255.255.0.0 vlan 41 vlandev em0 up"
# Вешаем дополнительные адреса (алиасы) на vlan41
ifconfig_vlan41_alias0="inet 10.63.255.248 netmask 255.255.0.0 up"
ifconfig_vlan41_alias1="inet 10.64.255.248 netmask 255.255.0.0 up"
ifconfig_vlan41_alias2="inet 10.66.255.248 netmask 255.255.0.0 up"
ifconfig_vlan41_alias3="inet 10.67.255.248 netmask 255.255.0.0 up"
ifconfig_vlan41_alias4="inet 10.68.255.248 netmask 255.255.0.0 up"
ifconfig_vlan41_alias5="inet 10.69.255.248 netmask 255.255.0.0 up"
ifconfig_vlan41_alias6="inet 10.70.255.248 netmask 255.255.0.0 up"
ifconfig_vlan41_alias7="inet 10.71.255.248 netmask 255.255.0.0 up"
Как видно из примера настройка VLAN'ов не намного сложнее настройки обычных интерфейсов, а алиасы вообще настраиваются точно так же, как и на обычных интерфейсах.
Если VLAN'ы не поднялись то попробуйте перезагрузить сервер. Если и это не поможет - проверьте наличие опции "device vlan" в конфиге ядра и в случае надобности пересоберите его.