VirtualBOx and bridge

Доброго времени суток.

Нужно гостевую систему выпустить в реальную сетку + гостевая система должна брать ИП через dhcp.

Делаю всё по мануалу tet --> http://samiux.wordpress.com/2008/07/30/bridging-virtualbox-162-on-ubuntu-8041/

всё создаётса безпроблем. Подымаетса. В ГУИ выбираю использовать ХОСТ Интерфейс и прописываю имя виртуально созданого интерфейса.

И тут беда. Почемуто весть трафик который хочет пройти через этот сетевой интерфейс попадает в секцию droped тоесть невыходит наружу.

Может кто то знает как такое можно починить?
Или как можно исправить?
А ту уже много сломал себе мозга.

Спасибо. :)

а tun/tap настроен?

а tun/tap настроен?

P.S.: Linux - это красная таблетка :-) Windows - синяя...

Непонятно вообще почему....

tun/tap - настроен. Сегодня пробовал опять настраивать.

Нехочет он брать ИП из сетки. Нехотит. Все пакеты просто дропаютса.
Чё делать незнаю.
Подскажите а. Кто ещо сталкивался с такой проблемой?
Может стоит посмотреть в сторону XEN? Может там дела обстоят лутше?

Gentoo - десктоп
FreeBSD 7.0 - server
Home page www.vincity.in.ua

gavrik написал(а): В ГУИ

gavrik написал(а):
В ГУИ выбираю использовать ХОСТ Интерфейс

А почему ХОСТ? Выбирай МОСТ.

Уж сколько раз твердили миру

Засада с DHCP

wi написал(а):
www.gentoo.ru/node/10219

И это я читал и делал.
Только у меня одно НО!
У меня ИП раздаётса через DHCP А не прописываетса ручками.
Если прописывать ручками то всё хорошо работает.
А вот где найти вменяемый конфмг для DHCP?

Засада.

Gentoo - десктоп
FreeBSD 7.0 - server
Home page www.vincity.in.ua

Что значит вменяемый

1)Что значит вменяемый конфиг?
2)Покажи brctl show в главной системе.
3)Гостевая система при загрузке должна иметь dhcp клиент, что бы получать адрес.

ifconfig - brctl show

Делаю я всё так.

 tunctl -u user -t vbox0
 chmod 777 /dev/net/tun
 brctl addbr br0
 ifconfig vbox0 up
 ifconfig br0 up

Смотрим чё получилось то

 ifconfig -a

br0       Link encap:Ethernet  HWaddr 76:1a:7e:ae:aa:2c  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

eth0      Link encap:Ethernet  HWaddr 00:1d:09:3c:b1:a9  
          inet addr:10.15.49.45  Bcast:10.15.49.255  Mask:255.255.255.0
          inet6 addr: fe80::21d:9ff:fe3c:b1a9/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:866649 errors:0 dropped:0 overruns:0 frame:0
          TX packets:690384 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:802174886 (765.0 MiB)  TX bytes:84890698 (80.9 MiB)
          Interrupt:17 

vbox0     Link encap:Ethernet  HWaddr 00:ff:3c:ab:1a:b9  
          inet6 addr: fe80::2ff:3cff:feab:1ab9/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:6 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Вроде всё создалось.
идём дальше

ifconfig eth0 promisc 0.0.0.0
brctl addif br0 eth0
dhcpcd br0

Смотрим взялись ли ИП на мосте или нет.

ifconfig -a

br0       Link encap:Ethernet  HWaddr 00:1d:09:3c:b1:a9  
          inet addr:10.15.49.58  Bcast:10.15.49.255  Mask:255.255.255.0
          inet6 addr: fe80::741a:7eff:feae:aa2c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:52 errors:0 dropped:0 overruns:0 frame:0
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:8907 (8.6 KiB)  TX bytes:2132 (2.0 KiB)

eth0      Link encap:Ethernet  HWaddr 00:1d:09:3c:b1:a9  
          inet6 addr: fe80::21d:9ff:fe3c:b1a9/64 Scope:Link
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
          RX packets:866899 errors:0 dropped:0 overruns:0 frame:0
          TX packets:690434 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:802224739 (765.0 MiB)  TX bytes:84895424 (80.9 MiB)
          Interrupt:17

Добавляем виртуальный интерфейс в мост, и проверяем какие есть интерфесы в мосте.

brctl addif br0 vbox0

brctl show
bridge name	bridge id		  STP enabled	interfaces
br0		 8000.001d093cb1a9	no		      eth0
							      vbox0

