Pb réseau avec 2 cartes + freebox

[Résolu/Fermé]
Signaler
-
 Thierry -
J'ai 2 cartes :

eth0 en ip fixe sert de passerelle à l'ensemble du réseau local en 192.168.0 via un switch
eth1 est connectée via DHCP à la freebox, qui lui adresse une ip locale sur 192.168.0

La freebox a 2 adresses se charge de la translation des adresses entre réseau local et internet;
Ip locale de la freebox : 192.168.0.254
Connectée sur eth1 : 192.168.0.10
Ip sur eth0: 192.168.0.1

J'ai essayé 2 possibilités dans /etc/network/interfaces, mais aucune n'est satisfaisante :
Soit j'active eth0 avant eth1, et dans ce cas la route est erronée:
default gw 192.168.0.254 Iface eth0 --------> aucun trafic ne parvient à sortir
Soit j'active eth1 avant eth0, et dans ce cas la route est correcte:
default gw 192.168.0.254 Iface eth1
Dans ce cas je peux surfer sur ma machine ki a les 2 ips.
Par contre, les machines du réseau local, connectées à eth0 n'arrivent pas à aller sur internet, ni même à la freebox en 192.168.0.254

En fait, tout se comporte comme si le chemin entre eth0 et eth1 était introuvable sur ma passerelle...

Merci pour votre aide !

6 réponses

Messages postés
276
Date d'inscription
mercredi 26 novembre 2003
Statut
Membre
Dernière intervention
29 décembre 2008
71
Salux,

Ton probleme vient de tes mask de sous reseau et de tes adresse.
Actuellement tu as deux reseaux distinct, Res A freebox + eth1 et l'autre Res B(eth0 et autre pc).
Or tes adresses font partie du meme reseau 192.168.0.XX (Voir reseau classe c pour plus d'info).
Ce qu'il faut que tu fasse c'est eth1 192.168.0.XX mask reseau 255.255.255.0
et eth0 192.168.1.XX mask sous reseau 255.255.255.0
ensuite dans ton fichier tu dois avoir une seul ligne gateway et l'adresse derrière doit etre celle de la freebox.

Tu dois egalemnt changer les adresse des autres pc de ton reseau B pour qu'ils soient tous en 192.168.1.XX

Si t'as des firewall ca risque d'etre un peu plus chaud et la configuration depend du firewall.


Une fois que tu as changer tout ca et redemarrer les pc Windows si y'en a tu fais un /etc/init.d/networking restart sur les station linux. Normalement tu devrais arriver a les pinguer tout le monde.

A++
Ben çà alors ! tu as raison çà marche !!!!!!!!!!!!

Par contre je comprends pas pourkoi, si j'ai 2 cartes/interfaces, je dois avoir 2 réseaux différents ?!

Merci, super :-))

Thierry
Maintenant mon pb résolu (merci rer_louz !), j'ai donc 2 réseaux locaux distincts sur 2 interfaces eth0 et eth1.
L'interface eth1 récoit son adresse en dhcp, depuis la freebox, sous réseau 192.168.0.0/24, tandis que eth0 est en statique sous réseau 192.168.1.0/24.

J'ai aussi un portable sous wifi, qui dépend également de la freebox, et reçoit donc également son adresse sur interface wlan0 en dhcp sous le réseau 192.168.0.0/24, commun avec eth1.
Il me semble qu'il devrait pouvoir communiquer avec eth1, qui est dans le même réseau, et par là remonter le réseau en eth0 ???

Mais depuis le portable, j'accède certes à internet via la freebox, mais pas moyen d'accéder à eth1, et donc de remonter vers eth0 ??

Z'auriez-t'y une idée ??
Messages postés
1564
Date d'inscription
mercredi 30 mars 2005
Statut
Contributeur
Dernière intervention
22 juin 2007
494
Dans ta configuration ton portable fait partie du reseau Freebox et il ne voit que la Freebox et le pc avec les deux cartes reseau. Par contre les autres pcs branches au 1er pc par le switch sont dans un autre sous-reseau (192.168.1.XX) cache/invisible pour le portable!
Un de ces pcs peut aller vers le portable pour faire ftp, telnet etc. mais a l'inverse ce n'est pas possible par defaut (il faut faire une redirections de ports sur le 1er pc, ce qui est assez compliques mais possible).

Si tu souhaites avoir un acces illimite entre tous les pcs du sous-reseau et le portable tu dois brancher le switch a la Freebox (et pas a un pc special pour passerelle) et tout le monde derrier (aussi le pc qui faisait passerelle avant). Dans ce cas il faut completement rester dans le sous-reseau Freebox avec: 192.168.0.xx. Ici tu peux meme utiliser le DHCP de la Freebox pour attribuer ces numeros. Par contre si tu fais ca tu as moins de liberte pour la configuration de firewall qui peut etre faite par le PC1 avec plus d'option de configuration (c'est peut-etre ca la raison pour cette facon de branchement ?)

Alors actuellement si j'ai bien compris tu as une structure comme ca:


Freebox
|
PC1 et aussi le portable par Wifi (reseau Freebox: 192.168.0.XX)
|
switch -> tous les autres pcs (reseau PC1: 192.168.1.XX)


autre methode plus directe
Freebox
|
portable par Wifi et switch -> PC1 et tous les autres pcs (reseaux: Freebox 192.168.0.XX)

-------------
Dans la 1ere config (la tienne actuellement) le PC1 cache les autres pcs pour le portable. Pour la 2eme config tout le monde est egal et sur le meme niveau.
Oui, c'est exactement çà ma config :

Freebox
|
ethernet PC1 + Wifi (reseau Freebox: 192.168.0.XX)
|
switch ethernet -> tous les autres pcs (reseau PC1: 192.168.1.XX)

La raison pratique de cette config est que seul le portable dispose du wifi, et que les autres postes sont cablés en ethernet, et je veux controler le trafic ethernet depuis PC1; en outre mon switch ne gère que l'ethernet.

Ce que je ne comprends pas, c'est pourquoi en effet les PCs du réseau ethernet en 192.168.1.xx peuvent accéder au portable en 192.168.0.xx, tandis que l'inverse n'est pas vrai. Du reste, le portable apparemment ne voit que la freebox, et pas même PC1 qui fait partie de son réseau (sauf erreur d'interprétation de ma part);
bref, pourquoi ç'est transparent depuis eth0 (192.168.1.XX) vers eth1 (192.168.0.XX) et pas l'inverse ??

C'est passionnant mais compliqué le réseau bigre !!
Messages postés
1564
Date d'inscription
mercredi 30 mars 2005
Statut
Contributeur
Dernière intervention
22 juin 2007
494
Ce que je ne comprends pas, c'est pourquoi en effet les PCs du réseau ethernet en 192.168.1.xx peuvent accéder au portable en 192.168.0.xx, tandis que l'inverse n'est pas vrai.

