Problème réseau avec iptables, route et machine virtuelle
Résolu/Fermé
silverangel958
-
Modifié par silverangel958 le 15/08/2013 à 18:15
cocoche95 Messages postés 1134 Date d'inscription jeudi 29 juillet 2004 Statut Contributeur Dernière intervention 27 novembre 2019 - 21 août 2013 à 19:46
cocoche95 Messages postés 1134 Date d'inscription jeudi 29 juillet 2004 Statut Contributeur Dernière intervention 27 novembre 2019 - 21 août 2013 à 19:46
A voir également:
- Problème réseau avec iptables, route et machine virtuelle
- Machine virtuelle windows - Guide
- Machine virtuelle gratuite - Télécharger - Émulation & Virtualisation
- Carte de voeux virtuelle animée et musicale gratuite - Guide
- Regle virtuelle - Guide
- Entrer les informations d'identification reseau - Guide
9 réponses
D£v91
Messages postés
390
Date d'inscription
mercredi 3 avril 2013
Statut
Membre
Dernière intervention
15 avril 2014
100
16 août 2013 à 14:30
16 août 2013 à 14:30
Bonjour,
Quel est le logiciel que tu veux utiliser sous XP?
Tu n'as pas trouvé un équivalent sous linux?
Sinon essai directement de paramétrer virtual box en bridge, peut être que ça simplifiera la chose.
Quel est le logiciel que tu veux utiliser sous XP?
Tu n'as pas trouvé un équivalent sous linux?
Sinon essai directement de paramétrer virtual box en bridge, peut être que ça simplifiera la chose.
Hello.
Malheureusement non, c'est un logiciel- ou plus particulièrement un programme serveur de jeu conçu par Microsoft datant des années 2000; Microsoft Freelancer.
C'est suffisamment âgé pour être partiellement incompatible Windows 7 et complètement incompatible Windows 8.
Pour ce qui est du réseau de VirtualBOX, il m'est impossible de faire autrement; je n'ai droit qu'à une seule adresse IP- Je ne peux donc pas capturer une autre adresse IP sur le réseau de la machine hôte.
Mon objectif est de ponter le port UDP et TCP 2302 ainsi que le port TCP 80 et 8080 de la machine virtuelle sur la machine hôte. Comme ça, si je contacte le serveur (Machine hôte) depuis l'extérieur, je tombe en fait sur la machine virtuelle.
Qui, soit-dit en passant, j'ai réussi à faire durant l'espace d'un instant!... Le problème c'est que je n'ai pas réussi à le reproduire après le redémarrage de la machine hôte (iptables est réinitialisé lors du redémarrage de la machine). Même malgré mes tentatives de récupération des milliers de commandes que j'ai testées via le fichier .bash_history, impossible de réactiver ce pontage.
Malheureusement non, c'est un logiciel- ou plus particulièrement un programme serveur de jeu conçu par Microsoft datant des années 2000; Microsoft Freelancer.
C'est suffisamment âgé pour être partiellement incompatible Windows 7 et complètement incompatible Windows 8.
Pour ce qui est du réseau de VirtualBOX, il m'est impossible de faire autrement; je n'ai droit qu'à une seule adresse IP- Je ne peux donc pas capturer une autre adresse IP sur le réseau de la machine hôte.
Mon objectif est de ponter le port UDP et TCP 2302 ainsi que le port TCP 80 et 8080 de la machine virtuelle sur la machine hôte. Comme ça, si je contacte le serveur (Machine hôte) depuis l'extérieur, je tombe en fait sur la machine virtuelle.
Qui, soit-dit en passant, j'ai réussi à faire durant l'espace d'un instant!... Le problème c'est que je n'ai pas réussi à le reproduire après le redémarrage de la machine hôte (iptables est réinitialisé lors du redémarrage de la machine). Même malgré mes tentatives de récupération des milliers de commandes que j'ai testées via le fichier .bash_history, impossible de réactiver ce pontage.
D£v91
Messages postés
390
Date d'inscription
mercredi 3 avril 2013
Statut
Membre
Dernière intervention
15 avril 2014
100
16 août 2013 à 15:15
16 août 2013 à 15:15
A tout hasard tu as désactivé le Pare-Feu Windows ?
Parceque la je ne vois pas d'où pourrais venir le problème
Parceque la je ne vois pas d'où pourrais venir le problème
Rhaaaa! J'ai cliqué sur le bouton vert au lieu du bouton Valider! J'ai dû tout réécrire! Grmlll!
Bref. Je disais...
Le pare-feu Windows XP est bien connu pour ne pas bloquer grand chose... :D
Mais oui. Le pare-feu a été désactivé puis son service supprimé (sc delete MpsSvc).
Il en est de même pour de nombreux services comme le Centre de sécurité, Registre à distance, Avertissements, Audio Windows, Terminal Server, Spooler d'impression, Thèmes, etc............
Mon Windows est vraiment lite. Moins de 100Mb de RAM en fin de chargement- De plus, ce n'est pas un problème de droit d'accès aux fichier; le Windows est installé sur un VDD de 30 Gb formaté en FAT32. Il n'y a pas de gestion de droits d'accès aux fichiers.
À mon avis, c'est bel et bien mon script iptables qui est foireux. Comme j'ai indiqué, ça a fonctionné l'espace d'un instant après mes centaines de tentatives... C'est après le redémarrage de l'hôte que ça a cessé de fonctionner, lorsque iptables a été réinitialisé (iptables ne sauvegarde pas les paramètres, il faut tout reconfigurer au démarrage- soit manuellement, soit avec un script).
Bref. Je disais...
Le pare-feu Windows XP est bien connu pour ne pas bloquer grand chose... :D
Mais oui. Le pare-feu a été désactivé puis son service supprimé (sc delete MpsSvc).
Il en est de même pour de nombreux services comme le Centre de sécurité, Registre à distance, Avertissements, Audio Windows, Terminal Server, Spooler d'impression, Thèmes, etc............
Mon Windows est vraiment lite. Moins de 100Mb de RAM en fin de chargement- De plus, ce n'est pas un problème de droit d'accès aux fichier; le Windows est installé sur un VDD de 30 Gb formaté en FAT32. Il n'y a pas de gestion de droits d'accès aux fichiers.
À mon avis, c'est bel et bien mon script iptables qui est foireux. Comme j'ai indiqué, ça a fonctionné l'espace d'un instant après mes centaines de tentatives... C'est après le redémarrage de l'hôte que ça a cessé de fonctionner, lorsque iptables a été réinitialisé (iptables ne sauvegarde pas les paramètres, il faut tout reconfigurer au démarrage- soit manuellement, soit avec un script).
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
install tcpdump sur linux et tapes :
tcpdump -ni eth0
lance ta requete et passe nous la trace reseau, ce sra plus imple pour debuguer.
tcpdump -ni eth0
lance ta requete et passe nous la trace reseau, ce sra plus imple pour debuguer.
cocoche95
Messages postés
1134
Date d'inscription
jeudi 29 juillet 2004
Statut
Contributeur
Dernière intervention
27 novembre 2019
543
17 août 2013 à 11:02
17 août 2013 à 11:02
Hello,
Ton script n'est pas foireux, c'est juste que tu n'utilises pas le bon type d'interface ... Prends un peu de recul et demande toi ce que veux dire "host-only adapter".
Essayes plutôt d'utiliser une interface de type NAT et de créer une règle de NAT directement via virtualbox et non iptables. Normalement, ça devrait mieux marcher.
Ton script n'est pas foireux, c'est juste que tu n'utilises pas le bon type d'interface ... Prends un peu de recul et demande toi ce que veux dire "host-only adapter".
Essayes plutôt d'utiliser une interface de type NAT et de créer une règle de NAT directement via virtualbox et non iptables. Normalement, ça devrait mieux marcher.
Hello.
Merci pour vos réponses.
@cocoche95
Je sais bien que host-only permet, théoriquement, juste la communication exclusive entre l'hôte et la VM. Tu penses bien que j'ai testé les différents types de réseaux entre Bridged, Internal, NAT et Host Only.
Le bridged mode ne fonctionne pas; je n'ai pas droit à une seconde adresse IP sur le réseau local de l'hébergeur. De plus, le port ouvert sur la nouvelle IP ne serait pas «nattée», et par conséquent, inaccessible depuis l'extérieur.
Le Internal ne permet que la communication entre les VMs mais pas l'hôte.
NAT, j'ai beau essayer d'ajouter la règle NAT port TCP 80 de 127.0.0.1 sur TCP 80 à 192.168.56.101 mais la communication ne fonctionne pas (et j'ai bien demandé si les ports étaient ouverts; on m'a répondu qu'il n'y avait aucun port bloqué- C'est ce qu'ils appellent le Exposed Host).
En gros, seul le Host-Only Adapter m'a permis de communiquer dans les deux sens avec la machine virtuelle et l'hôte, et permet également la communication entre ses deux machines.
Mes règles iptables ne semblent, elles, pas fonctionner.
Te vexes pas, je ne dit pas que tu te trompes, tu en sais sûrement plus que moi sur le monde de Linux (et c'est certain) mais ça a fonctionné l'espace d'un moment (jusqu'au reboot). Je souhaite juste que ça se refasse. :D
Bonne matinée! :)
Merci pour vos réponses.
@cocoche95
Je sais bien que host-only permet, théoriquement, juste la communication exclusive entre l'hôte et la VM. Tu penses bien que j'ai testé les différents types de réseaux entre Bridged, Internal, NAT et Host Only.
Le bridged mode ne fonctionne pas; je n'ai pas droit à une seconde adresse IP sur le réseau local de l'hébergeur. De plus, le port ouvert sur la nouvelle IP ne serait pas «nattée», et par conséquent, inaccessible depuis l'extérieur.
Le Internal ne permet que la communication entre les VMs mais pas l'hôte.
NAT, j'ai beau essayer d'ajouter la règle NAT port TCP 80 de 127.0.0.1 sur TCP 80 à 192.168.56.101 mais la communication ne fonctionne pas (et j'ai bien demandé si les ports étaient ouverts; on m'a répondu qu'il n'y avait aucun port bloqué- C'est ce qu'ils appellent le Exposed Host).
En gros, seul le Host-Only Adapter m'a permis de communiquer dans les deux sens avec la machine virtuelle et l'hôte, et permet également la communication entre ses deux machines.
Mes règles iptables ne semblent, elles, pas fonctionner.
Te vexes pas, je ne dit pas que tu te trompes, tu en sais sûrement plus que moi sur le monde de Linux (et c'est certain) mais ça a fonctionné l'espace d'un moment (jusqu'au reboot). Je souhaite juste que ça se refasse. :D
Bonne matinée! :)
cocoche95
Messages postés
1134
Date d'inscription
jeudi 29 juillet 2004
Statut
Contributeur
Dernière intervention
27 novembre 2019
543
Modifié par cocoche95 le 20/08/2013 à 20:31
Modifié par cocoche95 le 20/08/2013 à 20:31
Un petit lien vaut mieux qu'un copier-coller ;-)
http://blog.delacelle.com/post/2011/05/10/port-forwarding-sous-virtualbox-ssh-http-ftp/
Même deux !
http://blog.bayles.fr/post/2009/03/05/VirtualBox-c-est-genial
http://blog.delacelle.com/post/2011/05/10/port-forwarding-sous-virtualbox-ssh-http-ftp/
Même deux !
http://blog.bayles.fr/post/2009/03/05/VirtualBox-c-est-genial
Un énorme merci!
Je tiens juste à préciser quelques éléments pour les gens qui seraient dans la même problématique que moi;
1) iptables, en plus d'être extrêmement compliqué à configurer, ne sert absolument rien dans ce cas de figure.
2) Pour «natter» un port de la machine virtuelle vers la machine hôte, ces trois commandes, tapées DANS l'ORDRE, dans un terminal suffisent;
VBoxManage setextradata "Nom de votre VM" "VBoxInternal/Devices/Interface utilisée (e1000 ou pcnet)/0/LUN#0/Config/Nom_du_service/Protocol" TCP ou UDP
VBoxManage setextradata "Nom de votre VM" "VBoxInternal/Devices/Interface utilisée (e1000 ou pcnet)/0/LUN#0/Config/Nom_du_service/HostPort" Port d'accès sur l'hôte
VBoxManage setextradata "Nom de votre VM" "VBoxInternal/Devices/Interface utilisée (e1000 ou pcnet)/0/LUN#0/Config/Nom_du_service/GuestPort" Port d'accès sur la machine virtuelle
Exemple;
3) Il semblerait (et c'était la cause principale de mon problème car je n'étais pas au courant et qu'il n'y a aucune documentation sur ce problème...) que les ports classiques comme 123, 80, 445, 143, 25, etc... ne peuvent pas êtres utilisés sur la machine hôte... Même s'ils sont libres! (peut-être pour des raisons de sécurité?) Vous devez donc, par exemple, «natter» le port machine virtuelle 80 sur le port 8001 de la machine hôte via les commandes indiquées précédemment puis, dans votre routeur, «natter» le port d'entrée 80 sur le port 8001 de la machine hôte!
4) Il semblerait, encore une fois, que si la machine virtuelle est en activité ou même si elle est arrêtée mais que la fenêtre principale de VirtualBOX est ouverte, les commandes que vous tapez dans le terminal n'auront aucun effet et ne seront pas conservée lors que vous quitterez VirtualBox. (Probablement parce-que les fichiers de configurations de VirtualBox et de la machine virtuelle sont réécris) Veillez donc à éteindre la machine virtuelle et quitter complètement virtualbox avant de taper les trois commandes pour «natter» un port.
Encore un grand merci!
Sujet résolu.
Cordialement.
Je tiens juste à préciser quelques éléments pour les gens qui seraient dans la même problématique que moi;
1) iptables, en plus d'être extrêmement compliqué à configurer, ne sert absolument rien dans ce cas de figure.
2) Pour «natter» un port de la machine virtuelle vers la machine hôte, ces trois commandes, tapées DANS l'ORDRE, dans un terminal suffisent;
VBoxManage setextradata "Nom de votre VM" "VBoxInternal/Devices/Interface utilisée (e1000 ou pcnet)/0/LUN#0/Config/Nom_du_service/Protocol" TCP ou UDP
VBoxManage setextradata "Nom de votre VM" "VBoxInternal/Devices/Interface utilisée (e1000 ou pcnet)/0/LUN#0/Config/Nom_du_service/HostPort" Port d'accès sur l'hôte
VBoxManage setextradata "Nom de votre VM" "VBoxInternal/Devices/Interface utilisée (e1000 ou pcnet)/0/LUN#0/Config/Nom_du_service/GuestPort" Port d'accès sur la machine virtuelle
Exemple;
VBoxManage setextradata "windowsxp-srv" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/Apache/Protocol" TCP VBoxManage setextradata "windowsxp-srv" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/Apache/HostPort" 8001 VBoxManage setextradata "windowsxp-srv" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/Apache/GuestPort" 80
3) Il semblerait (et c'était la cause principale de mon problème car je n'étais pas au courant et qu'il n'y a aucune documentation sur ce problème...) que les ports classiques comme 123, 80, 445, 143, 25, etc... ne peuvent pas êtres utilisés sur la machine hôte... Même s'ils sont libres! (peut-être pour des raisons de sécurité?) Vous devez donc, par exemple, «natter» le port machine virtuelle 80 sur le port 8001 de la machine hôte via les commandes indiquées précédemment puis, dans votre routeur, «natter» le port d'entrée 80 sur le port 8001 de la machine hôte!
4) Il semblerait, encore une fois, que si la machine virtuelle est en activité ou même si elle est arrêtée mais que la fenêtre principale de VirtualBOX est ouverte, les commandes que vous tapez dans le terminal n'auront aucun effet et ne seront pas conservée lors que vous quitterez VirtualBox. (Probablement parce-que les fichiers de configurations de VirtualBox et de la machine virtuelle sont réécris) Veillez donc à éteindre la machine virtuelle et quitter complètement virtualbox avant de taper les trois commandes pour «natter» un port.
Encore un grand merci!
Sujet résolu.
Cordialement.
cocoche95
Messages postés
1134
Date d'inscription
jeudi 29 juillet 2004
Statut
Contributeur
Dernière intervention
27 novembre 2019
543
Modifié par cocoche95 le 21/08/2013 à 19:46
Modifié par cocoche95 le 21/08/2013 à 19:46
Je complèterai ton point n°3 en disant que :
- tous les ports en dessous de 1024 ne peuvent êtres utilisés par un "user" standard
- pour utiliser les ports en dessous de 1024 il faut être "root" ou utiliser la commande 'sudo' lorsque l'on lance vbox !
D'ordre général, c'est vrai pour tous les linux !
- tous les ports en dessous de 1024 ne peuvent êtres utilisés par un "user" standard
- pour utiliser les ports en dessous de 1024 il faut être "root" ou utiliser la commande 'sudo' lorsque l'on lance vbox !
D'ordre général, c'est vrai pour tous les linux !