проблемы с сетью в VirtualBox

Имеем:

Хост- suse 12.2
Гость - win xp, suse 12.2
Роутер1 - d-link dir320-nru, шифрование WPA-2
Роутер2 - nokia 5800, шифрование WEP

Сетевое подключение в гостях настроено мостом на wlan0 хоста.
Оба роутера работают в dhcp - и хост, и гости получаеют адреса автоматически.
Отдельно создана виртуальная сетевая карта vboxnet0 для связи с гостями.

При подключении хостом к роутеру2 - все работает нормально. хост и гости имеют полноценный доступ к интернету, роутер распознает их всех, как разные устройства с разными ип и мак-адресами. ничего странного не происходит.

Проблема1:

Подключаем хост к роутеру1- хост имеет полноценный доступ к интернету.
Запускаем гостя (suse/xp/оба вместе - значения не имеет), запускается vboxnet0 и в этот момент и у хоста и у гостей перестает работать dns(если я правильно понимаю). тоесть ping yandex.ru - не работает, а ping 87.250.250.203 -возвращает ответы, при этом роутер показывает подключение разных устройств с разными ип, но с одинаковыми маками.
Если сделать service network restart - vboxnet0 выключается и dns начинает работать в хосте (а в госте нет). Если включить vboxnet0 заново - все возвращается на исходную.

Примечание: Если удалить vboxnet0, то все нормально работает и на хосте и на гостях при подключении каждому роутеру. НО - роутер1 все так же показывает устройства с одинаковыми маками, а роутер2 - с разными.

Проблема2:

Не получается подключиться к гостям по rdp на указанный порт. хоть по адресу хоста, хоть по адресу гостя. krdc никаких ошибок не выдает - просто висит.

Вопрос: что делаю неправильно и как исправить?

Скажите а какие адреса у вас в сети vboxnet0 и какие выдает роутер 1 и роутер 2? Есть подозрения что в первом варианте совпадают сети.

И не совсем понятно что имеется ввиду, зачем еще одна сетевая, через мост до гостей не достучатся?

какие адреса у вас в сети vboxnet0 и какие выдает роутер 1 и роутер

vboxnet0 - 10.1.1.x
роутер 1 - 192.168.0.х
роутер 2 - 192.168.2.х

И не совсем понятно что имеется ввиду, зачем еще одна сетевая, через мост до гостей не достучатся?

Через мост до гостей очень даже достучаться, просто гости получают каждый раз разные адреса и для того, чтобы не смотреть в роутере кому какой адрес назначен, добавлена сеть с фиксированными адресами.

Или же существуют более грамотные варианты?

Тогда странно, но скорей всего при включении виртуального адаптера, по какой то причине, меняется или получается неправильным DNS, надо проверить, пингануть и т.п.

Но все равно дополнительный адаптер по-моему не нужен, и мешает. Лучше зафиксировать ip адреса. Либо задать статичные в госте, либо в роутере прописать соответствие мак адрес ипишнику, что бы все время выдавался один и тот же адрес. У меня в боевом режиме так работает несколько виртуалок, в данном случае получается удобно, виртуальная машина как будто в основной сети.

Вот с одинаковыми мак адресами у вас странность какая-то, может стоит ее посмотреть. В настройках сетевой карты в Virtualbox, можно указать мак, или обновить. Может там прописан, такой же как у хоста. Или в самом госте задан. По идеи маки должны быть разными.

Лучше зафиксировать ip адреса.

так и поступил, спасибо

Вот с одинаковыми мак адресами у вас странность какая-то, может стоит ее посмотреть. В настройках сетевой карты в Virtualbox, можно указать мак, или обновить. Может там прописан, такой же как у хоста. Или в самом госте задан. По идеи маки должны быть разными.

В настройках везде прописаны разные. d-link определяет одинаковые (на разных прошивках), но при этом все работает нормально.

Насчет rdp что-нибудь посоветуете? От документации я не отклоняюсь, но результата почему-то не получается.

И еще вопрос: чтобы полноценно видеть гостей извне, нужно для каждого заказывать реальный адрес у провайдера?

а рдп вообще поднят, порты видно?

смотря что нужно извне, можно обойтись и проброской портов

Да в большинстве случаев достаточно пробросить 1 или несколько портов, чем выделять под машину целый IP.
По поводу RDP, клиент krdc с другими компьютерами соединяется? не с гостями.
Если да, попробуйте отключить Firewall на хосте, вдруг с этим связано.

