Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 19/09/2014, à 19: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