Как запустить клиент-серверное приложение на виртуальных машинах, работающих на различных компьютерах?

Привет у меня есть два ноутбука под управлением Ubuntu 16.04 и Ubuntu 14.04. У каждого из них есть виртуальная машина под управлением Солярис 11. Я хочу запустить программу сервера на одной виртуальной машине и клиентскую программу на другой виртуальной машине другого ноутбука. Действительно ли это возможно сделать?

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

Спасибо

Править: Я пытаюсь сделать это на поле Virtual и использую свой домашний Wi-Fi.

3
задан 24 February 2017 в 05:50

1 ответ

У Вас есть две опции с сетевой точки зрения:

  1. Партии NAT. По умолчанию я предполагаю, что Ваши VMs установлены использовать режим NAT в любом решении для виртуализации, которое Вы имеете, который делает это немного хитрым. Выполнимый, но хитрый.

  2. "Мост" VMs к фактической сети, что хост-системы идут также, который снимает головные боли NAT. Это - более легкая опция.

<час> <час>

Опция 1: VM, Объединяющийся в сеть в Режиме NAT

ПРИМЕЧАНИЕ: Я никогда не заставлял это работать надежно, я всегда использовал Режим моста, который намного более надежен.

VMware и VBox и созданы для разрешения NAT и порта вперед. Это все великолепно, но существуют некоторые головные боли, которые это приносит.

<час>

VMWare

Вы не можете легко настроить перенаправление портов NAT, если у Вас нет VMware Workstation Pro. Это вызвано тем, что редактор виртуальной сети для порта NAT вперед не поставлен с Плеером Рабочей станции или более старыми версиями программного обеспечения VMware Player.

Принятие у Вас есть менеджер/Редактор Виртуальной сети, хотя делают следование системы, которая имеет VM, который будет 'сервером':

(1) Открывают Virtual Network Manager / Редактор и выбирают один адаптер с "NAT" как список "внешних соединений". Это будет выглядеть примерно так шоу изображения: enter image description here

(2) Избранные "Настройки NAT", и Вы получите окно как этот:

enter image description here

(3) Под областью "Port Forwarding", нажмите "Add". Вы получаете окно как этот:

enter image description here

Набор информация следующим образом:

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

Тип: TCP или UDP зависят от Вашего сервера и как он слушает. Безопасный принять TCP здесь, тем не менее, вещами сервера наиболее активного соединения является TCP.

IP-адрес: IP-адрес VM. Можно получить это с ip -4 addr list из VM на командной строке.

Порт Виртуальной машины: порт, на котором будет слушать серверное приложение.

Описание: описание того, для чего вперед этот порт.

необходимо будет, вероятно, отключить VM временно и перезапустить услуги VMware с sudo systemctl restart vmware, таким образом, он перезагружает все перенаправление портов / образующие мост правила.

(4) Запуск VM с сервером на нем. От Клиента VM удостоверьтесь, что Вы говорите Клиенту соединяться с IP-адресом компьютера, который выполняет Сервер VM (поэтому, если ноутбук с Сервером, VM на нем имеет IP-адрес 192.168.250.20, приложение Клиента VM, должен попытаться соединиться с 192.168.250.20.)

Примечание, что это не будет работать во всех случаях, и я настоятельно рекомендую использование Режима моста вместо этого.

<час>

VirtualBox

я имею никогда полученный сетевой порт NAT VBox, передающий для поведения. Если Вы используете VBox, я настоятельно рекомендую, чтобы Вы использовали Режим моста вместо NAT. (В то время как это ясно не отвечает за VBox, я пытался тестировать эти Порт Вперед от VBox и не мог заставить его работать вообще).

Не то, чтобы я не попробовал, но на 16,04, VirtualBox не смог соединиться исходящий с чем-либо и никогда не настраивать виртуальные сетевые интерфейсы для возможностей NAT; я предположил затем, что это не может работать правильно без Соединенного мостом, но я не могу найти, почему это никогда не поднимало способность NAT.

<час> <час>

Опция 2: Сети VM: Режим моста

необходимо будет выполнить VMs в режиме "Bridged" и затем использовать IP-адреса из собственной сети LAN/Wifi, которые присвоены VMs (в результате "соединенного мостом" разрешения VMs соединиться с, и похожими они находятся в фактической сети главных компьютеров).

Во-первых, настройте VMs в обеих системах для использования режима "Bridged Network". То, как это показывает, будет отличаться от решения VM до решения VM, но оно будет всегда говорить "Соединенный мостом" или подобный (по крайней мере, в VMware или VBox). Удостоверьтесь устройство, к которому Вы "соединяетесь мостом", Ваша предпочтительная сетевая плата (Wi-Fi или Ethernet), таким образом, Вы правильно выходите в правильную сеть с VM для IP-адреса.

, Во-вторых, перезагрузите VMs, если они уже онлайн. Это должно получить их совершенно новый IP-адрес от той же сети как хост-машины. (Это должно быть в том же диапазоне подсетей даже).

, В-третьих, укажите на клиент одного VM к IP сервера на другом VM. Поскольку сети Соединяются мостом, они должны просто соединиться. Вам, вероятно, придется настроить VMs на гостях, чтобы удостовериться, что он разрешает соединения все же.

, Который должен быть этим затем для VMs, и они должны смочь взаимосвязать без проблемы.

3
ответ дан 1 December 2019 в 16:20

Другие вопросы по тегам:

Похожие вопросы: