как сделать сеть между виртуальными машинами в virtualbox?

<p>у меня есть две виртуальные машины в virtualbox. я хотел бы установить связь между ними. на данный момент у меня есть конфигурация по умолчанию на обоих, но они, похоже, имеют одинаковый ip-адрес <code>10.0.2.15</code>. я также хотел бы иметь возможность использовать интернет с обоими, и это возможно сейчас.</p><p>по умолчанию сетевым параметром является nat, но кажется, что они не могут работать внутри сети, поскольку имеют одинаковый ip-адрес. но если я изменю на <code>internal networking</code>, я предполагаю, что не могу получить доступ к интернету с виртуальными машинами.</p><p><b>как я могу настроить сеть между виртуальным гостем и иметь доступ к интернету на них?</b></p>

<p>вы пробовали это <a href="http://www.virtualbox.org/manual/ch06.html">руководство по виртуальным сетям</a> ?</p><blockquote> <p>виртуальная машина получает свой сетевой адрес и конфигурацию в частной сети от сервера dhcp, встроенного в virtualbox. таким образом, ip-адрес, назначенный виртуальной машине, обычно находится в сети, отличной от хоста. поскольку более одной карты виртуальной машины можно настроить для использования nat, первая карта подключается к частной сети 10.0.2.0, вторая карта к сети 10.0.3.0 и так далее.</p> </blockquote><p>я думаю, что вы ищете " <a href="http://www.virtualbox.org/manual/ch06.html#network\_internal">внутренние сети</a> ", соединяющие внутренние виртуальные машины друг с другом.</p><blockquote> <p>вы можете использовать диалоговое окно «настройки» виртуальной машины в графическом пользовательском интерфейсе virtualbox. в категории «сеть» диалогового окна настроек выберите «внутренняя сеть» из выпадающего списка режимов сети. теперь выберите имя существующей внутренней сети из выпадающего списка ниже или введите новое имя в поле ввода.</p> </blockquote>

<p>я нашел следующее решение для моей среды:</p><ul> <li>первый адаптер с внутренней сетью для доступа к другой виртуальной машине</li> <li>второй адаптер с nat для доступа в интернет.</li> </ul><p>эти настройки могут быть выполнены с помощью графического интерфейса oracle vm virtualbox manager. изначально у меня была та же проблема, что и у джонаса, я пропустил dhcp. наконец я нашел <a href="https://web.archive.org/web/20130326125610/http://blog.techprognosis.com/2011/02/28/how-to-enable-dhcp-in-virtualbox-4.html">эту статью</a> (архивная копия, <a href="http://blog.techprognosis.com/2011/02/28/how-to-enable-dhcp-in-virtualbox-4.html">оригинальная ссылка</a> мертва) и использовал:</p><pre><code>vboxmanage dhcpserver add --netname intnet --ip 10.13.13.100 --netmask 255.255.255.0 --lowerip 10.13.13.101 --upperip 10.13.13.254 --enable </code></pre><p>из командной строки. после этого все работало нормально.</p><p>я осмелюсь сказать, что <a href="http://www.virtualbox.org/manual/ch08.html#vboxmanage-dhcpserver">руководство</a> является плохим ресурсом, так как большая часть конфигурации virtualbox на хосте windows может быть выполнена с помощью графического интерфейса, и это серьезное неудобство, что нельзя настроить dhcp с графическим интерфейсом.</p><p>моя среда: я использую портативный virtualbox 4.1.2r73507 в 64-битной windows 7. в настоящее время режим host-only и bridged не работает, так как отсутствует адаптер host-only. у меня проблема, аналогичная описанной в немецком <a href="https://forums.virtualbox.org/viewtopic.php?f=9&t=25280">вопрос на форуме virtual box</a> , у меня нет адаптера только для хоста.</p>

<p>так я подключаю гостей vbox только в режиме nat (проверено на virtualbox 4.2.4).</p><p>просто используйте ip-адрес шлюза для перехода от одного гостя к хосту. затем используйте переадресацию портов для прокси-трафика хоста к другому гостю.</p><p>например, если гость а хочет подключиться к услуге гостевой в, которая прослушивает порт 1000, а должен использовать ip-адрес шлюза (для первого интерфейса nat это 10.0.2.2). затем необходимо настроить переадресацию портов на гостевой b так, чтобы весь трафик, полученный хостом через порт 1000, направлялся на гостевой b на порт 1000.</p><p>это может не сработать для каждого сервиса, но, похоже, работает хорошо для ssh, salt, ...</p><p>в заключение, вам не обязательно нужен режим host-only для подключения нескольких гостей, но я не хочу сказать, что режим host-only - не лучший вариант для вашего случая использования.</p>

<p>вам нужен тип lan для host-соединения (что-то подобное в английской версии) на гостевых машинах и мостовое соединение на вашей host-машине.</p>

<p><sub>(ответ на вопрос от bernd\_k)</sub></p><p>для обмена файлами между хостом и гостями, на самом деле, общие файлы, а не файлы.</p><p>если сетевой режим является мостовым или nat, то хост и гости являются равными сетевыми партнерами. хотя вся установка содержится в одном хосте, в сети все они равны в сети, как если бы они были физическими машинами. (nat иногда более проблематичен в использовании, чем мостовой.)</p><p>таким образом, любая общая папка на любом компьютере, виртуальном или физическом, доступна всем. поскольку не все виртуальные машины могут быть включены постоянно, имеет смысл настроить одну папку хоста в качестве общей папки. затем узел совместно использует папку, а виртуальные машины используют ее как есть или как подключенный диск.</p><p>в следующей статье подробно объясняется, как делиться папками в windows:<br> <a href="http://www.techrepublic.com/blog/window-on-windows/how-do-i-share-folders-in-windows-7-with-the-shared-folder-wizard/3180">как открыть общий доступ к папкам в windows 7 с помощью мастера общих папок?</a> </p>

<p>я сделал следующие шаги, и это наконец-то сработало у меня (на centos vb):</p><ul> <li>используйте nat для основного сетевого адаптера (настройки -> сеть -> адаптер1 "подключен к nat").</li> <li>добавьте другой адаптер («настройки» -> «сеть» -> «включить адаптер 2», подключенный к адаптеру только для хоста ») -> установите« разнородный режим »на« разрешить все ».</li> <li>запустите vb.</li> <li>добавьте другой сетевой интерфейс (cp/etc/sysconfig/network-scripts/ifcfg-eth0/etc/sysconfig/network-scripts/ifcfg-eth1).</li> <li>измените mac-адрес для eth1 в соответствии с тем, который отображается в adapter2 ((настройки -> сеть ->).</li> <li>перезагрузите сеть "служба перезагрузки сети"</li> </ul><p>тогда этот vb должен получить доступ к интернету и может быть доступен из других (vb и локальный компьютер).</p><p><strong> заметка: </strong></p><p>адаптер nat будет использоваться для доступа в интернет, в то время как адаптер host-only будет использоваться для сетевого доступа между любыми другими vb и локальным компьютером.</p>

<p>у меня есть две сетевые карты на моем компьютере oracle vm xp</p><p>1-й мост с быстрым ip-адресом, поскольку я использую его в качестве клиента с сетевой конфигурацией сервера. изменен шлюз по умолчанию на тот же, что и у сетевой карты два (nat 2nd)</p><p>2-й nat с получения ip-адреса от oracle vm</p><p>работает отлично!</p>