Passerelle sous Linux ( ou double passerelle

Fermé
rauchy - 11 avril 2005 à 18:14
mounirouche Messages postés 1 Date d'inscription mercredi 14 novembre 2007 Statut Membre Dernière intervention 2 décembre 2007 - 2 déc. 2007 à 09:49
bonsoir à tous,

bon voila, j'ai voulu mettre en place une passerelle sous Linux Red hat 9.0,


-------------------------------
| internet |
| |
-------------------------------
|
|
|
---------------------------------
| 1er passerelle | 192.168.39.1
| | 255.255.255.0
---------------------------------
|
vers 1er passerelle --------------------------------- vers resau local
eth0 ip:192.168.39.6 | 2eme passerelle | eth1 : ip 192.168.0.253
msr255.255.255.0 | | msr 255.255.255.0
passerelle 192.39.1 --------------------------------- passerel 192.168.0.253
|
-------------------------- --------------------------
| poste windows | | poste windows |
| | | |
--------------------------- ---------------------------
ip : 192.168.0.2 ip: 192.168.0.3
passerelle 192.168.0.253 passerelle 192.168.0.253
DNS = DNS FAI DNS = DNS FAI
masque sr 255.255.255.0 msr 255.255.255.0


j'aimerai faire une sous passerelle d'une passrelle deja existent comme indique le shema ( NB la 1er passerelle ne m'appartien pas )

j'ai bien configuré les postes et la machine linux sous red hat :
[root@localhost sbin]# ifconfig
eth0 Lien encap:Ethernet HWaddr 00:30:4F:22:E2:0B
inet adr:192.168.39.39 Bcast:192.168.39.255 Masque:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4346 errors:0 dropped:0 overruns:0 frame:0
TX packets:5399 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:100
RX bytes:3418008 (3.2 Mb) TX bytes:791964 (773.4 Kb)
Interruption:9 Adresse de base:0x8000

eth1 Lien encap:Ethernet HWaddr 00:E0:4C:31:18:9F
inet adr:192.168.0.253 Bcast:192.168.0.255 Masque:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:443 errors:0 dropped:0 overruns:0 frame:0
TX packets:814 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:100
RX bytes:47389 (46.2 Kb) TX bytes:57730 (56.3 Kb)
Interruption:11 Adresse de base:0xa000

lo Lien encap:Boucle locale
inet adr:127.0.0.1 Masque:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:123462 errors:0 dropped:0 overruns:0 frame:0
TX packets:123462 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
RX bytes:7918219 (7.5 Mb) TX bytes:7918219 (7.5 Mb)

[root@localhost sbin]# route -n
Table de routage IP du noyau
Destination Passerelle Genmask Indic Metric Ref Use Iface
192.168.39.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
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 192.168.39.1 0.0.0.0 UG 0 0 0 eth0

j'ai aussi configuré le iptable de la manière :

>/etc/init.d/iptables stop
>iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
>echo "1" > /proc/sys/net/ipv4/ip_forward

et apres

>/etc/init.d/iptables save
>/etc/init.d/iptables start


voila le probleme :

je peut faire un ping de mes machines clients windows xp et tout les machine detect la 2eme passerelle ( celle que j'ai configuré)
mais cette dernier ne detect aucune machine client windows !! le ping ne donne rien !!

et cela biensur implique que je n'ai pas intrenet sous mes machine windows alors que sur ma machine du 2eme passerelle j'ai le net!!


question : est ce qe j'ai bien met en place ma 2eme passerelle?
et pk je n'ai pas le net sous mes machines clinets ?

Merci de votre reponse
A voir également:

11 réponses

mais je ne comprend pas pk je n'arrive pas à pinger de la passerelle vers les posts windows
1
kmf31 Messages postés 1564 Date d'inscription mercredi 30 mars 2005 Statut Contributeur Dernière intervention 22 juin 2007 501
11 avril 2005 à 23:36
Tu as bien lu mon dernier poste <4> ? Je n'ai pas l'impression car ta derniere question est probablement repondu dans la 2nd partie de ce poste.

Tu n'as pas de firewall sur les pc windows ? Si oui c'est ca la raison!

Apart ca tu peux avoir n'importe quelles regles firewall sur le pc linux avec ton machin "/etc/init.d/iptables start/stop" . C'est loin d'etre sur que ces regles soient bonnes pour que ca marche correctement. Tu as mis quoi comme firewall ? Que donne la commande: "iptables -L -v" (pendant le machin /etc/init.d/iptables est en "start") ?



Si tu utilises le script "rc.firewall-2.4" dont je parle depuis 3 postes et si tu fais comme je l'ai propose dans le 1er lien de <1>:
http://www.commentcamarche.net/forum/affich-1138827-partage-de-connection#1
(point 4) ca va marcher (meme si tu ne le comprends pas) a condition que tu as enleve les firewalls sur les pcs Windows!!!

Une petite question: Quelle est ta priorite:
1) De faire marcher ton sous-reseau ?
2) De comprendre tous les details ?

Si c'est 1) essaye le script "rc.firewall-2.4".

Si c'est 2) va d'abord relire les reponses ci-dessus et apres etudier en details les Howtos pour IP-Masquerade, NAT et aussi la doc pour iptables notamment apropos du fonctionnement de la chaine FORWARD et nous nous reparlerons dans 3 semaines ou 2 mois.
0
kmf31 Messages postés 1564 Date d'inscription mercredi 30 mars 2005 Statut Contributeur Dernière intervention 22 juin 2007 501
11 avril 2005 à 18:30
Je ne comprends pas trop bien ta config mais je crois tu dois aussi utiliser, c.-a-d. activer le NAT, la traduction d'adresses entre reseau local et internet (ou plutot entre ton reseau local 192.168.0.x et l'autre reseau local 192.168.39.x). A mon avis c'est ca le probleme. Si tu as internet sur le pc Linux et pas sur les pcs Windows ca confirme cette hypothese.