По поводу RDP, клиент krdc с другими компьютерами соединяется? не с гостями.

Дело в том, что rdp соединяется даже с гостями, но при условии, что уже запустилась гостевая ОС. а до этого момента нет, а я именно этого я и желаю добиться.

Да в большинстве случаев достаточно пробросить 1 или несколько портов, чем выделять под машину целый IP

допустим мне нужно выделить виртуальный сервер некоему пользователю извне. в этом случае, наверное, я проброской портов не обойдусь? как вообще хостеры выделенные сервера выдают? на каждый выделенный сервер отдельный адрес или может быть маршрутизация\авторизация какая - не сталкивались ли?

Непонятно, к чему не подключается, к выключенной гостевой ОС? Ну так она же выключена.

Что надо от виртуального сервера? Если только рдп - то хватит и проброски портов. У хостеров, в случае выделенного сервера выдается отдельный ip, если же только, например, веб-хостинг - то можно по доменному имени делить виртуальные сайты.

дело в том, что virtualbox имеет собственный rdp-сервер, который позволяет такие фокусы как установка гостевой операционной системы на хосте не имеющем графических иксов, по rdp, например.(то есть в теории возможно даже наблюдать загрузку гостевой ОС)

более подробно вы можете ознакомиться с этой информацией в официальном руководстве, т.к. я сам пока ею не владею в совершенстве и, как видите, пытаюсь разобраться в некоторых вопросах.

Не нужно путать: если соединяемся с сервером виртуалбокса, то это ещё хост, а ни разу не гость.

в том то и дело, что с гостем соединяемся а с сервером виртуалбокса нет.

Напишите подробнее.
Вы запускаете VBoxHeadless --startvm “виртуалка”. Потом коннектитесь по рдп к хосту, на котором запущен виртуалбокс?

именно так. плюс указываю порт, который прописан в свойствах самого “гостя”.

Надеюсь тут речь шла о виртуальной машине, то есть настройках в virtualbox.
На всякий случай, при коннекте точно указываете IP хоста, а не гостя? Просто ответ не очень однозначный.
Далее отключите на хосте фаервол, скорей всего он блокирует, или разрешите подключения по указанному порту.

P.S. Из опыта использования этой фичи виртуал бокса: Пользоваться ей практически не реально, только на крайняк, когда с гостевой ОС какие то проблемы. Ибо тормозит она жутко, думаю потому что экран всегда обновляется полностью, в отличии от работы с RDP на гостевой машине. И потом, у меня почему то были огромные проблемы с курсором мыши, постоянно съезжал, невозможно было попасть в нужную область экрана и т.п. В общем одно мучение, хотя может это у меня руки кривые.

именно так.

сделано. и так и так - результатов никаких.

может быть у вас существует какой-нибудь альтернативный способ?

Тогда мне не понятно почему не работает, могу сказать только что у меня на одном из серверов работает, правда на старой openSUSE, по-моему там до сих пор 11.4.
Пробуйте выяснить где затык с помощью tcpdump например.

Да нет особо альтернативных способов, кроме использования средств в самой гостевой системе. Думаю все что не в госте будет вынуждено передавать картинку экрана полностью, из этого некомфортная работа даже на 2 мегабитах. Может если скорость больше, то и проблемы не будет. Но я не мега специалист по виртуал боксу, просто используем иногда, могу чего нибудь и не знать.

Фаервол отключен. Во все его возможные зоны прописаны разрещения “1:65535”
подключаюсь с 192.168.0.99 к хосту 192.168.0.30

tcpdump при попытке подключения показывает следующее

05:14:21.292318 IP 192.168.0.30.3389 > 192.168.0.99.49519: Flags [R.], seq 0, ack 989235093, win 0, length 0

каким образом это расшифровать?

И еще - я так понимаю. раз мой процессор не поддерживает аппаратную виртуализацию, то всякие kvm и xen мне не светят…так?

Я так понимаю эти строки вы видите на хосте. Тогда тем более странно и дело скорей всего не в фаерволе. Нас интересовало в первую очередь уходят ли ответные пакеты. Получается уходят. Потому как в данной строчке 192.168.0.30.3389 передает пакет на 192.168.0.99.49519, то есть отвечает.
А что за клиент? что он пишет? Если линуксовый например Remmina, запустите из консоли и посмотрите, возможно дело в сертификате, сталкивался пару раз с этим.