|
Sujet : [Résolu] Problème réseau avec iptables, route et virtualbox |
| silverangel958 |
J'ai obtenu réponse et informations sur un autre forum. Je poste les informations à titre d'informations pour une éventuelle personne qui serait confrontée au même problème;
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;
Code :
- 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. Veillez donc à éteindre la machine virtuelle et quitter complètement virtualbox avant de taper les trois commandes pour «natter» un port.
Voili-voilou.
Sujet résolu. |
| silverangel958 |
J'ai obtenu réponse et informations sur un autre forum. Je poste les informations à titre d'informations pour une éventuelle personne qui serait confrontée au même problème;
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;
Code :
- 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. Veillez donc à éteindre la machine virtuelle et quitter complètement virtualbox avant de taper les trois commandes pour «natter» un port.
Voili-voilou.
Sujet résolu. |
| silverangel958 |
Précisions sur une réponse que j'ai eue sur un autre forum;
Il n'existe pas d'équivalent Linux au logiciel que je fais tourner sous VirtualBOX, 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 sélectionner un autre mode de réseau que le réseau privé hôte; 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.
Le pare-feu de Windows XP est bien connu pour ne pas bloquer grand chose... :D
Mais j'ai tout de même désactivé le pare-feu 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 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.
À mon avis, c'est bel et bien mon script iptables qui est foireux. |