The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"QEMU: гость видит сеть, но невидит хост-систему"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"QEMU: гость видит сеть, но невидит хост-систему"  +/
Сообщение от Gleb on 21-Сен-09, 12:26 
Hi, All!


Хост:
FreeBSD-7.2

/usr/local/etc/qemu-ifup:
#!/bin/sh
/sbin/ifconfig bridge0 create
/sbin/ifconfig bridge0 addm re0 addm $1 up
exec true

запуск:
# qemu -hda qemu/win2k3.img -net nic,model=e1000 -net tap,ifname=tap0 -kernel-kqemu

все интерфейсы поднимаются
гостю доступна вся сеть кроме хостовой системы
Почему нет сети между хостом и гостем?

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "QEMU: гость видит сеть, но невидит хост-систему"  +/
Сообщение от ze6ra (ok) on 21-Сен-09, 13:19 
>[оверквотинг удален]
>/sbin/ifconfig bridge0 create
>/sbin/ifconfig bridge0 addm re0 addm $1 up
>exec true
>
>запуск:
># qemu -hda qemu/win2k3.img -net nic,model=e1000 -net tap,ifname=tap0 -kernel-kqemu
>
>все интерфейсы поднимаются
>гостю доступна вся сеть кроме хостовой системы
>Почему нет сети между хостом и гостем?

Если другие хосты в сети через мост доступны возможно фаервол не пускает.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "QEMU: гость видит сеть, но невидит хост-систему"  +/
Сообщение от Gleb on 21-Сен-09, 13:29 
>
>Если другие хосты в сети через мост доступны возможно фаервол не пускает.
>

ранньше так предпологал
ничего не блокируется

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "QEMU: гость видит сеть, но невидит хост-систему"  +/
Сообщение от sweer email(ok) on 21-Сен-09, 13:30 
>>
>>Если другие хосты в сети через мост доступны возможно фаервол не пускает.
>>
>
>ранньше так предпологал
>ничего не блокируется

brctl show покажите, и попробуйте руками сказать на какой бридж идти

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "QEMU: гость видит сеть, но невидит хост-систему"  +/
Сообщение от Gleb on 21-Сен-09, 13:49 
>
>brctl show покажите, и попробуйте руками сказать на какой бридж идти

ifconfig до старта VM

re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=389b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
    ether 00:1b:fc:36:d9:a8
    inet 192.168.0.13 netmask 0xffffff00 broadcast 192.168.0.255
    media: Ethernet autoselect (1000baseT <full-duplex>)
    status: active


ifconfig после старта VM

re0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=3898<VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
    ether 00:1b:fc:36:d9:a8
    inet 192.168.0.13 netmask 0xffffff00 broadcast 192.168.0.255
    media: Ethernet autoselect (1000baseT <full-duplex>)
    status: active
tap0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
    ether 00:bd:7b:50:d8:00
    Opened by PID 19505
bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    ether 82:fd:c2:6d:27:97
    id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
    maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200
    root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
    member: tap0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
            ifmaxaddr 0 port 6 priority 128 path cost 2000000
    member: re0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
            ifmaxaddr 0 port 1 priority 128 path cost 20000

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "QEMU: гость видит сеть, но невидит хост-систему"  +/
Сообщение от sweer email(ok) on 21-Сен-09, 14:13 
>[оверквотинг удален]
> ether 82:fd:c2:6d:27:97
> id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
> maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200
> root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
>    member: tap0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
>         ifmaxaddr 0 port
>6 priority 128 path cost 2000000
>    member: re0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
>         ifmaxaddr 0 port
>1 priority 128 path cost 20000

А vif почему не поднялся после старта машины? Все же покажите brctl show

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "QEMU: гость видит сеть, но невидит хост-систему"  +/
Сообщение от Gleb on 21-Сен-09, 14:38 
>
>А vif почему не поднялся после старта машины? Все же покажите brctl
>show

это фряха (я писал выше)
здесь нет такого

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "QEMU: гость видит сеть, но невидит хост-систему"  +/
Сообщение от ze6ra (ok) on 21-Сен-09, 15:03 

