Bonjour à tous,
Ce message fait suite à http://linuxfr.org/forums/12/15840.html
Je rappelle mon contexte :
- une freebox en routeur (offrant du DHCP) avec carte wifi, mais elle est loin dans mon salon
- un PC avec deux interfaces (une wifi et une ethernet), mais loin de la freebox, dans le bureau
- un autre PC (portable ou PC en cours de bricolage pour des amis) avec une seule interface éthernet, mais loin de la freebox, dans le bureau
Je souhaiterai faire fonctionner tout ce petit monde depuis mon bureau.J'imagine donc que la conf est la suivante :
internet---freebox(dhcpd|wifi)---(wifi|dhcp)PC(ethernet|???)---(???)PC
Ayant shorewall sur mon PC intermédiaire, j'ai essayé le masquerading. Mais sans succès. J'imagine que le PB vient du fait que le double masquerading ne fonctionne pas (un masquerading par le PC intermédiaire pour aller sur le réseau de la freebox puis un autre par la freebox pour aller sur le web).
En fait, je voudrais que le PC avec les deux interfaces soit plutôt transparent pour l'autre PC. Ainsi, ce serait bien que le second PC fasse partie du réseau de la freebox, un peu comme s'il était directement relié à la freebox. Et ce, sans trop transformer mon PC intermédiaire avec tout un tas de services relais.
Dans mon idée, il suffirait que je mette sur la seconde interface du PC intermédiaire une IP statique (genre 192.168.1.1). Mais je sais pas comment dire à ce PC intermédiaire de laisser passer les flux d'une interface vers l'autre dans les cas où les paquets IP ne sont pas pour lui. Entre autre, il faudrait donc que mon PC intermédiaire laisse passer le dialogue DHCP.
Depuis un premier post, j'ai un peu cherché, mais je me suis perdu. Je suis perdu entre les notions suivantes :
- ip_forward suffisant ?
- routeur (est-ce que ce que je veux faire c'est juste du routage ?)
- pont (est-ce que ce que je veux faire c'est configurer un pont/bridge ?)
En fait, je me demande si ce que je veux faire est très compliqué (voire contre nature de l'éthernet) ou au contraire ultra simple.
Merci d'avance de toute aide me réorientant sur la solution la plus simple.
# routeur ou pont?
Posté par jimee (site web personnel) . Évalué à 2.
Si tu veux faire du routage, c'est très simple. ip_forward est là pour ça. Par contre, je pense que tu es obligé de faire du double masquerading (si si, ça marche!). Ca m'étonnerait beaucoup que la freebox veuille bien masquer les IP du 2eme réseau. Même souci pour le dhcp, le dhcpd de la freebox n'attribuera pas d'IP pour le 2eme réseau. Il te faut du statique, ou un autre dhcpd sur le PC du milieu.
Si tu veux que tes 3 machines soient dans le même réseau IP, alors tu dois faire un pont. La machine du milieu n'a alors qu'une seule interface réseau, qui regroupe plusieurs interfaces physiques. Si tu es en noyau 2.6, tu n'auras pas besoin de patcher ;) . Voilà un petit howto pour debian: http://people.via.ecp.fr/~alexis/formation-linux/bridge.html
Visiblement, il y a d'autres howto plus détaillés pour jouer avec la commande brctl.
Bon courage!
# Ca devrait fonctionner
Posté par dguihal . Évalué à 2.
Il te faut définir pour ton réseau ethernet, une nouvelle plage d'adresses différente de la première. Pour faire simple attribue les IP de manière statique sur ce réseau.
Pour le PC WiFi/Ethernet il faut que tu définisse les règles NetFilter pour lui dire de rerouter avec du NAT ce qui vient de l'interface ethernet vers le WiFi. Pour ca inspire toi de ceci :
http://www.shorewall.net/two-interface_fr.html
Pour le PC Ethernet Only, il faut que tu lui donne en tant que passerelle pas défaut l'adresse IP Ethernet de l'autre PC (celui qui fait le routage
La deuxieme solution c'est d'acheter une cle USB WiFi pour ton 2°PC, ca tourne aux environs de 20¤ maintenant, et ca permet d'avoir tes deux PC connectés a internet indépendamment
# un tutoriel qui marche chez moi
Posté par dbontemps . Évalué à 1.
http://christian.caleca.free.fr/masquerade.html
http://christian.caleca.free.fr/dns.html
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.