Regarde ici pour voir comment faire pour le partage simple:
http://www.commentcamarche.net/forum/affich-1138827-partage-de-connection#1
notamment le point 4) du poste <1>.

Apart ca je te recommande la lecture du IP-Masquerade-HOWTO:

http://www.tldp.org/HOWTO/IP-Masquerade-HOWTO/

Notamment les sections: 3.3, 3.4.1, 6.4.1

Dans mon tuto (le 1er lien) j'utilise le script dans 3.4.1 pour activer le NAT. C'est une fonctionnalite dans le noyau Linux pour traduire entre les adresses et il faut l'activer pour faire ce que tu souhaites faire (je crois).
0
Bonjour,

Je ne comprends pas bien pourquoi tu insères cette passerelle, mais en supposant que tu veuilles juste qu'elle fasse du transit, tu as un problème dans la passerelle par défaut.

Tu n'as rien de spécial à faire pour adresser tes deux réseaux. Les paquets à destination de 192.168.0 et de 192.168.39 iront tous seuls vers la bonne carte et le bon réseau.

Par contre, la passerelle par défaut intervient pour les paquets à destination d'autre chose, et malheureusement tu en as mis deux, ce qui fait que tous les paquets vont vers Internet.

Il faut que tu mettes la passerelle par défaut en direction d'Internet pour que les paquets non destinés à tes réseaux prennent la bonne direction.

Manu.
0
kmf31 Messages postés 1564 Date d'inscription mercredi 30 mars 2005 Statut Contributeur Dernière intervention 22 juin 2007 501
11 avril 2005 à 20:56
J'ai regarde ton schema encore une fois et a mon avis tu ne fais rien d'autre qu'un simple partage meme si tu l'exprime les choses d'une facon complique. Il semble que tes numeros IPs sont bons et aussi pour les passerelles. Notamment tu as la passerelle par default vers internet, c.-a-d. vers le routeur 192.168.39.1 mais pour toi c'est comme internet ou reseau exterieur. Il n'y a sur le fond aucune difference par rapport a mon tuto partage (voir le 1er lien ci-dessus dans mon 1er message). Il y a une passerelle de trop (le 169.254....) mais ce n'est pas grave. C'est une m**** dans les scripts de Redhat (aussi present dans le Fedora), je me demande pourquoi ils ont mis ca. (Regarde dans le script: /sbin/ifup si veux comprendre d'ou ca vient.)

Peu importe, comme je l'ai deja suppose dans mon 1er poste, il te manque encore a activer le NAT qui va effectuer la traduction entre les adresses: 192.168.0.x vers le reseau exterieur. Pour ca tu n'as qu'a faire comme dans le point 4) de mon tuto et executer le script "rc.firewall-2.4" (apres quelques petites adaptations de ta part notamment pour eth0, eth1). Apres ca va etre bon pour les pcs windows qui veront l'internet et qui seront aussi protege par par le pc redhat comme firewall.
0

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

Posez votre question
kmf31 Messages postés 1564 Date d'inscription mercredi 30 mars 2005 Statut Contributeur Dernière intervention 22 juin 2007 501
11 avril 2005 à 21:51

>/etc/init.d/iptables stop
>iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
>echo "1" > /proc/sys/net/ipv4/ip_forward

et apres

>/etc/init.d/iptables save
>/etc/init.d/iptables start



Je n'ai pas fait attention a ca. En fait, c'est en principe l'activation du NAT, le partage, mais a mon avis d'une mauvaise facon. Il vaut mieux utiliser le script qui fait les choses proprement. En plus de la ligne iptables avec masquerade il faut aussi definir les regles de filtrage pour la chaine FORWARD. Si ce n'est pas bien fait ca peut poser de problemes pour le partage. Le script remet lui meme les regles iptables et apres l'execution du celui-ci il ne faut plus toucher a ca avec le script /etc/init.d/iptables (ni start ni stop). Le truc iptables n'est pas un service qui tourne mais de reglages qu'on met dans les tableau de filtrage dans le noyau. De gerer ca comme un service qu'on arrete ou demarre ne me parrait pas tres logiques bien qu'en Redhat et aussi Mandrake ils font ca. Ca participe a embrouiller le fonctionnement de ca pour les gens qui ne connaissent pas bien.

