Passerelle sous Linux ( ou double passerelle
rauchy
-
mounirouche Messages postés 1 Statut Membre -
mounirouche Messages postés 1 Statut Membre -
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
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:
- Passerelle sous Linux ( ou double passerelle
- Double ecran - Guide
- Whatsapp double sim - Guide
- Double driver - Télécharger - Pilotes & Matériel
- Double appel - Guide
- Linux reader - Télécharger - Stockage
11 réponses
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).
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).
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.
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.
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.
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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question>/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.
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....
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....
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
En tout cas, voici une brève explication de netfliter:
http://www.netfilter.org/documentation/HOWTO/fr/NAT-HOWTO-4.html#ss4.1
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
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
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?
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/
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/
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
bonne chance
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.