Carte réseau virtuelle

Fermé
Lhoda - Modifié par Lhoda le 8/06/2012 à 05:11
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 10 juin 2012 à 00:57
Bonjour,
j'ai installé une machine virtuelle ubuntu et elle est en mode bridged pour se connecter a internet mais le problème c'est que j'ai besoin d'activer le nat pour quelle puisse se connecter avec une autre machine virtuelle xp qui est en mode nat et là je vois pas comment le faire avec vmware player.
merci

2 réponses

mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
Modifié par mamiemando le 8/06/2012 à 10:25
Je pense que seule la machine en NAT (que je vais appeler A) peut accéder à la machine bridged (que je vais appeler B) (au même titre que n'importe quelle machine identifiée par une IP de ton réseau local).

Pour placer la discussion, je vais supposer que tu souhaite accéder à A car elle héberge un serveur (mettons mysql) auquel B souhaite se connecter. Pour comprendre ce qui suit il est nécessaire d'avoir quelques notions sur IP et notamment sur la notion de "port", car ça va piquer un peu les yeux.

Un port est généralement associé à une application (voir /etc/services pour se faire une idée). Ainsi quand une machine reçoit du trafic, en fonction du port d'arriver, elle sait à quelle application il est destiné.

Par défaut :
- un serveur ssh écoute sur le port 22
- un serveur mysql écoute sur le port 3306
- on peut "créer" des ports pour rediriger du trafic vers une autre machine et vers un autre port (tunnel)

1) Partant de là il existe des combines pour récupérer une connexion ssh établie de A vers B pour que B se connecte sur A. ssh va être très pratique car il permet de transporter du trafic d'une autre nature (mettons mysql, http etc...) par le biais d'un tunnel ssh.

Ça suppose toutefois que la machine A et B aient un serveur ssh qui s'installe sous ubuntu avec la commande suivante :

sudo apt-get update
sudo apt-get install ssh


Ici je vais avoir besoin d'un port supplémentaire sur B et je vais choisir arbitrairement 22222 car a priori il n'est utilisé par personne.

Contexte :
- A peut se connecter en ssh vers B
- B ne peut pas se connecter en ssh sur A

A lance la commande suivante :

ssh -f -N -R 22222:localhost:22 loginB@ipB


A a ouvert sur B un nouveau port ouvert : le port 22222. Désormais, quiconque écrit sur le port 22222 de B envoie au final le trafic vers le port 22 de A (option -R). Tout se passe donc comme si ce trafic était envoyé vers le serveur ssh de A, qui écoute sur le port 22. Ainsi, B peut alors récupérer la connexion dans l'autre sens par grâce à la commande suivante :

ssh -p 22222 loginA@localhost


En résumé, se connecter en ssh sur (ipB, 22222) revient à se connecter en ssh sur (ipA, 22). Si je lance ma commande depuis B, l'entrée du tunnel étant sur cette machine, le couple (ipB, 22222) = (127.0.0.1, 22222) = (localhost, 22222), d'où la commande ci-dessus.

2) Mettons en pause ce qu'on a vu dans l'étape 1 et plaçons nous dans un contexte légèrement différent. Supposons que B veuille se connecter à A en mysql, mais B ne peut contacter que A que via ssh. Encore une fois on peut s'en sortir en transportant le trafic mysql dans un tunnel ssh.
http://dev.mysql.com/doc/refman/5.0/fr//windows-and-ssh.html

Ici je vais faire en sorte que le trafic mysql reçu sur (ipB, 3307) soit redirigé grâce à ssh vers (ipA, 3306). Note que cette étape ne requiert simplement que l'on puisse se connecter en ssh, on pourrait tout à fait imaginer qu'un pare-feu bloque le trafic au niveau de A sur le port 3306.

Dans ce cas la commande serait :

ssh -p 22 -T -N -L 3307:localhost:3306 loginA@ipA 
mysql -h 127.0.0.1 -P 3307 -u root -p


Ok, mais rappelons que pour le moment on ne peut pas se connecter sur (ipA, 22)... et c'est là que l'étape 1 entre en jeu. Grâce à elle on va pouvoir adapter la commande ssh que je viens de présenter dans l'étape 2.

3) Ainsi au lieu de référencer A par le couple (ipA, 22), on va se connecter sur (ipB, 22222). Ainsi la commande qui me permet de tunneliser mysql dans ssh devient :

ssh -p 22222 -T -N -L 3307:localhost:3306 loginA@ipB 
mysql -h 127.0.0.1 -P 3307 -u root -p


Ainsi, en lançant consécutivement les commandes évoquées dans (1) et (3) sur les machines adéquates, B va pouvoir se connecter sur le serveur mysql de A.

Bonne chance
1
krazykat Messages postés 11238 Date d'inscription jeudi 18 janvier 2007 Statut Modérateur Dernière intervention 10 octobre 2019 2 136
8 juin 2012 à 10:27
Bonjour,
Merci de rester dans cette discussion : https://forums.commentcamarche.net/forum/affich-25325169-interface-reseau
0
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
8 juin 2012 à 10:32
Heu ce n'est pas le même message ?
0
krazykat Messages postés 11238 Date d'inscription jeudi 18 janvier 2007 Statut Modérateur Dernière intervention 10 octobre 2019 2 136
8 juin 2012 à 11:19
C'est la continuité de cette demande, il me semble : https://forums.commentcamarche.net/forum/affich-25325169-interface-reseau#6
0
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
10 juin 2012 à 00:57
Pour moi le problème ici est plus "général" même si les deux sont liées. Bah on verra bien si lhoda s'y retrouve...
0