Si tu n'arrives pas a pinger les pcs Windows il peut y avoir deux raisons:

1) Tes regles iptables avant ont bloque ca (tu as active un firewall sur linux ?). Si tu fais avec le script que je propose ca remet tout a zero et ca marchera.

2) Si tu as de firewalls sur les pcs Windows ca peut aussi bloquer les pings du pc linux. Il faut enlever les firewalls Windows si tu en as ou au moins ouvrir pour ton sous-reseau 192.168.0.x. Pour la direction entrant ces pcs seront deja protege par le pc Linux comme firewall.
0
je ne comprend pas pk la NAT à un role ici !!!
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
11 avril 2005 à 22:27
Tu as une ip publique qui t'est prêtée par ton fournisseur d'accés.
Et tu as une autre tranche d'ip dans ton réseau local.

Si une machine de ton réseau local (autre que ta passerelle) envoie un paquet sur internet, il se perdra dans les méandres des réseaux puisqu'elle l'enverra avec son ip de réseau local qui n'est pas une ip publique, donc aucun ordinateur ne pourra lui répondre.

Donc, il faut que ça fonctionne comme ça: ton ordinateur de ton réseau local envoie un paquet vers internet, ta passerelle se charge de jouer le rôle de relais, mais plus encore : il faut qu'elle modifie, dans le paquet, l'adresse source de ta machine locale pour la remplacer avec ton ip publique (celle que possède ta passerelle avec son interface internet) afin de pouvoir assurer que les connexions retourneront vers ta passerelle (qui se chargera d'ailleurs de retransmettre les réponses en provenance d'internbet vers les machines concernées dans ton réseau....

Il faut donc faire du nat source, modifier les adresses sources sur ta passerelle... Ici c'est le principe du "masquerade" => masquer ton réseau local en faisant en sorte que tout paquet sortant de ton réseau local possède la même adrese ip source, ton ip publique....
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
11 avril 2005 à 23:16
D'ailleurs je ne sais même pas si une machine de ton réseau local autre que ta passerelle puisse envoyer un paquet sur internet si elle n'est pas "masqueradée", mon exemple du paquet qui se perd dans les méandres des réseaux car l'ip source n'est pas son ip publique était imaginaire, je ne sais pas comment ça se passe en réalité mais c'est comme ça que je m'imagine la situation....

En tout cas, voici une brève explication de netfliter:
http://www.netfilter.org/documentation/HOWTO/fr/NAT-HOWTO-4.html#ss4.1
0
Cool ca marché !!! Merci bcp
en fait j'ai une dernier question :
si je place un serveur derière ce firewall, est ce qu il sera visible par ftp et web à partir de l'exterieur ? j'aimerai que je pourrai accedé depuis l'exterieur
0
kmf31 Messages postés 1564 Date d'inscription mercredi 30 mars 2005 Statut Contributeur Dernière intervention 22 juin 2007 501
12 avril 2005 à 17:23
Je crois c'est possible mais assez ou tres complique. Il faut faire les bonnes choses avec iptables pour rediriger les ports. Moi je ne le sais pas faire ad hoc.
Dans tous les cas pour un port donne il n'y a qu'une machine qui peut faire serveur.
0
j'aimerai aussi faire tourner sous le serveur ( derier ma machine ) samba, est ce que c'est possible de le faire meme si la 1er machine c'est elle qui fait la passerelle?
0
kmf31 Messages postés 1564 Date d'inscription mercredi 30 mars 2005 Statut Contributeur Dernière intervention 22 juin 2007 501
12 avril 2005 à 17:29
Si le samba tourne sur la passerelle c'est visible partout: reseau local et externe (en principe, si tu ne mets pas de regles firewall qui bloquent ca).

Si le samba tourne sur une machine dans le sous-reseau c'est visible dans le sous-reseau. Par defaut ce n'est pas visible depuis l'exterieur. Pour que ce soit visible depuis l'exterieur il faut rediriger de ports sur la passerelle et la c'est complique. Par defaut les machines derrieres la passerelle sont invisibles. Tu devrais te plonger dans le NAT-Howto etc. et la doc pour iptables. Ici tu trouveras pleins de docs:
http://www.netfilter.org/
0
mounirouche Messages postés 1 Date d'inscription mercredi 14 novembre 2007 Statut Membre Dernière intervention 2 décembre 2007
2 déc. 2007 à 09:49
bonjour, vue que l'adresse eth1 de ta passerelle est 192.168.39.1 donc non visible de l'exterieur, automatiquement jamais tu poura creer des serveur dans ton reseau local, alors pour pouvoir configurer un serveur (ftp, web, ..) dans ton réseau local; il faut avoir l'accée a la premiere passerelle (celle qui existe deja) qui a vraiment une adresse IP reel, qui peut etre vue par tout le monde, et sur cette passerelle , au lieu de definir la table NAT tu defini ce qu'on appel PRE-ROUTING.
bonne chance
-1