Ca c'est exactement le caracteristique du NAT = translations d'adresse. Les adresses 192.168.1.xx n'existent pas a l'exterieur!!!!!!
Quand un pc derrier le routeur PC1 envoie un paquet TCP/IP vers internet le routeur traduit le numero 192.168.1.xx vers sa propre adresse exterieure (192.168.0.1 par exemple ou l'adresse que tu as choisi). Apres sur la Freebox la meme chose arrive encore une 2eme fois et elle traduit cette adresse vers ta vraie adresse internet. Quand la reponse a ta requete TCP/IP revient d'abord la Freebox est capable de retraduire et rediriger la reponse vers le bon PC, donc PC1 et celui la va faire la meme rediriction vers le pc initiale qui a envoye le paquet. Ce qui compte est que dans le reseau Freebox (192.168.0.xx) toute activite d'un pc derrier le router arrive avec l'adresse source du routeur a cause de cette traduction et pas avec son adresse initiale 192.168.1.xx qui n'existent pas a ce niveau!
Par un exemple un pc derrieur le routeur fait telnet vers ton portable (supposons que ce soit en Linux avec un serveur telnet a titre exemple). Sur les fichiers logs du portable ca semble d'arriver depuis l'adresse IP du routeur et pas d'un pc derrier. En fait l'adiminstateur du portable n'a aucun moyen de faire la distinction entre les pcs derrier le routeur et le routeur car tout le monde partage la meme adresse 192.168.0.1 du routeur.
C'est exactement le meme principe comme la Freebox partage pour toi ton adresse IP internet vers PC1 et le portable mais seulement a un niveau au dessus. C'est le NAT et la Freebox qui tourne aussi en Linux et elle fait la meme chose. Tu comprends bien que depuis l'internet on ne peut pas faire la distinction entre le PC1 et le portable! C'est parreil pour le portable qui ne peut pas faire la distinction entre les pcs derrier PC1 et le PC1 lui meme.

Il te faut lire l'IP-Masquerade-HOWTO:
http://www.tldp.org/HOWTO/IP-Masquerade-HOWTO/
Regarde aussi ici:
http://irp.eme-enseignement.fr/
=> cliquer sur le lien "Partage de connexion"

Regarde aussi ce tuto sur grenouille:
http://forums.grenouille.com/index.php?showtopic=21282
pour la redirection des ports de la Freebox pour que tu puisses faire un serveur accessible depuis internet meme si la Freebox marche en router.
En principe tu dois faire la meme redirection sur le PC1 (voir le HOWTO ci-dessus, section 6.7.1). C'est possible avec les bonnes regles iptables (mais il faut s'y connaitre un peu). Cependant meme avec ca tu arrive uniquement a changer le seul pc visible depuis l'exterieur pour un service specifique (un port TCP specifique). Par defaut c'est ton routeur PC1 mais tu peux par exemple mettre un serveur web sur un pc derrier le routeur avec la redirection du port 80. Mais ca ne donne pas plus qu'un seul serveur visible. Tous les autres pcs et aussi le routeur seront invisible apres la redirection. Par contre ce qui donne de souplesse c'est la possibilite de rediriger de ports differents vers differents pcs derriers le routeur. Mais la regle qu'il y ait au maximum un serveur par service dans tout le sous-reseau reste toujours valable.


le portable apparemment ne voit que la freebox, et pas même PC1 qui fait partie de son réseau

En principe le portable doit voir le PC1, mais ton firewall sur le PC1 peut etre trop restrictif. Il faut le correctement configurer pour le portable. Si le portable tourne en WinXP SP2 il peut aussi y avoir de problemes du SP2 pour se connecter a un pc Linux. Je ne connais pas trop bien ca mais j'ai la forte impression que c'est un probleme mysterieux qui revient regulierement sur differents forums.

-------
Il y a peut-etre une possiblite pour eviter le NAT et de garder ton branchement. Il faudrait par exemple utilisier les adresses 192.168.0.xx avec xx=1,2,...,127 pour le routeur et les pcs derrieres le routeurs. Pour ca il faut mettre un masque 255.255.255.128 pour les sous-reseaux. Apres il faut une adresse avec xx>=128 et xx<254 pour ton portable qui ne fait pas partie du sous-reseaux. Plus precisement tu fais un sous-reseau a l'interieur de la plage d'adresses de la Freebox au lieu de creer un nouveau sous-reseau! Avec ca tous les pcs vont se voir et il faut faire un "bridge" entre les cartes reseau (je ne connais pas les details). On peut aussi faire un filtrage firewall sur le PC1.

Une autre possibite peut-etre encore plus facile serait d'utiliser le 2nd branchement que j'ai propose mais sur les pcs autres que ton PC1 (et meme le portable si tu veux) tu mets une passerelle 192.168.0.1 pour le PC1 et pas la Freebox 192.168.0.254. Le pc avec la Freebox comme passerelle serait le PC1 ou tu controle le traffique du reseau.
Cette solution (si elle marche ?) necessiterait que les utilisateurs des pcs a proteger ne puissent pas modifier la config reseau (pas acces root pour de pcs linux, en Windows presque impossible) pour eviter qu'ils remettent la Freebox comme passerelle et comme ca contournent ton controle sur le pc1.
Pour la redirection des ports, j'ai déjà fait au niveau de la freebox: j'ai redirigé le port ssh/22 vers PC1 qui me sert à faire des backups sur internet.
Je vais tester un peu tout ce que tu me dis.

Très brillant, merci bcp !