Как правильно соединить 2 виртуальные машины?
Имеются 2 виртуальные машины в Oracle VM VirtualBox: Ubuntu и Windows 7. Понадобилось получить доступ к БД PostgreSQL, находящейся на убунту с Windows 7. Искал как подключиться, обнаружил, что обе виртуальные машины имеют одинаковый IP (в настройках стоит NAT). Искал решения на разных сайтах, узнал, что нужно использовать виртуальный адаптер хоста, но так и не понял, как правильно настроить. Если кто-то сможет подсказать, буду благодарен. В данный момент обе виртуалки подключены через NAT и имеют IP 10.0.2.15.
Отслеживать
задан 23 ноя 2018 в 17:10
227 2 2 серебряных знака 10 10 бронзовых знаков
1 ответ 1
Сортировка: Сброс на вариант по умолчанию

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

Сети 10.0.X.X — NAT, нас интересуют адаптеры с сетями 192.168.X.X.

Проверяем подключение:
Отслеживать
ответ дан 24 ноя 2018 в 20:46
227 2 2 серебряных знака 10 10 бронзовых знаков
- сеть
- virtualbox
- виртуальная-машина
- virtual-hosts
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.10.27.43697
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
VirtualBox: виртуальная локальная сеть, маршрутизация в Linux
На 4 курсе Бауманки я получил задание: сделать виртуальную локальную сеть на базе Linux. Информации на эту тему оказалось довольно много, но ее поиск может занять много времени, а порой даже запутать. Поэтому я решил расписать самые основные шаги для построения локальной сети с использованием VirtualBox, а также пролить свет на некоторые неочевидные настройки Linux.

Описание задачи
Создать виртуальную сеть в VirtualBox, включающую в себя первую сеть на 2048 хостов, вторую сеть на 256 хостов и сервер, выступающий в роли маршрутизатора. В последствии на сервере можно будет настроить файервол для вывода в интернет обоих сетей.

Любой компьютер первой сети должен успешно выполнять пинг любого другого компьютера второй сети и наоборот. ICMP-пакеты должны проходить через сервер. Сети и сервер должны быть представлены в виде компьютеров с соответствующими ipv4-адресами.
Настройка виртуальных машин
Если говорить максимально коротко, то сервер одновременно находится и в первой локальной сети, и во второй. Это значит, что по одному сетевому интерфейсу он видит все компьютеры из сети на 2048 хостов, а по другому — все компьютеры из сети на 256 хостов. Для объединения виртуальных машин, допустим сервера и машины первой сети, будем использовать тип подключения «Внутренняя сеть». Внутренняя сеть позволит объединить сервер (SERVER) и первую сеть (LAN 1) на физическом уровне (аналог — соединение кабелем).


Следует обратить внимание на то, что имя внутренней сети LAN1 на первом адаптере должно совпадать с именем внутренней сети SERVER’а на первом адаптере. Таким образом, можно реализовать физическое соединение любого адаптера виртуальной машины LAN 1 с любым адаптером виртуальной машины SERVER. Аналогичным образом соединим вторую сеть (LAN 2) с другим сетевым адаптером сервера, за одним исключением, название внутренней сети должно отличаться.
На данном этапе машины соединены физически, но отправлять ICMP пакеты еще нельзя, для этого необходимо настроить ip-адреса.
Настройка адресов сетей и сервера
Для первой сети на 2048 хостов зададим адрес 192.168.1.0/21, для второй — 192.168.2.0/24. Про ip-адресацию написано уже достаточно большое количество статей, поэтому на ней останавливаться не будем. Соответственно, необходимо задать адреса каждой виртуальной машине.
Для начала стоит посмотреть на сетевые интерфейсы сервера с помощью команды ifconfig:

- eth0 — из предыдущего пункта адаптер 1 с типом подключения «Сетевой мост», сейчас его рано разбирать
- eth1 — адаптер 2 с типом подключения внутренняя сеть, соединяется с адаптером 1 (там это будет eth0) первой виртуальной машины LAN 1, имя подключения LAN 1
- eth2 — адаптер 2 с типом подключения внутренняя сеть, соединяется с адаптером 1 второй виртуальной машины LAN 2, имя подключения LAN 2
Следующими двумя командами зададим ip-адреса сервера в первой и второй сетях соответственно:
- ifconfig eth1 192.168.1.10 netmask 255.255.248.0
- ifconfig eth2 192.168.2.10 netmask 255.255.255.0
Затем необходимо настроить ip-адреса на eth0 виртуальных машин LAN1 и LAN2. Выполнив команду ifconfig на каждой из машин можно увидеть следующее:



