1. Необходимо включить поддержку vlan в ядре:
Модуль включается в Network options / 802.1Q VLAN Support.
Можно также включить GVRP (GARP VLAN Registration Protokol) support.
При выполнении команды cl-kernel, перед сборкой производится действие make clean,
при этом ядро вместе с модулями собирается с нуля. Если в этом нет необходимости
(например нужно докомпилировать один или несколько модулей) используйте опцию “–no-clean”.
cl-kernel --use-own-config --menuconfig --no-clean
- Networking support
- Networking options
- 802.1Q VLAN Support
и если используете GVRP, то возможно понадобится включить - GVRP (GARP VLAN Registration Protocol) support
(Я поддержку VLAN включал в ядро, а не модулем, про включении модулем ничего не скажу).
Делаем exit, далее save (сохраняем измененный конфиг) и далее начинает собираться ядро.
После сборки ядра следует пересобрать пакеты модулей связанных с ядром (такие как nvidia-driver,
madwifi-ng и др.). Это если включаем поддержку VLAN модулем. Для этого выполните команду:
module-rebuild -X rebuild
Ребутнемся с новым ядром.
2. Параллельно при сборке ядра на втором терминале можно сделать следующее:
emerge --unmerge wicd
rc-update del wicd boot
Это говорит о том, что сеть мы будем настраивать ручками.
(Актуально для CLD, там сеть настраивается через wicd).
3. Создадим символическую ссылку на net.lo:
ln -s /etc/init.d/net.lo /etc/init.d/net.eth0
rc-update add net.eth0 default
И добавили в автозагрузку.
4. Установим пакет vconfig для поддержки VLAN.
Для этого качнем пакет vconfig на машине, где есть сеть, и перенесем его на нашу
машину, где сеть только ожидается (VLAN то еще не работает).
Перенести нужно любым удобным способом по этому пути:
/usr/calculate/share/distfiles.
На машине, где есть есть нужный пакет получим так:
DISTDIR=“путь к папке для сохранения файлов пакета” emerge -fD vconfig.
5. Правим конфигурационный файл /etc/conf.d/net
# This blank configuration will automatically use DHCP for any net.*
# scripts in /etc/init.d. To create a more complete configuration,
# please review /usr/share/doc/openrc/net.example and save your configuration
# in /etc/conf.d/net (this file :]!).
#Включаем, чтобы видеть, как и что подключается (по окончании настройки можно закоментарить)
modules=“ifconfid !plug”
config_eth0=“null”
#Здесь надо разбираться, что чего значит.
vconfig_eth0=“set_name_type DEV_PLUS_VID_NO_PAD”
#Включаем VLAN c ID 7 и 15
vlans_eth0=“7 15”
#Далее можно все закоментарить, если все настройки получаем по DHCP, если нет, то например:
config_eth0_7=( “192.168.17.33/24” “10.10.0.173/21” )
routes_eth0_7=( “default via 10.10.0.1” )
dns_servers_eth0_7=“10.10.0.35”
config_eth0_15=“192.168.15.33/24”
#и т.д.
#да, и вообще, рядом пример есть!
#Еще момент. Возможно надо будет предопределить параметр MTU.
#Надо ли его менять можно выяснить только экспериментальным путем.
#Когда ставим vconfig, об этом говорится!
#По умолчанию MTU=1500.
6. рестарт:
/etc/init.d/@net.eth0 restart
Проверить включился ли vlan можно так:
ifconfig eth0.7
7. Если чего не так - надо поправить.