Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > *NIX системы: Общие вопросы > Создание виртуального интерфейса


Автор: s0lman 15.9.2009, 22:26
Привет всем.
Для виртуабокса создаю виртуальный сетевой интерфейс tap0 
Код

PATH=/sbin:/usr/bin:/bin:/usr/bin:/usr/sbin/
tunctl -t tap0 -u Yaric
ifconfig tap0 0.0.0.0 up
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 tap0
ip addr add 192.168.1.8/24 dev br0
ifconfig br0 up
ifconfig eth0 0.0.0.0 up
chmod 0666 /dev/net/tun

Все работает, после выполнения команды ifconfig  tap0 появляется в списке... Но после перезагрузки системы изменения теряются, в папке /etc/sysconfig/network/network-scripts/ не создается файла с соответствующим названием (по аналогу с eth0) - не знаю, нужен ли.
Естественно, шел выполняется из-под рута.
Использую CentOS.
Почему не сохраняются изменения? Кто что может подсказать?
Спасибо.

Автор: bilbobagginz 16.9.2009, 00:05
если я не ошибаюсь, в RHEL системах есть такие файлы:
Код

/etc/sysconfig/network-scripts/ifup-eth0 < тут могут быть имена и других интерфейсов>


думаю должны быть файлы, отвественные за запуск скриптов после ifup-а:
http://www.centos.org/docs/5/html/5.1/Deployment_Guide/s1-networkscripts-control.html

Автор: rustyangel 16.9.2009, 09:47
Цитата(bilbobagginz @  16.9.2009,  00:05 Найти цитируемый пост)
если я не ошибаюсь, в RHEL системах есть такие файлы:

Не ошибаешься, но трогать эти файлы не стоит: при апдейте они либо перепишутся новыми, либо останутся, но могут сломать другие обновлённые скрипты. ifup-* это

Вообще, эти файлы не создаются сами по себе, их надо вручную создать.
 - Нужен будет ifcfg-br0 с настройками, которые сейчас на eth0 и TYPE=Bridge.
 - Нужен будет ifcfg-eth0, без настроек IP и с BRIDGE=br0
 - Из коробки поддержки tun/tap через sysconfig нет, поэтому лучше для для них пользовать VBoxTunctl (он создаёт persistant устройства), а добавлять tap0 к br0 либо в init-скрипте (который придётся написать самому), либо в /etc/rc.local (что лично мне особо красивым не кажется, но вполне работает)
 
Есть ещё вариант. Добавить поддержку tun/tap через sysconfig smile Для этого надо будет написать свои (!) (ifup|ifdown)-(tun|tap) и возможно подправить /sbin/ifup и /sbin/ifdown. И возможно что-то ещё. 

Автор: s0lman 16.9.2009, 10:26
В общем, это для меня оказалось слишком сложным, решил просто указать путь к скрипту, приведенному выше в rc.local. Вроде работает, что и требуется smile
Всем спасибо, вопрос считаем решенным =)

Автор: rustyangel 16.9.2009, 11:08
s0lman, br0 лучше всё-таки лучше в конфиги прописать. Меньше вероятность, что что-то сломается. Вот нормальный пример: http://wiki.libvirt.org/page/Networking#Fedora.2FRHEL_Bridging

Тогда из rc.local достаточно будет делать 

Код

tunctl -t tap0 -u Yaric
ifconfig tap0 0.0.0.0 up
brctl addif br0 tap0
chmod 0666 /dev/net/tun 


Меньше мест, где что-то может незаметно пойти не так

Автор: s0lman 16.9.2009, 15:16
Ok, попробую, как время появится smile

Автор: bilbobagginz 16.9.2009, 23:18
моя идея была в том, чтобы критичный интерфейс для мостика был триггером поднятия мостика.
в дебианах решение - стрейт-форвард, есть скрипты в каталоге /etc/network/if-up.d

у меня другой вопрос:
а нет какого-то уже готового документа и "рецепта" настройки всего сетевого обслуживания в виртуалбоксе, "по мануалу" ?
неужто ты первый, кто пытается  настроить сервер внутри виртуальной машины ?

Автор: rustyangel 17.9.2009, 00:09
По мануалу - VBoxAddIf (в 2.x) или VBoxTunCtl. Но мост создавать всё равно надо вручную. Потому что откуда VBox может знать, какую ты там топологию себе придумаешь.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)