>[оверквотинг удален]
> ether 82:fd:c2:6d:27:97
> id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
> maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200
> root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
>    member: tap0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
>         ifmaxaddr 0 port
>6 priority 128 path cost 2000000
>    member: re0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
>         ifmaxaddr 0 port
>1 priority 128 path cost 20000

может стоить ip мосту присвоить

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "QEMU: гость видит сеть, но невидит хост-систему"  +/
Сообщение от Gleb on 21-Сен-09, 15:20 
>
>может стоить ip мосту присвоить

пробывал мосту и tap'у присваивать IP
ifconfig bridge0 inet 192.168.0.13 netmask 255.255.255.0
или
ifconfig tap0 inet 192.162.0.13 netmask 255.255.255.0
гостя соответственно в эту подсеть

просто мистика!

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "QEMU: гость видит сеть, но невидит хост-систему"  +/
Сообщение от ze6ra (ok) on 21-Сен-09, 15:47 
>>
>>может стоить ip мосту присвоить
>
>пробывал мосту и tap'у присваивать IP
>ifconfig bridge0 inet 192.168.0.13 netmask 255.255.255.0
>или
>ifconfig tap0 inet 192.162.0.13 netmask 255.255.255.0
>гостя соответственно в эту подсеть
>
>просто мистика!

Чудес не бывает. Интерфейсам входящим в мост ip не нужен поэтому будет лучше убрать ip присвоенный сетевой карте (re0 ну или хотябы мосту назначать другой чтоб не получилось что один и тотже ip привязан к re0 и bridge0), если нужно чтоб был доступ к ресурсам хоста интерфейсу моста (brige0) нужен ip маска и т.д.  Если не помогает смотрим какие пакеты пролетают через tap и bridge. Естественно qemu должен оказаться в одной подсети с хостом. Фаервол смотрим поскольку теперь входящим интерфейсом окажется bridge0.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "QEMU: гость видит сеть, но невидит хост-систему"  +/
Сообщение от Gleb on 21-Сен-09, 16:39 
>
>Чудес не бывает. Интерфейсам входящим в мост ip не нужен поэтому будет
>лучше убрать ip присвоенный сетевой карте (re0 ну или хотябы мосту
>назначать другой чтоб не получилось что один и тотже ip привязан
>к re0 и bridge0), если нужно чтоб был доступ к ресурсам
>хоста интерфейсу моста (brige0) нужен ip маска и т.д.  Если
>не помогает смотрим какие пакеты пролетают через tap и bridge. Естественно
>qemu должен оказаться в одной подсети с хостом. Фаервол смотрим поскольку
>теперь входящим интерфейсом окажется bridge0.

по Вашей рекомендации вводил brige0 в другую подсеть
ifconfig bridge0 inet 192.168.1.13 netmask 255.255.255.0
и гостя соответственно в эту подсеть (192.168.1.6)
(пробывал тоже ifconfig tap0 inet 192.168.1.13 netmask 255.255.255.0)
...безрезультатно

есть правила в фаерволе:
${fwcmd} add 704 allow ip from any to any via bridge0
${fwcmd} add 705 allow ip from any to any via tap0


попробывал на другом хосте (FreeBSD-8.0-current)
тоже самое: вся сеть из гостя видна, а хост - нет
фаервол отключен

где грабли?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "QEMU: гость видит сеть, но невидит хост-систему"  +/
Сообщение от ze6ra (ok) on 21-Сен-09, 17:39 
>по Вашей рекомендации вводил brige0 в другую подсеть
>ifconfig bridge0 inet 192.168.1.13 netmask 255.255.255.0
>и гостя соответственно в эту подсеть (192.168.1.6)
>(пробывал тоже ifconfig tap0 inet 192.168.1.13 netmask 255.255.255.0)
>...безрезультатно
>

