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

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

Когда я был на своей рабочей станции VMWare, я щелкнул свою виртуальную машину, а затем сделал: Edit > Virtual Network Editor. После этого включил Изменить настройки, что перезапустило окно в режиме администратора. Я щелкнул строку с типом NAT и внешним подключением NAT, а в информации о VMNet с нажатым переключателем NAT я нажал кнопку Настройки NAT.

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

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

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

Я подтвердил в виртуальной машине, что 127.0.0.1:8675 правильный. В HOST я попытался перейти по адресу: http://localhost:8675/ и пишет: ERR_CONNECTION_REFUSED

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

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

Есть ли важная задача, которую я пропустил?


person Fallenreaper    schedule 15.03.2016    source источник
comment
127.0.0.1 как vm ip, это делает меня ROFL.   -  person mootmoot    schedule 18.03.2016
comment
лол, да, я быстро удалил это право. Когда я смотрел на VMIP, я хотел, чтобы он говорил localhost, поэтому я подумал, что 127.0.0.1 имеет смысл для меня.   -  person Fallenreaper    schedule 18.03.2016
comment
Нет, вы не можете использовать ни 127.0.0.1, ни локальный хост. @Giuseppe Gorgoglione дает вам подсказку. о, подождите .. Я лучше дам некоторую визуализацию.   -  person mootmoot    schedule 18.03.2016
comment
Хорошо, я только что прочитал и Vmware, и виртуальный бокс. Ответ довольно прост: Vmware и Virtualbox работают по-разному. Методы переадресации портов НЕ ВЗАИМОЗАМЕНЯЕМЫ. Vmware предпочитает мостовой способ, Virtualbox позволяет вам делать это только с настройкой NAT.   -  person mootmoot    schedule 18.03.2016


Ответы (3)


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

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

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

person Fallenreaper    schedule 15.03.2016
comment
Вы должны изменить свой вопрос на Каковы правильные способы настройки переадресации портов в Vmware. - person mootmoot; 18.03.2016
comment
тогда поменяю - person Fallenreaper; 18.03.2016

Когда вы используете 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».

person Giuseppe Gorgoglione    schedule 18.03.2016
comment
NAT: используется для совместного использования IP-адреса хоста. Bridged устанавливает гостя в той же сети с новым IP-адресом и может получить к нему доступ в соответствии с ним, обратившись к нему с помощью ipconfig, получив адрес IPV4 и получив к нему доступ с помощью порта. - person Fallenreaper; 18.03.2016
comment
Откуда вы взяли цитируемую фразу? Я думаю, вы ошиблись. Объяснение слишком длинное для комментария, см. мой отредактированный ответ. - person Giuseppe Gorgoglione; 18.03.2016
comment
Цитата была из рабочей станции VMware. Я щелкнул правой кнопкой мыши свой экземпляр › Настройки › Сетевой адаптер. Для подраздела «Сетевое подключение»: Nat: используется для совместного использования IP-адреса хоста. - person Fallenreaper; 18.03.2016

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

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

Проще всего было бы попытаться отключить брандмауэры как на HOST, так и на GUEST OS.

Не знаю, какие у вас ОС, но вот хороший руководство по настройке правил брандмауэра в Ubuntu

person DelphyM    schedule 11.07.2018