Настройка Vlan в /etc/conf.d/net
Конфигурация следующая:
eth0 и eth1 слепляются в транк bond0, поверх транка bond0 ходят vlan'ы.
Прописано в конфиге так:
---
slaves_bond0="eth0 eth1"
config_bond0=( "null" )
vlans_bond0="12 34"
vconfig_bond0=( "set_name_type VLAN_PLUS_VID_NO_PAD" )
config_vlan12=( "10.1.12.1 netmask 255.255.255.0" )
routes_vlan12=( "default via 10.1.12.254" )
config_vlan34=( "10.1.34.1 netmask 255.255.255.0" )
routes_vlan34=( "default via 10.1.34.254" )
RC_NEED_vlan12="net.bond0"
RC_NEED_vlan34="net.bond0"
---
В этом случае все работает, при старте запускается net.bond0, который поднимает все интерфейсы.
Теперь задача сделать так, что бы оно управлялось по-вланно, отдельными скриптами net.vlan12.
Судя по доке, надо добавить строку
vlan_start_bond0="no"
Просто добавление строки ничего не меняет, по прежнему все интерфейсы поднимаются через net.bond0.
Следующим шагом попробовал убрать строку "vlans_bond="12 34""
Теперь bond0 стартует только объединяя eth0 eth1, и не запускает vlan.
Но после этого перестают запускаться сами net.vlan12 - пишет, что физического интерфейса не существует.
* network interface vlan12 does not exist
* Please verify hardware or kernel module (driver)
идеи?
- Для комментирования войдите или зарегистрируйтесь
Взято из net.example: # If
Взято из net.example:
# If you wish to control the configuration of each vlan through a separate # script, or wish to rename the vlan interface to something that vconfig # cannot then you need to do this. #vlan_start_eth0="no"
Тобишь через net.lo подъём vlan'ов не прокатит, нужно делать это через самосляпанный скрипт. Из conf.d/net при этом надо удалить все строки, конфигурирующие vlan'ы (типа config_vlan=( "....." ) ), оставить только vlans_bond="12 34" и vlan_start_bond0="no".
Я сейчас как раз работаю над подобным, если хотите - могу поделиться когда закончу.
Ок, а зачем мне тогда вообще
Ок, а зачем мне тогда вообще строчка "vlans_bond="12 34"" если я буду поднимать вланы не из этого конфига?
По моему это не правильно.
На сколько я понимаю вопрос только в том, что стандартный net.lo не создает девайс vlanXX при поднятии отдельным скриптом. то есть надо только понять как его это научить делать в другой момент времени.
Если не сложно, пришлите координаты на
а то тут может потеряться инфа.
Eugeny Davidov [ED404-RIPE][Linux since 1997][Gentoo since 2004]
Увы, я не так уж хорошо
net.lo создаёт vlan.XX, но делает это только так, как он делает: поднимает всё сразу вместе с физическим интерфейсом. И кстати, создав симлики на net.lo с именами типа net.vlanXX управлять vlan'ами по отдельности всётаки можно (для этого правда они должны быть сконфигурированы в conf.d/net) но при этом они будут подниматься каждый раз, когда поднимается физический интерфейс. Я так понимаю, именно это вас и не устраивает, но увы, я не так уж хорошо разбираюсь в синтаксисе initscript чтобы модифицировать net.lo эту фичу :) А строчка "vlans_bond="12 34" нужна чтобы добавить vlan'ы к интерфейсу, если её не будет, то добавлять vlan'ы вам так же придется из внешнего скрипта. Не путайте: добавить и поднять vlan это две разные операции. Но вообще можно из conf.d/net вообще убрать всё связанное с vlan'ами и делать это полностью через vconfig, но это не gentoo way имхо :)
Мои координаты в моем профиле