Включение поддержки VLAN в CLD 10.2

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”
т.д.
#да, и вообще, рядом пример есть! :slight_smile:
#Еще момент. Возможно надо будет предопределить параметр MTU.
#Надо ли его менять можно выяснить только экспериментальным путем.
#Когда ставим vconfig, об этом говорится!
#По умолчанию MTU=1500.

6. рестарт:

/etc/init.d/@net.eth0 restart

Проверить включился ли vlan можно так:

ifconfig eth0.7

7. Если чего не так - надо поправить.