Как правильно выполнять переадресацию портов с помощью VMWare

Я создал виртуальную машину, на которой работает сервер localhost:8675/ который я хотел подключить к моей хост-машине в том же порту для удобства понимания. Я следовал этим документам для информации:

когда я был на своей рабочей станции VMWare, Я нажал на мою виртуальную машину, а затем сделал: Правка > Редактор Виртуальной Сети. После этого, включена Изменение Параметров который перезапустил окно в режиме администратора. Я нажал на строку с типом NAT и внешним подключением NAT и в информации VMNet с нажатой переключателем NAT я нажал настройки NAT.

Я сказал: добавить... и затем:

Host: 8675
Type: TCP
VMIP: 127.0.0.1:8675
Description:  Port Foward of 8675 from Host to VM.

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

Я подтвердил в VM, 127.0.0.1: 8675 правильно. В Хосте я попытался перейти к:http://localhost:8675/ и он говорит: учтите,

Я понял, что это все, что мне нужно было сделать.

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

есть ли критическая задача, которую я пропускаю?

3 ответов


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

IMHO, ошибка:ERR_CONNECTION_REFUSED указывает, что брандмауэр на вашей хост-ОС или гостевой ОС (вашей виртуальной машине) или на обоих не позволяет осуществлять связь через заданные порты.

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

Не уверен, что ваши осы, но вот только хороший руководство по настройке правила брандмауэра на Ubuntu


Я видел этот пост: https://superuser.com/questions/571196/port-forwarding-to-a-vmware-workstation-virtual-machine который сказал мне просто настроить его на мост и использовать его таким образом. Это решает проблему подключения проблемы хоста / виртуальной машины.

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

Это решает основную проблему под рукой, но не вопрос.


когда вы используете NAT, хост-система и гостевые боксы имеют совершенно разные IP-адреса в своей виртуальной подсети, поэтому я предполагаю, что когда из хост-системы вы пытаетесь подключиться к localhost:8675 вы фактически пытаетесь подключиться к порту 8675 хоста, а не гостя. Поэтому не используйте синтаксис localhost или 127.0.0.1, а найдите реальный IP-адрес гостя и используйте его. Если ваш гость-Windows, используйте команду ipconfig, если Linux использует ifconfig.

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

изменить: Комментируя предложение " NAT: используется для совместного использования IP-адреса хоста.": вероятно, это относится к IP-адресу реального адаптера ethernet, который у вас есть на хосте, и который совместно используется хостом и гостями для доступа в интернет. Это не связано с тем, как ваш хозяин и гости общаются друг с другом. Например, я использую VMware Workstation для запуска виртуального окна Linux в Windows. Выбрав NAT, VMware создает виртуальный подсети называется VMnet8. В этой подсети виртуальный маршрутизатор имеет адрес 192.168.120.0, моему хосту Windows назначен виртуальный адаптер ethernet с адресом 192.168.120.1, а мой гость Linux получил адрес 192.168.120.128. Поэтому, когда я хочу получить доступ к общей папке Samba из Windows, я набираю "net use * \192.168.120.128" в командной строке Windows. Когда я хочу получить доступ к общей папке Windows из Linux, я набираю " sudo mount.cifs/ / 192.168.120.1 / path_to_shared_folder target_folder".