7

Я пытаюсь запустить сервер на одной виртуальной машине и клиент на другой; на обеих виртуальных машинах установлена ScientificLinux 6.4, работающая на VirtualBox 4.2.10.

Клиент должен иметь возможность общаться с сервером через MPI, и сервер будет загружать информацию в базу данных MySQL. Клиентское и серверное программное обеспечение будет успешно взаимодействовать и работать на одной машине; однако он не может работать между машинами.

Сначала я использовал сеть NAT по умолчанию. Затем я попытался с помощью графического интерфейса пользователя создать внутреннюю сеть и мостовую сеть между машинами; однако они все еще не могли общаться. Затем я попытался SSH между машинами; это не сработало. Я думаю, что если я могу использовать SSH между компьютерами, клиент и сервер должны иметь возможность успешно взаимодействовать друг с другом.

Кто-нибудь сталкивался с этой проблемой раньше?
Что я должен попытаться сделать, чтобы решить эту проблему?

РЕДАКТИРОВАТЬ: Другая вещь, которую я смущен в том, что виртуальные машины не имеют уникальных IP-адресов; когда я выполняю ifconfig, я обнаруживаю, что оба IP-адреса 127.0.0.1 в разделе lo (Local Loopback). Я не могу найти другие IP-адреса в других разделах, так что это все, с чем мне нужно работать.

5 ответов5

2

Вы хотите настроить внутреннюю сеть или сеть только для хоста. Практическое различие между ними заключается в том, что хост-компьютер может участвовать в сети только для хоста, но не во внутренней сети.

Предполагая, что вы хотите использовать внутреннюю сеть, основной процесс выглядит следующим образом:

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

  2. Настройте DHCP-сервер для внутренней сети, как описано здесь.

  3. Когда вы запустите гостевые виртуальные машины, они увидят дополнительный сетевой адаптер. Большинство современных операционных систем настраивают сетевой интерфейс с сервера DHCP без суеты.

Если вы используете сеть только для хоста, процесс выглядит следующим образом:

  1. В диспетчере виртуальных машин Virtualbox выберите Файл-> Настройки-> Сеть и настройте адаптер только для хоста. Вы можете настроить DHCP-сервер из графического интерфейса здесь. Когда вы завершите этот процесс, вы увидите новый виртуальный интерфейс на хосте. Так вы будете общаться между хозяином и гостями.

  2. На каждом госте измените его сетевой адаптер на использование сети только с хостом или добавьте новый сетевой адаптер, установленный в сети только с хостом.

  3. Начните каждый гость. Они должны получить IP-адрес от сервера DHCP.

1

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

Если вы хотите ускорить обмен данными между виртуальными машинами, используйте только хост-сеть. Для работы только на хосте вы должны включить его и создать либо DHCP-сервер (в опциях virtualbox), либо использовать статические ip-адреса на своих виртуальных машинах.

У меня есть DHCP на моем маршрутизаторе, и у меня есть внутренний сервер DHCP для virtualbox. Поэтому, если у меня есть виртуальные машины с более чем одним требованием к Интернету / сети Ethernet, я создаю 1 мостовую сеть и 1 сеть только для хоста.

Я также удостоверяюсь, что "разрешить все" включен под сетевой картой.

0

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

Я не использую Scientific Linux, но кажется, что вы можете настроить свои сетевые интерфейсы с помощью следующей команды, как показано в этой статье:

system-config-network-tui

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

0

У вас должно быть что-то вроде интерфейса eth0 на обеих машинах. Убедитесь, что в настройках VirtualBox включена сеть для обеих виртуальных машин и что "Кабель отключен" не отмечен. Мостовая сеть, вероятно, является лучшим выбором, если вам нужно, чтобы две виртуальные машины взаимодействовали друг с другом, так как он будет использовать виртуальный интерфейс VirtualBox для получения IP-адресов в той же сети, что и ваш хост (при условии, что в вашей сети есть DHCP-сервер).

Как только вы проверите эти вещи, попробуйте:

/etc/rc.d/init.d/network restart

попытаться снова вызвать интерфейсы с действительным IP-адресом.

-1

Сначала проверьте настройки брандмауэра на гостях.

Обычно я начинаю с ping , telnet и так далее ... Я не вижу причин, почему он не должен работать, кроме неправильной настройки брандмауэра или виртуальной сети.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .