#1 Le 19/09/2014, à 18:13
- kleer
VirtualBox Réseau interne et iptables - Résultat inattendu
Bonjour tout le monde
J'utilise VirtualBox pour réaliser un petit réseau avec trois machines
A est une machine
B est une autre machine
AB est un routeur reliant A et B
AB est sur deux réseaux internes dans VirtualBox que j'ai nommé "gauche" et "droite"
A est dans "gauche", et B dans "droite"
A ---------- AB ---------- B
Le but final est plus compliqué que ça mais j'essaye d'être le plus simple possible pour mieux expliquer là où ça coince
B a sa route par défaut en passant par AB pour joindre A
A n'a que sa route "On-link" propre à son réseau, c'est voulu, pas de route vers B
Donc quand B ping A, il n'y a pas de réponse car A ne sait pas par où passer pour joindre B
L'aller se fait mais pas le retour
La solution est de faire du nat sortant sur AB avec quelque chose comme :
iptables -t nat -A POSTROUTING -s <réseau de B> -j MASQUERADE
Avant de passer la commande, en capturant sur A on voit bien l'adresse source de B qui envoi quelque chose à A
Après cette commande, dans la capture c'est l'interface coté A du routeur AB qui est vue en adresse source
C'est l'effet voulu par le nat sortant
Et le ping fonctionne (de B vers A)
Jusque là, TOUT EST NORMAL
Après ça se complique.
Dans la chaine POSTROUTING, la colonne pkts reste à 1 alors que des dizaines de ping sont déjà passés... bizarre
pkts bytes target prot opt in out source destination
1 60 MASQUERADE all -- * * 172.20.0.0/24 0.0.0.0/0
Lorsque je supprime la règle, le ping continue de fonctionner !
Et dans les captures, c'est toujours l'interface A du routeur AB qui est vu comme adresse source
Comme si la règle était toujours là.
En remettant tout à zéro et en recommençant : interfaces, adresses ip, ip_forward et en retapant la commande, plus rien ne se passe
Le ping ne fonctionne plus du tout et la colonne pkts reste à 0
J'ai essayé sur plusieurs versions d'iptables, de l'OS, et de Virtual Box
Je ne sais pas comment mais j'ai l'impression que VirtualBox garde en mémoire le comportement de la règle nat
Aucun problème sur des machines physiques
Vous savez que quoi ça peut venir ?
Quelque chose à désactiver dans Virtualbox ?
Quelqu'un peut essayer chez lui pour voir si c'est pareil ?
Merci
Hors ligne