SSH с одной виртуальной машины на другую в VirtualBox


7

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

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

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

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

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


Пожалуйста, запустите ifconfig на обеих машинах, и добавь это к своему вопросу.
spuder

-1 почему ты вообще говоришь о ssh когда говоришь что машины не могут общаться
barlop

Ответы:


2

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

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

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

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

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

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

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

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

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


Во-первых, теперь вы можете выбрать опцию настройки адаптера только для хоста в меню Файл & gt; Host Network Manger. Мои гости (Linux Mint 19) получили IP-адреса с сервера, но я получаю ssh: connect to host <IP ADDRESS> port 22: Connection refused Я пока не очень разбираюсь в работе с сетями, но я знаю, что порт 22 по умолчанию для ssh. Для обоих гостей настроен только один сетевой адаптер - только для хоста. Любой совет?
Ungeheuer

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 и так далее ... Я не вижу причин, по которым он не должен работать, кроме неправильной настройки брандмауэра или виртуальной сети.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.