Идём в виртуальную машину выбираем хост интерфейс, вписываем туда vbox0, и стартевую ОС.
Гостевая ОС - Офтопик. Соответственно DHCP Там есть.
В винде говорю интерфейсу брать ИП и ДНС зоны.
Пытаетса усердно но ничего неполучаетса у него.
После таких попыток вывожу ifconfig vbox0

vbox0     Link encap:Ethernet  HWaddr 00:ff:3c:ab:1a:b9  
          inet6 addr: fe80::2ff:3cff:feab:1ab9/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:327 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

В секции dropped 327 пакетов. А переданных неодного.! Больше нигде dropped пакетов нету ни в eth0 ни в br0.
Ну и сетка неработает соответственно.

Кто то сталкивался с таким явлением?
help ....

P.S. Юзер под которым стартует виртуалка входит в группу vboxusers.

Спасибо.!

Gentoo - десктоп
FreeBSD 7.0 - server
Home page www.vincity.in.ua

Плохо пост читали. Адрес

Плохо пост читали. Адрес долже иметь мост. А у вас адрес имеет eth0. Мост адреса не имеет

config_eth0=( "null" )
config_br0=("АЙПИШНИКМАШИНЫ netmask МАСКА broadcast БРОАДКАСТ")

Ежели дхцп -полменяйте настройки моста на дхцп. Венда в виртуалке может опять жеж либо дхцп поюзать , либо руками

Да ну ....

Цитата:
Вроде всё создалось.
идём дальше

ifconfig eth0 promisc 0.0.0.0
brctl addif br0 eth0
dhcpcd br0

Смотрим взялись ли ИП на мосте или нет.

ifconfig -a

br0       Link encap:Ethernet  HWaddr 00:1d:09:3c:b1:a9  
          inet addr:10.15.49.58  Bcast:10.15.49.255  Mask:255.255.255.0
          inet6 addr: fe80::741a:7eff:feae:aa2c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:52 errors:0 dropped:0 overruns:0 frame:0
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:8907 (8.6 KiB)  TX bytes:2132 (2.0 KiB)

eth0      Link encap:Ethernet  HWaddr 00:1d:09:3c:b1:a9  
          inet6 addr: fe80::21d:9ff:fe3c:b1a9/64 Scope:Link
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
          RX packets:866899 errors:0 dropped:0 overruns:0 frame:0
          TX packets:690434 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:802224739 (765.0 MiB)  TX bytes:84895424 (80.9 MiB)
          Interrupt:17

ИП мост взял по ДШСП. И нормально себя чуствует.
А вот винда нехотит на виртуалке брать Ип через ДШСП.
Ручками некатит так как фирма с 650 компами ....
Могу непопасть.
Да и каждое утро развёртывать и руками вводить ИП это гемор.

Ради теста проверил. Дал винде ИП и Маску своей сетки.
Тоже самое. Никого невидит и все пкеты уходят в секцию droped.!
Беда.

Gentoo - десктоп
FreeBSD 7.0 - server
Home page www.vincity.in.ua

Установок свойств моста не

Установок свойств моста не вижу .Чтоб мост пакеты пропускал.
brctl_br0=( "setfd 1" "sethello 1" "stp on" ) это у вас Где?

Дополнительно:
Файрвол посмотри на хост оси.
В некоторых организациях сталкивался с привязанными маками к портам свича, в этом случае без админа никак новое устройство не воткнуть.

ЗЫ
Конфиг по ссылке рабочий. Пользуюсь до сих пор.

