Probleme routage

Bonjour à tous,

Alors je vous explique, je travaille sur la mise en place de deux routeurs debian pour faire de la haute disponibilité avec ucarp, çela fonctionne aprés mes configuration. J’ai donc un hote sous xp (je travaille en environnement virtuel sous VMware worsktation) connecté aux deux routeur debian.

Schéma : Livebox (192.168.1.1) <=> Machine réel (192.168.1.138) <=> 2 Debians patte externe (192.168.1.100 et 192.168.1.200 ) et 2 Debians patte interne (192.168.0.100 et 192.168.0.200 ) <=> Machine XP ( 192.168.0.1 )

Mon problème est que je n’arrive pas à pinger ma machine réel 192.168.1.138 à partir de ma Machine XP. Pourtant de debian je peux pinger ma machine réel.

P.S. : j’ai décocher le # pour le ip_forward ipv4 sur mes routeurs debian, de plus je pense que mes routes sont correct.

Avez vous une idée ? Merci beaucoup par avance

Peux-tu préciser “je n’arrive pas” (message d’erreur, capture de paquets…) ?
Quid des communications avec la box, l’extérieur ?

Les deux machines Debian fonctionnent-elles effectivement en routeur (à vérifier avec une capture de paquets sur leurs deux interfaces) ?

La machine Windows a-t-elle bien une route par défaut ?

La machine hôte a-t-elle une route vers 192.168.0.0/24 ? Sinon, les machines Windows font-elles du NAT source/masquerading sur leur interface “extérieure” ?

Comment sont connectées les interfaces des machines virtuelles du réseau 192.168.0.0 ? Par un second pont visible par l’hôte ?

Y a-t-il des règles de filtrage ?

Dsl, alors voici quelques infos en plus :
Ma machine XP à comme passerelle l’adresse IP virtuelle que mes routeurs debian partage, mais j’ai déja essayé en configurant comme passerelle la patte interne (192.168.0.100) d’un de mes routeurs, mais c’est la même chose il n’y a aucune réponse de ma machine hote (je fait de l’annalyse de paquet grâve à wireshark sur la machine Debian) mais pourtant la machine hote peut pinger mon Windows XP.
J’ai ajouter une route sur mon hote pour pouvoir communiquer vers ma machine XP sur le réseau 192.168.0.0 sur la patte externe (192.168.1.100) et çela fonctionne.
Le routeur debian dons lesquels je parle est configuré par les simples commandes route add -net sur chacun des réseaux respectifs avec la patte concerné donc je suppose que oui il y a bien un routeur mais niveau sécurité il n’y à rien. Les machines Windows ne font pas de NAT source/masquerading, c’est normalement le routeur debian qui doit s’en charger (j’ai décoché le # pour le forward sur mes routeurs debian donc le nat devrait fonctionner non ?) pour pouvoir communiquer vers l’extérieur.

Salut,

Vérifie avec Wireshark si les pings “allés” passent, si c’est le cas cela veut dire que les retours ont un soucis et cela vient du routage.

Ensuite avec ton 192.168.0.1 tu ping 192.168.0.200 / 192.168.0.100 je suppose mais ping t’elle le 192.168.1.100 et 192.168.1.200 si ce n’est pas le cas, alors le ip_forward n’est pas activé.

Vérifie ta passerelle par défaut sur ton client

Je ne m’y connais pas tellement en Virtualisation, mais il me semble qu’il faut une connection en mode “Pont” ou “Bridge” vérifie donc ça aussi

Ton routeur debian ne fera pas de NAT, ou alors tu as créer des règles IPTABLES, c’est ta Livebox qui s’occupe de ça normalement.

Affiche tes routes stp : route -n

Machine Reel : 192.168.0.X/24 Passerelle : 192.168.0.100/200
Machine XP : 192.168.1.X/24 Passerelle : 192.168.1.100/200
Debian 1 : 192.168.0.100 et 192.168.1.100 (passerelle ta livebox)
Debian 2 : 192.168.0.200 et 192.168.1.200 (passerelle ta livebox)

Les routes vers les réseaux connectés aux pattes du routeur sont montées automatiquement par Linux.

Pour donnée l’accès a internet a tes sous réseaux il faudra créer une route dans le routeur de ta livebox !

En faite la machine hote (192.168.1.138) ne répond pas à mon routeur debian sur la requete ICMP (ping).
Je m’explique : Le ping traversse le routeur puis va jusqu’a la machine hôte, la machine hôte répond a la requète ARP mais ne répond pas à la requete ICMP.

Concernant les ping vers les pattes de mes routeurs tout fonctionne mais de toute façon je ne meconnecte que sur un seul routeur actuellement directement sur sa patte interne au réseau 192.168.0.0 sur la patte 192.168.0.100.
Aucune problème sur ma passerelle.
Pas de problème sur la virtualisation normalement.
Je ne veux pas que mon debian me fasse communiquer sur internet, je cherche simplement a pinger une adresse d’un réseau différent mais peut-être que je dois crée des règles IPTABLES pour pouvoir permettre la communication du ping à travers mon routeur debian mais à quoi sert d’ajouter des routes alors ?

Voici mes routes sur le routeur 1 que j’utilise comme passerelle sur mon Windows XP :
Destination Passerelle Genmask Indic Metric Ref Use Iface
192.168.1.0 192.168.1.100 255.255.255.0 UG 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.0.0 192.168.0.100 255.255.255.0 UG 0 0 0 eth1
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0

La dernière route me permettant d’avoir internet sur mon routeur debian.

[quote=“squid”]En faite la machine hote (192.168.1.138) ne répond pas à mon routeur debian sur la requete ICMP (ping).
Je m’explique : Le ping traversse le routeur puis va jusqu’a la machine hôte, la machine hôte répond a la requète ARP mais ne répond pas à la requete ICMP.

Concernant les ping vers les pattes de mes routeurs tout fonctionne mais de toute façon je ne meconnecte que sur un seul routeur actuellement directement sur sa patte interne au réseau 192.168.0.0 sur la patte 192.168.0.100.
Aucune problème sur ma passerelle.
Pas de problème sur la virtualisation normalement.
Je ne veux pas que mon debian me fasse communiquer sur internet, je cherche simplement a pinger une adresse d’un réseau différent mais peut-être que je dois crée des règles IPTABLES pour pouvoir permettre la communication du ping à travers mon routeur debian mais à quoi sert d’ajouter des routes alors ?

Voici mes routes sur le routeur 1 que j’utilise comme passerelle sur mon Windows XP :
Destination Passerelle Genmask Indic Metric Ref Use Iface
192.168.1.0 192.168.1.100 255.255.255.0 UG 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.0.0 192.168.0.100 255.255.255.0 UG 0 0 0 eth1
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0

La dernière route me permettant d’avoir internet sur mon routeur debian.[/quote]

Je n’ai pas tout saisi à propos du ping ^^

Enleve la 2iem et 4iem route soit :
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1

Pour router pas besoin de IPTABLES normalement, et par défaut tout est accepté (vérifie tout de même avec iptables -L et iptables -t nat -L)

Dit moi ce que t’affiche un cat /proc/sys/net/ipv4/ip_forward

Peux-tu me montrer le fichier /etc/network/interfaces de ton routeur.

Si le ping fonctionne depuis l’hôte mais pas vers lui, ne serait-ce pas à cause d’un pare-feu sur celui-ci qui bloque le ping ?

Quelques commentaires sur ce qui a été écrit :
Comme l’a fort justement relevé Bastichou, iptables n’est pas nécesssaire pour faire du routage (il sert à faire du filtrage et du NAT, ce qui n’a rien à voir avec le routage) et deux routes sont en trop sur le routeur mais ce sont plutôt les autres :

192.168.1.0 192.168.1.100 255.255.255.0 UG 0 0 0 eth0
192.168.0.0 192.168.0.100 255.255.255.0 UG 0 0 0 eth1

Ces routes signifient que la machine est sa propre passerelle, ce qui n’a guère de sens. Les deux autres indiquent qu’il n’y a pas de passerelle pour ces destinations car elles sont joignables directement.

Non, il n’est pas nécessaire d’activer ip_forward pour communiquer avec une adresse d’une machine configurée sur n’importe laquelle de ses interfaces. Activer ip_forward sert seulement à une machine à retransmettre des paquets IP qui ne lui sont pas destinés.

Comme je l’ai déjà écrit, aucun rapport entre NAT et ip_forwarding.

Il n’y a aucun problème de pare-feu tout est activé, j’ai même ajouté les regles pour ICMP en autorisant tout, c’est pareil.

Je vien donc d’enlevé les routes que j’avais ajouté et laissé les routes par default sois sur la passerelle 0.0.0.0, mais çela ne change rien au ping.

[quote=“PascalHambourg”]
Non, il n’est pas nécessaire d’activer ip_forward pour communiquer avec une adresse d’une machine configurées sur n’importe laquelle de ses interfaces. Activer ip_forward sert seulement à une machine à retransmettre des paquets IP qui ne lui sont pas destinés.[/quote]

Le forward permet de transmettre un paquet d’un netid à un autre netid différent non ?

Pour la commande cat /proc/sys/net/ipv4/ip_forward cela me donne 1.

Alors le forwarding sur linux n’est pas la même chose ausquel je pense sur le mécanisme du forwarding pour le port forwarding.

Voici donc le contenu de mon fichier interfaces :

The loopback network interface

auto lo
iface lo inet loopback

The primary network interface

allow-hotplug eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255

The secondary network interface

allow-hotplug eth1
iface eth1 inet static
address 192.168.0.100
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
up ucarp -i eth1 -s 192.168.0.100 -v 20 -p password -a 192.168.0.60
–upscript=/etc/vip-20-up.sh --downscript=/etc/vip-20-down.sh -P -z -b 3 -k 10

Ce qui est tout en bas est le paramétrage pour mon adresse virtuel mais ceci est un autre sujet.

Je vien d’essailler avec une autre machine cette fois çi sous Windows server 2003 c’est pareil aucun ping possible dans le même sens.

Une idée ?

Qu’est-ce que tu appelles un netid ?

En effet. Le “port forwarding”, traduit par “redirection de port”, est une forme de NAT destination et n’a aucun rapport avec l’“IP forwarding”, traduit approximativement par “routage IP”. Même si on trouve couramment ces deux fonctionnalités combinées dans les “routeurs” domestiques.

Pour le problème de ping qui répond dans un sens mais pas dans l’autre, pas d’autre idée qu’un problème de filtrage ou NAT sur une des machines.

Le NetId c’est les premiers octets correspondant au réseau concerné (192.168.1 et 192.168.0 dans mon cas) et le hostid à l’hôte concerné.

[quote=“PascalHambourg”]
Pour le problème de ping qui répond dans un sens mais pas dans l’autre, pas d’autre idée qu’un problème de filtrage ou NAT sur une des machines.[/quote]
Quece que je pourrait essayer d’aprés toi ?

Le préfixe de réseau, donc.
Effectivement on peut dire que le but premier d’un routeur est de transmettre des paquets entre des réseaux distincts.

Je commencerais par vérifier les tables de routage de toutes les machines (route -n, route print) ainsi que les éventuelles règles iptables (iptables-save) des Debian. Ensuite je ferais une capture de paquets sur toutes les interfaces de toutes les machines lors des pings dans les deux sens. Oui, c’est fastidieux mais ça peut apporter des informations utiles.

(EDIT) Et je commencerais en désactivant UCARP et en n’utilisant qu’une Debian à la fois comme passerelle.

[quote=“PascalHambourg”]
Je commencerais par vérifier les tables de routage de toutes les machines (route -n, route print) ainsi que les éventuelles règles iptables (iptables-save) des Debian. Ensuite je ferais une capture de paquets sur toutes les interfaces de toutes les machines lors des pings dans les deux sens. Oui, c’est fastidieux mais ça peut apporter des informations utiles.
(EDIT) Et je commencerais en désactivant UCARP et en n’utilisant qu’une Debian à la fois comme passerelle.[/quote]

Et bien en faite j’avais déja fait tout ça avant de venir poster, à part vérifier les régles de IP table mais apparament tout est autorisé par défault.

Mais je vien de réussir à faire pinger ma machine XP vers une machine situer sur un NETID différent.
En faite j’ai utilisé une de mes autres machines virtuel sur XP que j’ai mis sur le réseau 192.168.1.0 avec comme passerelle la patte du routeur 1 : 192.168.1.100 et le ping marche dans les deux sens, alors je ne comprend pas du tout pourquoi mon hote sous windows 7 (sa passerelle était bien la 192.168.1.100) ne répond pas alors la machine XP répond.
Le soucis vien donc de mon hôte sous windows 7.
J’avais penssé en premier lieu au protection de requete ICMP echo entrante mais c’est déja autorisé, de + lorsque je ping l’hote depuis une machine debian l’hote me répond. Alors c’est un peux imcompréhensible^^
Mais bon j’ai trouvé une autre solution alors je vais me rabatre sur celle çi je pensse.

:confused: je suis dans la même galère…

sous virtualbox:
un XP dans reseau interne 192.168.2.0 relié à une Debian (qui devra faire Proxy via Squid) qui a une 2ème carte réseau en 192.168.1.0 (en pont sur la carte wi-fi de mon portable) relié à ma box.
de la Débian, je pingue tout le monde… de l’XP, les 2 cartes reseau de la debian mais pas la Box… :108

Pas les deux cartes mais les deux adresses IP. Adresse IP = machine, pas interface.
Quant à la box, elle n’a probablement pas de route vers le sous-réseau IP de la machine XP, donc ne peut pas lui répondre.

:clap: bien évidemment: il me fallait activer le NAT sur la carte extérieure… :doh:

merci

Il aurait été préférable d’ajouter une route sur la box et d’éviter le NAT autant que possible.
Le NAT, c’est sale.

J’ai plus tellement d’idées :s

Tente de rajouter ca à la fin de ton fichier interface :
echo “1” > /proc/sys/net/ipv4/ip_forward

Ou essaye de viré le pare-feu windows ?