web-dev-qa-db-fra.com

Quelle est la bonne façon de faire la redirection de port avec VMWare

J'ai créé un VM avec un serveur tournant à localhost:8675/ que je souhaitais connecter à mon ordinateur hôte sur le même port pour faciliter la compréhension. Je suivais ces documents pour information: 

Lorsque j'étais sur mon poste de travail VMWare, j'ai cliqué sur ma machine virtuelle, puis: Éditer> Éditeur de réseau virtuel. Ensuite, activez Modifier les paramètres qui relance la fenêtre en mode administrateur. J'ai cliqué sur la ligne avec le type NAT et la connexion externe NAT et dans les informations VMNet avec le bouton radio NAT enfoncé, j'ai cliqué sur le NAT Paramètres Bouton. 

J'ai dit: Ajouter ... et ensuite:

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

On dirait que tout va bien. Je dis Ok} et Appliquer successivement. Il semblait que cela avait arrêté nat et redémarré certains services.

J'ai confirmé dans la VM que 127.0.0.1:8675 est correct . Dans l'hôte, j'ai essayé d'accéder à: http: // localhost: 8675/ et il indique: (ERR_CONNECTION_REFUSED} _

Je pensais que c'était tout ce que j'avais à faire.

Je cherchais des informations supplémentaires et j'ai remarqué que certaines personnes avaient dû configurer des pare-feu. Je ne savais pas si je devais le faire, car je pensais que l'hôte et VM sont tous dans une seule machine, il se peut qu'il soit entièrement autonome.

Y a-t-il une tâche critique qui me manque?

7
Fallenreaper

J'ai vu ce post: https://superuser.com/questions/571196/port-forwarding-to-a-vmware-workstation-virtual-machine Qui m'a dit de l'ajuster simplement à la transition c'est comme ça. Cela résout-il le problème de la connexion hôte/VM?.

Je ne veux pas dire que c’est la bonne réponse, car la question elle-même est propre au NAT, mais c’est une solution de rechange valable qui fonctionne.

Ceci résout le problème de base, mais pas la question.

1
Fallenreaper

Je crois que vous avez bien répondu à votre question, car je la suivais et obtenais le résultat souhaité.

IMHO, l'erreur: ERR_CONNECTION_REFUSED indique qu'un pare-feu sur votre système d'exploitation hôte ou invité (votre machine virtuelle) ou sur les deux ne permet pas la communication via les ports donnés.

Le plus simple serait d’essayer de désactiver les pare-feu sur les deux systèmes d’hôte et d’hôte.

Vous ne savez pas exactement quels sont vos systèmes d'exploitation, mais voici juste un bon guide pour la configuration de règles de pare-feu sous Ubuntu }

2
DelphyM

Lorsque vous utilisez NAT, le système hôte et les boîtes invité ont des adresses IP complètement différentes sur leur sous-réseau virtuel. Je suppose donc que lorsque vous essayez de vous connecter à l'hôte, vous essayez de vous connecter à localhost: 8675, vous essayez réellement de vous connecter au port 8675 de l'hôte et non de l'invité. N'utilisez donc pas la syntaxe localhost ou 127.0.0.1, mais découvrez la véritable adresse IP de l'invité et utilisez-la . Si votre invité est Windows, utilisez la commande ipconfig, si Linux utilisez ifconfig.

Vous devrez probablement également configurer le pare-feu du côté invité.

EDIT: Commenter la phrase "NAT: utilisé pour partager l'adresse IP de l'hôte.": Il fait probablement référence à l'adresse IP du véritable adaptateur Ethernet que vous avez sur votre hôte et qui est partagé par l'hôte et les invités pour accéder à Internet. . Cela n’est pas lié à la façon dont votre hôte et vos invités communiquent ensemble. Par exemple, j'utilise VMware Workstation pour exécuter une machine virtuelle Linux sous Windows. En sélectionnant NAT, VMware crée un sous-réseau virtuel appelé VMnet8. Dans ce sous-réseau, le routeur virtuel a pour adresse 192.168.120.0, une carte Ethernet virtuelle avec adresse 192.168.120.1 est attribuée à mon hôte Windows et mon invité Linux à une adresse 192.168.120.128. Ainsi, lorsque je souhaite accéder à un dossier partagé Samba à partir de Windows, je tape "Net Use *\192.168.120.128" dans une invite de commande Windows. Lorsque je veux accéder à un dossier partagé Windows sous Linux, je tape "Sudo mount.cifs //192.168.120.1/path_to_shared_folder target_folder".

0