Повторюс, у интерфейсов что входят в мост ip адресса лишние, после запуска qemu должен быть
мост в который входят интерфейс сетевой карты и tap0 qemu, назначаем мосту (bridge0) ip и маску. IP должен быть у одного устройсва и это устройство bridge0, затем из сети пробуем пропинговать машину по ip моста если ping пройдет значит есть надежда что мост работает правильно. Затем в гостевой ОС на qemu присваем ip виртуальной сетевой плате (не путать с tap0 на хосте) естественно из тойже подсети что гостевой хост и пробуем пинговать. Проверяем что у гостя также не было лишних настроек фаерволов.
Если не идёт остаётся tcpdump подключить к tap0 и bridge0 и смотреть что приходит на tap0 от qemu.
Прохождение трафика от qemu в сеть и обратно говорит что мост работает корректно.
Возможно во freebsd есть особенности по настройке работы мостов, в линуксе достаточно было присвоить ip и подсеть мосту чтоб qemu мог обращаться к хосту. Думаю что во freebsd не должно сильно отличаться.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "QEMU: гость видит сеть, но невидит хост-систему"  +/
Сообщение от Gleb on 21-Сен-09, 18:00 
>[оверквотинг удален]
>(не путать с tap0 на хосте) естественно из тойже подсети что
>гостевой хост и пробуем пинговать. Проверяем что у гостя также не
>было лишних настроек фаерволов.
>Если не идёт остаётся tcpdump подключить к tap0 и bridge0 и смотреть
>что приходит на tap0 от qemu.
>Прохождение трафика от qemu в сеть и обратно говорит что мост работает
>корректно.
>Возможно во freebsd есть особенности по настройке работы мостов, в линуксе достаточно
>было присвоить ip и подсеть мосту чтоб qemu мог обращаться к
>хосту. Думаю что во freebsd не должно сильно отличаться.

вот сейчас ifconfig:
re0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=3898<VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
    ether 00:1b:fc:36:d9:a8
    media: Ethernet autoselect (1000baseT <full-duplex>)
    status: active
tap0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
    ether 00:bd:ec:f1:ae:00
    Opened by PID 20955
bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    ether e6:71:84:88:de:80
    inet 192.168.0.13 netmask 0xffffff00 broadcast 192.168.0.255
    id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
    maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200
    root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
    member: tap0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
            ifmaxaddr 0 port 6 priority 128 path cost 2000000
    member: re0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
            ifmaxaddr 0 port 1 priority 128 path cost 55