Эх.... :(

К сожелению всё тоже самое.
И работает так же само.
Все пакеты уходят в секцию dropped и ИП на гостевой ОС неберётса.!

Беда. :(

Gentoo - десктоп
FreeBSD 7.0 - server
Home page www.vincity.in.ua

Права на устройство

Права на устройство проверь.
Оно должно создаваться примарно так
tunctl -u USER_NAME

tunctl -u user -t vbox0

tunctl -u user -t vbox0

Вот так и создаю.
И юзер в группе vboxusers.

и ещо даю права на chmod 777 /dev/net/tun

Gentoo - десктоп
FreeBSD 7.0 - server
Home page www.vincity.in.ua

tunctl -u user -t vbox0

tunctl -u user -t vbox0
brctl addbr br0
ifconfig vbox0 0.0.0.0 up
ifconfig eth0 0.0.0.0 up
ifconfig br0 up
brctl addif br0 eth0
dhcpcd br0

Затем покажи "ifconfig -a" и "ip r ls" ( если нет iproute2, то "netstat -ant").

Сделал ....

ifconfig -a

br0       Link encap:Ethernet  HWaddr 00:1d:09:3c:b1:a9  
          inet addr:192.168.2.103  Bcast:192.168.2.255  Mask:255.255.255.0
          inet6 addr: fe80::444c:f5ff:fe94:93ba/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:104 errors:0 dropped:0 overruns:0 frame:0
          TX packets:27 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:24686 (24.1 KiB)  TX bytes:2900 (2.8 KiB)

eth0      Link encap:Ethernet  HWaddr 00:1d:09:3c:b1:a9  
          inet6 addr: fe80::21d:9ff:fe3c:b1a9/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:140 errors:0 dropped:0 overruns:0 frame:0
          TX packets:38 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:31718 (30.9 KiB)  TX bytes:3896 (3.8 KiB)
          Interrupt:17 

vbox0     Link encap:Ethernet  HWaddr 00:ff:d8:57:4e:c5  
          inet6 addr: fe80::2ff:d8ff:fe57:4ec5/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:6 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

netstat -ant

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State     
tcp        0      0 0.0.0.0:3389            0.0.0.0:*               LISTEN 

Эта строка появляетса только тогда когда запущена виртуальная машина.
Если она незапущено то netstat -ant выдаёт просто пустоту.
Виртуальной машине ИП по ДШСП невыдался.

Gentoo - десктоп
FreeBSD 7.0 - server
Home page www.vincity.in.ua

У меня всё работат.

До установки virtualbox мой /etc/conf.d/net выглядел так:

config_eth0=( "192.168.1.251 netmask 255.255.254.0 broadcast 192.168.1.255" )
routes_eth0=(
        "68.178.211.79 gw 192.168.1.3"
        "81.25.32.0/24 gw 192.168.1.3"
        "81.25.34.106 gw 192.168.1.3"
)
dns_servers_eth0=( "81.25.32.34 81.25.32.9" )

После установки virtualbox, пользуясь различными howto, включил в ядре поддержку bridge и привёл конфиг к виду:

tuntap_vbox0="tap"
config_vbox0=("null")
tunctl_vbox0="-u wiselord"
config_eth0=( "null" )
config_br0=( "192.168.1.251 netmask 255.255.254.0 broadcast 192.168.1.255" )
routes_br0=(
        "68.178.211.79 gw 192.168.1.3"
        "81.25.32.0/24 gw 192.168.1.3"
        "81.25.34.106 gw 192.168.1.3"
)
dns_servers_br0=( "81.25.32.34 81.25.32.9" )
bridge_br0="eth0 vbox0"
brctl_br0=( "setfd 1" "sethello 1" "stp on" )
depend_br0() {
need net.eth0
need net.vbox0
}

убрал из default уровня запуска net.eth0, добавил туда net.br0:
rc-update del net.eth0 default; rc-update add net.br0 default

Мне помогло добавление этой

Мне помогло добавление этой строчки
brctl_br0=( "setfd 1" "sethello 1" "stp on" )
спасибо

P. S.

Предыдущий пост - это к тому, что, возможно, сравнение конфигов "было" и "стало" сможет больше помочь, чем просто мануал по настройке "стало" :)

у меня

у меня так:

config_br0=("192.168.0.252 netmask 255.255.255.0 broadcast 192.168.0.255")  <-- здесь надо поставить dhcp

#Собрали мост br0 из:
tuntap_tap0="tap"
tuntap_tap1="tap"
tuntap_tap2="tap"
tuntap_tap3="tap"
tuntap_tap4="tap"
tuntap_tap5="tap"
tuntap_tap6="tap"
tuntap_tap7="tap"

config_tap0=("null")
config_tap1=("null")
config_tap2=("null")
config_tap3=("null")
config_tap4=("null")
config_tap5=("null")
config_tap6=("null")
config_tap7=("null")

tunctl_tap0="-u andrew" <- здесь и ниже юзера, котоый будет владельцем
tunctl_tap1="-u andrew"
tunctl_tap2="-u andrew"
tunctl_tap3="-u andrew"
tunctl_tap4="-u andrew"
tunctl_tap5="-u andrew"
tunctl_tap6="-u andrew"
tunctl_tap7="-u andrew"

bridge_br0="tap0 tap1 tap2 tap3 tap4 tap5 tap6 tap7"
depend_br0() {
    need net.tap0
    need net.tap1
    need net.tap2
    need net.tap3
    need net.tap4
    need net.tap5
    need net.tap6
    need net.tap7
}

разумеется, надо создать net.tap'ы в /etc/init.d/

P.S.: Linux - это красная таблетка :-) Windows - синяя...

Приношу извинения, с "netstat

Приношу извинения, с netstat -ant перепутал, route -n если нет iproute2 пакета.
А также sysctl -a | grep ip_forward

В настройках сети в

В настройках сети в VirtualBox оставляем поле MAC-adress пустым и тогда все должно заработать, пол дня экспериментов :)

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".