Problème de routage freebox

Fermé
Semifer - 5 juin 2005 à 04:31
 -Nmd - 2 juil. 2008 à 00:20
Bonjour,

je vous expose mon problème:

j'ai deux réseaux, 192.168.0.0 et 192.168.0.1.
J'ai un firewall/routeur sous linux (pour l'instant une mandrake 10.1). Sur eth0, la passerelle est 192.168.1.254 et sur eth1, 192.168.0.1. Un client sous windows 2000(dont l'adresse est 192.168.1.21) peut pinger les deux pattes, c'est à dire 192.168.1.254 et 192.168.0.1. J'ai une freebox en 192.168.0.254 sans dhcp d'activé. Le problème est que je n'arrive pas à atteindre la freebox depuis le client. Y aurait-il un problème de routage?? Les routes sur le routeur linux sont:

Destination Passerelle Genmask
192.168.1.0 0.0.0.0 255.255.255.0 sur eth0
192.168.0.0 0.0.0.0 255.255.255.0 sur eth1
0.0.0.0 192.168.0.254 0.0.0.0 sur eth1
0.0.0.0 0.0.0.0 0.0.0.0 sur eth0

je n'arrive pas à pinger la freebox et j'ai testé toutes les routes que j'ai pu toujours pareil, ca ne reponds pas. Faut-il rajouter des routes sur les clients? le problème est que je ne peux pas rajouter de routes sur la freebox...Que faire?

Si vous avez une idée, merci de me répondre.

21 réponses

je pensais à autre chose. Le câble que j'utilise entre la freebox et l'interface eth1 est croisé...Se pourrait-il que le problème vienne de là (comprendre faut-il du droit?)? merci d'avance.
0
je rectifie, si j'arrive à pinger depuis eth1 sur la freebox, ca ne peut etre un probleme de cable, de plus j'ai toujours utilisé du croisé avec auparavant...désolé je suis fatigué et ca fait des heures que je tourne en rond...
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
5 juin 2005 à 06:08
Salut,


j'ai deux réseaux, 192.168.0.0 et 192.168.0.1.


C'est faux.
192.168.0.0/24 ou 192.168.0.0 masque 255.255.255.0 designe le reseau 192.168.0

et 192.168.0.1/24 c'est un machine qu'appartient à ce reseau.

J'ai une freebox en 192.168.0.254
Donc tu as choisi l'option freebox routeur .

Voila 2 petits scripts de configuration.
(A la place de xxx.xxx.xxx.xxx tu mets DNS1 et à la place de yyy.yyy.yyy.yyy tu mets DNS2)
tu fait la commande chmod 0700 fichier
et tu l'éxécutes avec ./fichier (pareil pour le 2ème)

Donc pour linux tu aura eth0 192.168.0.1 et eth1 192.168.1.1 et pour Win 192.168.1.2 (tu peut changer en 192.168.1.21 mais il faut modifier dans la config de iptables) et mets l'IP du routeur(la freebox 192.168.0.254)
#! /usr/bin/perl -w
open IPETH1,">/etc/sysconfig/network-scripts/ifcfg-eth0";

print IPETH1 "DEVICE=eth0\nBOOTPROTO=static\nIPADDR=192.168.0.1
NETMASK=255.255.255.0\nNETWORK=192.168.0.0\nBROADCAST=192.168.0.255
ONBOOT=yes\nMII_NOT_SUPPORTED=no\nWIRELESS_ENC_KEY=\"\"";
close IPETH1;

open GATEWAYCONF,">/etc/sysconfig/network";
print GATEWAYCONF "NETWORKING=yes\nGATEWAY=192.168.0.254";
close GATEWAYCONF;

open RESOLV,">/etc/resolv.conf";
print RESOLV "nameserver xxx.xxx.xxx.xxx\nnameserver yyy.yyy.yyy.yyy\n\n#ppp temp entry";
close RESOLV;

open IPETH0,">/etc/sysconfig/network-scripts/ifcfg-eth1";

print IPETH0 "DEVICE=eth1\nBOOTPROTO=static\nIPADDR=192.168.1.1
NETMASK=255.255.255.0\nNETWORK=192.168.1.0\nBROADCAST=192.168.1.255
ONBOOT=yes\nMII_NOT_SUPPORTED=no\nWIRELESS_ENC_KEY=\"\"";
close IPETH0;


Et maintenant la configuration de iptables pour pouvoir faire de NAT (partager la connexion avec Win)

#! /bin/sh
# Initialization de la table FILTER
iptables -F
iptables -X
iptables -P INPUT   DROP
iptables -P OUTPUT  DROP
iptables -P FORWARD DROP # les 3 cmd presque la debranchement des cables
# Initialization de la table NAT
iptables -t nat -F
iptables -t nat -X
iptables -t nat -P PREROUTING    ACCEPT
iptables -t nat -P POSTROUTING   ACCEPT
iptables -t nat -P OUTPUT        ACCEPT
# Initialisation de la table MANGLE
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -P PREROUTING    ACCEPT
iptables -t mangle -P INPUT         ACCEPT
iptables -t mangle -P OUTPUT        ACCEPT
iptables -t mangle -P FORWARD       ACCEPT
iptables -t mangle -P POSTROUTING   ACCEPT
# interface lo
iptables -A INPUT -i lo -s '0.0.0.0/0' -d '0.0.0.0/0' -j ACCEPT
iptables -A OUTPUT -o lo -s '0.0.0.0/0' -d '0.0.0.0/0' -j ACCEPT

#table FILTER
# connexion NET
iptables -A INPUT -i eth0 -d 192.168.0.1 -m state --state ESTABLISHED,RELATED -j ACCEPT
#--------------------------------------------------------
iptables -A FORWARD -i eth0 -o eth1 -s 0.0.0.0/0 -d 192.168.1.2 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -s 192.168.1.2 -d 0.0.0.0/0 -m state --state ! INVALID -j ACCEPT
#--------------------------------------------------------
iptables -A OUTPUT -o eth1 -m state --state ! INVALID -j ACCEPT
#========================================================
#--------------------------------------------------------
iptables -A INPUT -i eth1 -s 192.168.1.2 -d 192.168.1.1 -j ACCEPT
#--------------------------------------------------------
iptables -A OUTPUT -o eth1 -s 192.168.1.1 -d 192.168.1.2 -j ACCEPT
#table NAT
#========================================================
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.2 -j SNAT --to-source 192.168.0.1


Et dans la configuration de Windows tu dois mettre en tant que passerelle l'IP de eth0 (192.168.0.1) et les DNS et DNS1

lami20j
0
Je tiens a m'excuser, mais eth0 est en fait sur le reseau 192.168.1.0, c'était une faute de frappe! De ce fait j'ai bien deux reseaux distincts eth0=192.168.1.0 et eth1=192.168.0.0. le routeur linux peut pinger partout sans problèmes, il dispose de la connexion internet. Mon client 192.168.1.21 a pour passerelle 192.168.1.254 et de l'autre coté j'ai donc 192.168.0.1 pour linux et 192.168.0.254 pour la freebox. mes routes sont-elles bonnes? faut-il activer du nat ou queleque chose comme ca? je suis désolé, je n'ai pas tout compris ;) Merci pour ta reponse et de consacrer du temps a mon probleme !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
D'apres ton script, mes dns sont bons, la passerelle aussi, il n'y a finalement que les options nat du script pour iptables que je n'ai pas essayé. Il va falloir que je modifie mon script iptables (j'en ai deja fait un ;) ) ?
0
Bon et bien j'ai essayé tes paramètres sans succès. Je n'avais plus aucun ping, et linux ne pouvait pinger le localhost.

