Як зробити мережу між віртуальними машинами у VirtualBox?


92

У мене в VirtualBox є дві віртуальні машини. Мені б хотілося зробити зв’язок між ними. На даний момент у мене конфігурація за замовчуванням на обох, але вони, схоже, мають однакову IP-адресу 10.0.2.15. Я також хотів би мати можливість використовувати Інтернет з обома, і це можливо зараз.

За замовчуванням мережевим налаштуванням є NAT, але, схоже, вони не можуть здійснювати мережу внутрішньої роботи, оскільки у них однаковий IP. Але якщо я перейду на думку, internal networkingя думаю, що я не можу отримати доступ до Інтернету за допомогою віртуальних машин.

Як я можу налаштувати мережу між віртуальним гостем І мати доступ до Інтернету на них?

Відповіді:


57

Ви спробували цей віртуальний посібник для мереж ?

Віртуальна машина отримує свою мережеву адресу та конфігурацію в приватній мережі від сервера DHCP, інтегрованого в VirtualBox. IP-адреса, призначена таким чином віртуальній машині, зазвичай знаходиться в зовсім іншій мережі, ніж хост. Оскільки для використання NAT може бути налаштовано більше однієї картки віртуальної машини, перша карта підключена до приватної мережі 10.0.2.0, друга - до мережі 10.0.3.0 тощо.

Я думаю, що ви шукаєте - " Внутрішня мережа ", що з'єднує внутрішні VM.

Ви можете скористатися діалоговим вікном «Налаштування» VM у графічному інтерфейсі VirtualBox. У категорії "Мережі" діалогового вікна налаштувань виберіть "Внутрішня мережа" зі спадного списку режимів роботи мережі. Тепер виберіть назву існуючої внутрішньої мережі зі спадного меню нижче або введіть нове ім’я у поле введення.


1
Дякую, саме так. Внутрішня мережа працює, але не поставляється з DHCP, тому я спробував рішення Bridged, і це прекрасно працює. Дякую.
Йонас


3
@Joe Інтернет ваша посилання ОК, але я тільки зрозумів це після прочитання blog.techprognosis.com/2011/02/28 / ... . Це означає, що я запустив внутрішню мережу. Мені не вдалося вибрати режим лише для хоста чи мосту, тому що відповідні адаптери відсутні.
bernd_k

1
Посилання в попередньому коментарі не працювало для мене. Це здається правильним: blog.techprognosis.com/how-to-enable-dhcp-in-virtualbox-4
Nicola Musatti

Це не спрацювало для мене, поки я не встановив його статичний IP.
VaTo

31

Я знайшов таке рішення для свого оточення:

  • перший адаптер з внутрішньою мережею для доступу до іншого VM-
  • другий адаптер з NAT для доступу до Інтернету.

Ці налаштування можна виконати за допомогою менеджера GUI Oracle VM VirtualBox. Спочатку у мене була така ж проблема, як у Йонаса, я пропустив DHCP. Нарешті я знайшов цю статтю (заархівована копія, оригінал посилання мертвий) і я використав:

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

з командного рядка. Згодом це спрацювало чудово.

Смію сказати, що посібник - це поганий ресурс, оскільки більшість конфігурацій VirtualBox на хості Windows може бути виконаний графічним інтерфейсом, і це сильна незручність, що неможливо налаштувати DHCP з графічним інтерфейсом.

Моє середовище: я запускаю портативний VirtualBox 4.1.2r73507 в Windows 7 64 біт. Наразі режим роботи лише для хостів та мостів не працює, оскільки відсутній адаптер лише для хоста. У мене є проблема, аналогічна описаній у німецькому питанні на форумі Virtual Box , у мене немає лише хостового адаптера.


У мене вже є dncpserver інтернету, який якимось чином став за замовчуванням, коли я встановив virtualbox 4.3.x, але він не підключається до Інтернету, коли я використовую nat з цим.
pwned

11

Так я підключаю гостей vbox лише в режимі NAT (тестується на VirtualBox 4.2.4).

Просто використовуйте IP шлюз, щоб перейти від одного гостя до хоста. Потім використовуйте переадресацію портів, щоб "проксі" хост-трафік перейти до іншого гостя.

Наприклад, якщо гість A хоче зайти в гостьову службу B, яка слухає порт 1000, A повинен використовувати IP шлюз (для першого NAT-інтерфейсу це 10.0.2.2). Тоді вам потрібно налаштувати переадресацію порту на гость B так, щоб увесь трафік, отриманий хостом на порт 1000, йшов на гість B на порт 1000.

Це може працювати не для кожної служби, але, здається, працює чудово за ssh, сіль, ...

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


1
Це працювало бездоганно для мого використання (тестування ie8 на xp гості, який підключався до сервера в Linux-гості).
Тед

+1 для простоти та простоти!
Емре Севінч

9

Вам потрібен тип локальної мережі для підключення до хоста (щось подібне в англійській версії) на гостьових машинах і з'єднання з мостом на вашій хост-машині.


3

(відповідь на запитання від bernd_k)

Для обміну файлами між хостом і гостями, насправді спільний доступ до файлів, а не до файлів.

Якщо режим мережі є мостовим або NAT, то ведучий та гості є рівними партнерами мережі. Незважаючи на те, що вся установка міститься в одному хості, в мережі вони всі рівні в мережі, як ніби це фізичні машини. (ІНТ іноді складніше використовувати, ніж мостовий.)

Таким чином, будь-яка спільна папка на будь-якому комп'ютері, віртуальній чи фізичній, доступна для всіх. Оскільки не всі віртуальні машини можуть бути включені постійно, має сенс встановити одну папку хоста як загальну папку. Потім хост ділиться папкою, а віртуальні машини використовують її як є або як відображений привід.

Наступна стаття пояснює дуже докладно, як ділитися папками в Windows:
Як я можу спільно використовувати папки в Windows 7 за допомогою майстра спільних папок?


2
Ваші підказки цінні на більш пізньому етапі, але перед тим, як поділитися файлами чи папками, ви повинні мати змогу пінг на іншій машині.
bernd_k

2

У мене на комп'ютері Oracle VM XP є дві мережеві карти

1-й міст з швидкою IP-адресою, оскільки я використовую це як клієнт із конфігурацією серверної мережі. Змінено шлюз за замовчуванням на такий самий, що і мережева карта два (Nat 2nd)

2-й Nat З отриманням IP-адреси від Oracle VM

працює чудово!


2

Я зробив наступні кроки, і це спрацювало зі мною нормально (на CentOS VB):

  • Використовуйте NAT для адаптера первинної мережі (Налаштування -> Мережа -> Адаптер1 "приєднаний до NAT").
  • Додайте інший адаптер (Налаштування -> Мережа -> Увімкніть Adapter2 ", приєднаний до хост-адаптера") -> встановіть "Промісний режим" на "Дозволити всім".
  • Запустіть VB.
  • Додайте ще один мережевий інтерфейс (cp / etc / sysconfig / network-script / ifcfg-eth0 / etc / sysconfig / network-scriptpts / ifcfg-eth1).
  • Змініть MAC-адресу для eth1 відповідно до тієї, яка відображається в Adapter2 ((Налаштування -> Мережа ->).
  • Перезавантажте мережу "перезапуск сервісної мережі"

Тоді ця VB повинна мати доступ до Інтернету та може бути доступною для інших (VB та локальна машина).

Примітка:

NAT-адаптер буде використовуватися для доступу до Інтернету, тоді як адаптер, призначений лише для господарів, буде використовуватися для доступу до мережі між будь-якими іншими VB та локальною машиною.


0

Я не знаю, чи спрацює це, але моя ідея:

  1. Змініть IP на різний номер лише на одній віртуальній машині (в режимі NAT).

  2. Змініть іншу віртуальну машину на Bridged.

  3. Встановіть установки обох систем для того, щоб машини знаходили один одного. Перезавантажте все.

Якщо 1 + 3 або 1 + 2 + 3 не працюють, спробуйте це: Створіть загальну папку на хост-машині та поділіться папкою на 2-х машинах virtualbox у налаштуваннях virtualbox. Перезапустити і voilá?

Я знаю, що другий варіант - це рішення.


0

Змініть мережу, приєднану до мостового адаптера в мережі, у розділі Налаштування.

Це воно; Він може підключити два віртуальних ПК.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.