На данном этапе LAN 1 видит SERVER по адресу 192.168.1.10, а SERVER видит LAN 1 по 192.168.1.1. Похожая ситуация и со второй сетью, LAN 1 видит SERVER по адресу 192.168.2.10, а SERVER видит LAN 1 по 192.168.2.1.
Убедиться в этом можно с помощью команды ping, которая отсылает icmp пакеты по определенному ip-адресу и принимает ответ. При пинге с SERVER’а адреса 192.168.2.1 (команда ping 192.168.2.10) должен получиться следующий результат:

Пакеты идут, значит все правильно.
Маршрутизация через сервер
Данная часть статьи легче для понимая, поэтому коротко и по делу. LAN 1 и LAN 2 находят в разных сетях, но у них есть общая точка соприкосновения — SERVER. Это значит, что две сети могут общаться между собой именно через него. Но для этого надо настроить маршрутизацию.
Для начала стоит разрешить на сервере пересылку пакетов между различными сетевыми интерфейсами командой: echo 1 > /proc/sys/net/ipv4/ip_forward. С помощью утилиты маршрутизации route добавим статические маршруты из сети LAN 1 в LAN 2 через SERVER, и из сети LAN 2 в LAN 1 через SERVER.
LAN 1: route add -net 192,168.2.0 netmask 255.255.255.0 gw 192.168.1.10 dev eth0
LAN 2: route add -net 192.168.0.0 netmask 255.255.248.0 gw 192.168.2.10 dev eth0
Следует отметить, что атрибут -net указывается для того, чтобы провести маршрут именно до сети, а не до отдельного хоста, а после атрибута gw указывается адрес сервера для той сети, в которой начинается маршрут.
Такая маршрутизация позволяет первой сети направлять пакеты из одной сети в другую через сервер.
Заключение
Данная статья должна ответить на базовые вопросы читателей по поводу практической реализации и расставить по местам некоторые вопросы о создании виртуальных локальных сетей в VirtualBox с использованием Linux.
Также стоит отметить, что на практике стоит выбрать другой адрес для первой подсети, например 10.0.0.0/21, чтобы избежать пересекающихся диапазонов адресов.
- VirtualBox
- виртуальная локальная сеть
- Локальная сеть
- Линукс
- маршрутизация
- бауманка
- ip адрес
- сетевой мост
- Настройка Linux
- Системное администрирование
- IT-инфраструктура
- Сетевые технологии
- Сетевое оборудование
MATRASKA23
Было необходимо поправить багу в верстке под IE9, который был доступен из одной ВМ, а сервер был на другой ВМ. Поэтому потребовалось настроить работу двух ВМ в VirtualBox в одной сети.
Составил небольшой конспект, основных действий. Может пригодится в будущем.
- Имя сети: «NatNetwork»
- CIDR сети: 10.0.2.0/24
Настройка виртуальной машины
Выбираем пункт меню «Настройка» контекстного меню ВМ.
Во вкладке «Сеть» в настройках Адаптера (добавляем новый если требуется).
Выбираем «Тип подключения» — «Сеть NAT», в выпадающем списке «Имя» выбираем созданную сеть.
Задаем такие настройки для всех ВМ, которые надо подключить
Проверка
В ВМ в которой запущен сервер узнаем ip адрес машины
Debian/Ubuntu к примеру
#: ifconfig
В ВМ в которой открыт браузер в адресной строке указываем хост и порт сервера.
Форум русскоязычного сообщества Ubuntu
Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!
- Форум русскоязычного сообщества Ubuntu »
- Поддержка »
- Виртуализация и эмуляция »
- Создание сети между двумя машинами в VirtualBox
Страницы: [1] Вниз
Автор Тема: Создание сети между двумя машинами в VirtualBox (Прочитано 11722 раз)
0 Пользователей и 1 Гость просматривают эту тему.
Страницы: [1] Вверх
- Форум русскоязычного сообщества Ubuntu »
- Поддержка »
- Виртуализация и эмуляция »
- Создание сети между двумя машинами в VirtualBox
Страница сгенерирована за 0.029 секунд. Запросов: 25.
- Сайт
- Об Ubuntu
- Скачать Ubuntu
- Семейство Ubuntu
- Новости
- Форум
- Помощь
- Правила
- Документация
- Пользовательская документация
- Официальная документация
- Семейство Ubuntu
- Материалы для загрузки
- Совместимость с оборудованием
- RSS лента
- Сообщество
- Наши проекты
- Местные сообщества
- Перевод Ubuntu
- Тестирование
- RSS лента
© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.