j'ai bien "iptables -A INPUT -i lo -j ACCEPT"
et "iptables -A OUTPUT -o lo -j ACCEPT"

bref j'ai essayé tout un tas de regles sans succès. Je n'arrive toujours pas à pinger cette satanée freebox. Dans un cas simple il suffirait de declarer une route vers 192.168.1.0...si la freebox etait un routeur...ce qu'elle n'est pas vraiment...

Bref je ne sais plus quoi faire, je ne comprends pas pourquoi j'arrive a tout pinger sauf elle!! est-ce que la clef de tout cette @!# de config est bien iptables?

Merci, j'ai vraiment besoin d'aide!
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
5 juin 2005 à 10:14
Salut semifer,

On peut faire autrement.
Tu peut copier ici la configuration de ton réseau et iptables. Comme ça je vais regarder. C'est aussi possible que j'ai fait une erreur moi aussi dans le message que j'ai envoyé vu que c'était 06h00.

Et encore une question.
Tu as activé le mode routeur de ta freebox?
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
5 juin 2005 à 10:19
Re,

Voilà je viens de trouver une erreur dans le message que je t'ai envoyé

Au lieu de
iptables -A OUTPUT -o eth1 -m state --state ! INVALID -j ACCEPT


lire (pas eth1, mais eth0 - c'est par eth0 que tu sors sur net)

iptables -A OUTPUT -o eth0 -m state --state ! INVALID -j ACCEPT
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
5 juin 2005 à 10:33
Et pour la table de routage ça marche avec ça

root@ ~ # route -n
Table de routage IP du noyau
Destination     Passerelle      Genmask         Indic Metric Ref    Use Iface
192.168.0.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.1.0        0.0.0.0         255.255.255.0   U     0      0        0 eth1
0.0.0.0         192.168.0.254      0.0.0.0         UG    0      0        0 eth0


Desactive ton firewall sous linux pour voir si ça marche.
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
5 juin 2005 à 10:40
Et enleve ça

0.0.0.0 0.0.0.0 0.0.0.0 sur eth0
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
5 juin 2005 à 10:44
Encore une chose

Le câble que j'utilise entre la freebox et l'interface eth1 est croisé


En fait tu passe sur net par quelle carte eth0 ou eth1.

Et entre ton pc et la freebox tu doit utilisé le cable qu'ils t'ont donné (un cable droit).
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
5 juin 2005 à 10:50
En fin pour savoir où est le problème tu peut faire 2 choses.

1. Tu dis un peu la topologie de ton reseau (qui fait quoi).

ou

2. Je viens chez toi pour configurer ton reseau

La 2ème n'est pas faisable donc choisi la 1ère. En fait à l'aveugle on ne peut pas faire grand chose. Concernant ta sécurité ne t'inquiete pas, je ne te demande pas des choses qu'il ne faut pas dire. Et les adresses 192.168.0.0/25 tu peut les écrire sans problème puisque ne sont pas des IP routables sur net.

Vas-y fait un effort et donne la topologie de ton reseau ou même la configuration.

A+

lami20j
0
J'ai dormi donc dsl pour la longueur ;) ...

voilà mon réseau:

__ __
|__| |__| 192.168.1.21/24
| | cable croisé
_|______|_
|__switch__|
|
__|__ eth0:192.168.1.254/24 (cable croisé)
firewall|_____|
| eth1:192.168.0.1/24 (cable droit)
|
__|__ 192.168.0.254/24
|_____|
| internet

J'ai acheté tout a l'heure un cable droit donc je l'ai mis entre la freebox et l'interface eth1, ca n'as rien changé, je peux pinger depuis le firewall sur la freebox et sortir sur le net mais je ne peux pas pinger la freebox depuis le client. J'ai effectivement le mode routeur de la freebox activé (encore heureux) sans le dhcp d'activé etant donné que je n'ai que le firewall derriere. J'ai enlevé la route 0.0.0.0 0.0.0.0 0.0.0.0 sue eth0, nada rien du tout. La question est: pour pouvoir au moins pinger la freebox faut-il necessairement configurer iptables? Je manipule des routeurs cisco toute la journée et je n'ai jamais eu ces problemes en entreprise...Le problème c'est que nous sommes dans un cas bien particulier... J'ai cherché des tas d'infos sur le net et ma config n'est pas mauvaise...J'y comprends plus rien! Bon bref, je te remercie de m'aider, c'est vraiment cool! Par contre peux tu me commenter un peu ton iptables? je sais j'en demande beaucoup mais j'essaye de comprendre pourquoi !? Merci encore et toujours!
0
je refais ma topologie, le forum n'aime pas l'ascii apparement lol...

192.168.1.21 (cable croisé)
|
|
switch
|
| eth0:192.168.1.254 (cable croisé)
firewall linux
| eth1:192.168.0.1 (cable droit)
|
freebox 192.168.0.254
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
5 juin 2005 à 16:49
Enleve le switch et teste.
Tu as desactivé le firewall pour tester?
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
5 juin 2005 à 16:59
Bon reprennons ta config :

192.168.1.21 (cable croisé) (IP passerelle 192.168.0.1 et les DNS1 et DNS2)
|
|
switch
|
| eth0:192.168.1.254 (cable croisé)
firewall linux ici c'est pour FORWARD
| eth1:192.168.0.1 (cable droit) (passerelle 192.168.0.254 et les DNS1 et DNS2)
| tu as aussi firewall linux ici pour INPUT et OUTPUT et NAT
freebox 192.168.0.254

J'ai la presque la même config avec la différence que j'ai un routeru entre freebox et linux et pas de switch entre linux et windows.

Et tout fonctionne impecable (biensûr la configuration d'iptables c'est minimale mais c'est suffisante pour que ça marche).
[ Continuer la discussion ][
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
5 juin 2005 à 17:04
Encore un petit détails au cas où...

Après la configuration de réseau n'oublie pas de relancer le daemon network

service network restart
ou
/etc/init.d/network restart
0
Alors j'ai essayé quelque chose:

j'ai configuré squid sur mon routeur/firewall linux et la connexion marche je peux partager le net pour tout le monde!

J'ai essayé ca sans firewall, mais il suffirait juste de rajouter le port dans mon script iptables... Qu'est-ce que je peux en déduire? Visiblement mes routes et ma config est bonne etant donné que j'arrive a naviguer sur le web en traversant linux... ne serait-ce qu'un problème de ping?!! Pfff misère lol... Je vais me replonger dans iptables...
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
5 juin 2005 à 18:12
Il faut savoir que le ping nous permet de tester une connexion.
Ca ne veut pas dire que si le ping ne fonctionne pas ( à cause de firewall par exemple) que la connexion n'est pas bonne.

A+

lami20j
0
Bon et bien tout marche, la solution etait de faire du masquerading sur l'interface eth0 en sortie. Depuis je peux pinguer la freebox et faire tout ce que je voulais. J'ai reussi a faire un ftp ect... Merci à ceux qui m'ont aidé.
0