все работает:
хост видит сеть
гость видит сеть
но не видят друг-друга
все тоже самое :(

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

13. "QEMU: гость видит сеть, но невидит хост-систему"  +/
Сообщение от Gleb on 21-Сен-09, 18:02 
>но не видят друг-друга

имеется ввиду хост-система и гостевая система

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

14. "QEMU: гость видит сеть, но невидит хост-систему"  +/
Сообщение от ze6ra (??) on 21-Сен-09, 19:42 
>[оверквотинг удален]
>6 priority 128 path cost 2000000
>    member: re0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
>         ifmaxaddr 0 port
>1 priority 128 path cost 55
>
>все работает:
>хост видит сеть
>гость видит сеть
>но не видят друг-друга
>все тоже самое :(

выглядит всё проде правильно. Возможно причина кроется в другом. Осталось запустить tcpdump на виртуальной машине посмотреть что она отправляет, на хост системе посмотреть что выходит с tap0 и думать почему не доставляется хосту. Может с маршрутами что-то.
На вид всё правильно, я так понимаю после запуска qemu хост система не испытывает проблем с сетью.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

15. "QEMU: гость видит сеть, но невидит хост-систему"  +/
Сообщение от tux2002 email(ok) on 22-Сен-09, 09:10 

>[оверквотинг удален]
>6 priority 128 path cost 2000000
>    member: re0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
>         ifmaxaddr 0 port
>1 priority 128 path cost 55
>
>все работает:
>хост видит сеть
>гость видит сеть
>но не видят друг-друга
>все тоже самое :(

На хосте после пинга гостя arp -a и наоборот что показывают? Может добавить статические arp записи?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

16. "QEMU: гость видит сеть, но невидит хост-систему"  +/
Сообщение от Gleb on 22-Сен-09, 14:22 
>
>На хосте после пинга гостя arp -a и наоборот что показывают? Может
>добавить статические arp записи?

действительно после добавления статических arp записей на госте и хост-системе они стали видеть друг друга

так почему же изначально отсутствовали arp записи?
что отвечает за их появление?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

17. "QEMU: гость видит сеть, но невидит хост-систему"  +/
Сообщение от tux2002 email(ok) on 22-Сен-09, 15:46 

>так почему же изначально отсутствовали arp записи?
>что отвечает за их появление?

Глюки какие-то. В линуксе не лучше.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

18. "QEMU: гость видит сеть, но невидит хост-систему"  +/
Сообщение от Gleb on 22-Сен-09, 17:06 
>
>>так почему же изначально отсутствовали arp записи?
>>что отвечает за их появление?
>
>Глюки какие-то. В линуксе не лучше.

прописал статический arp на хосте в /usr/local/etc/qemu-ifup и у гостя в автозагрузке

но ведь это неправильно
может есть более красивое решение?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

19. "QEMU: гость видит сеть, но невидит хост-систему"  +/
Сообщение от ze6ra (ok) on 23-Сен-09, 10:24 
>[оверквотинг удален]
>>>так почему же изначально отсутствовали arp записи?
>>>что отвечает за их появление?
>>
>>Глюки какие-то. В линуксе не лучше.
>
>прописал статический arp на хосте в /usr/local/etc/qemu-ifup и у гостя в автозагрузке
>
>
>но ведь это неправильно
>может есть более красивое решение?

Управлением arp таблицей по умолчанию занимается ядро. Таблица заполняется автоматом с помощью arp протокола. Просмотреть содержимое таблицы можно по команде arp. Если после внесения статических записей всё работает, то наверное логично предположить что проблемы с работой arp протокола. Стоило бы внимательно изучить arp таблицы обоих сиситем (гостевой и хост системы) посмотреть не привязались ли к mac другие ip или ещё какие аномалии. У обоих ли систем отсутствуют записи в arp таблице. И уже в ТРЕТИЙ раз пишу запустите наконец анализатор трафика он покажет что происходит с arp протоколом можно будет видеть кто ведёт себя не правильно и как. Можно конечно неделями ходить вокруг ссылаясь на странные глюки или запустить анализатор и за полчаса сделать определённые выводы.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

20. "QEMU: гость видит сеть, но невидит хост-систему"  +/
Сообщение от Gleb on 24-Сен-09, 12:41 
>[оверквотинг удален]
>arp протокола. Просмотреть содержимое таблицы можно по команде arp. Если после
>внесения статических записей всё работает, то наверное логично предположить что проблемы
>с работой arp протокола. Стоило бы внимательно изучить arp таблицы обоих
>сиситем (гостевой и хост системы) посмотреть не привязались ли к mac
>другие ip или ещё какие аномалии. У обоих ли систем отсутствуют
>записи в arp таблице. И уже в ТРЕТИЙ раз пишу запустите
>наконец анализатор трафика он покажет что происходит с arp протоколом можно
>будет видеть кто ведёт себя не правильно и как. Можно конечно
>неделями ходить вокруг ссылаясь на странные глюки или запустить анализатор и
>за полчаса сделать определённые выводы.

вот что получилось после долгих и упорных ковыряний
сначала решил у гостя решил поменять мак адрес для дальнейшей автоматизации костылей
... -net nic,macaddr=00:11:22:33:44:55,model=e1000 ...
но на win2k3 мак становился 00-11-FF-FF-FF-FF, т.е. менялись только первые два числа
пробывал с разными мак адресами - ситуация не менялась
тогда стал менять модели сетевух на госте
... -net nic...,model=rtl8139 ...
и, о чудо, сеть заработала
хост-система и гость стали видеть друг друга без всяких шаманств

выходит что win2k3 не корректно работает с qemu e1000 адаптером

вот так...

огромнейше всем СПАСИБО за участие и ценные рекомендации

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру