Passerelle avec 2 cartes reseaux sous debian

guillaumech

Expert
Bonjour à tous,

Voilà, je souhaite faire une passerelle avec 2 cartes reseau, le problème est que je n'y parviens pas. A l'install de debian, les deux cartes sont reconnues, j'en choisi par defaut, lors d'un lspci, j'obtient 2 lignes identiques :
[cpp]
Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C (rev 10)
Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C (rev 10)[/cpp]
Alors que d'aspect ce ne sont pas les mêmes cartes .. enfin bon, passons,
Donc je n'arrive pas a parametrer mes cartes, est-ce a cause des non ? J'ai entendu parler d'alias ... mais du coup je met quoi ?
[cpp]
alias eth0 ???
alias eth1 ???
[/cpp]

Mon /etc/network/interfaces est modifier correctement, mais il ne trouve pas eth1 (ma 2eme carte)

Avec un lshw, il me trouve bien mes deux cartes pourtant.

Merci d'avance pour les idées que vous aurez.

Guillaume
 

batchy

Grand Maître
[fixed]pour savoir comment debian nomme tes cartes
$ cat /etc/udev/rules.d/70-persistent-net.rules

un
$ /sbin/ifconfig -a
ça fait jamais de mal

t'a aussi pensé à un
# update-pciids
pour ton problème de lspci ?[/fixed]

T'a pas besoin d'alias si tu utilise les règles udev par défaut de debian.
 

guillaumech

Expert
Ma carte est bien reconnu, mais ce n'est pas pour ça que tout fonctionne. Lorsque j'enlève le cable, il me la reconnait, lorsque je fais un ping dessus, il ne fonctionne pas, ping sortant idem. Mon fichier "interfaces" est bien formé pourtant, avec des auto eth0 (192.168.0.110) et eth1 (192.168.0.100). Mais j'ai vraiment l'impression que les cartes sont identiques ...

[cpp]$ cat /etc/udev/rules.d/70-persistent-net.rules[/cpp]
Il me sort 2 lignes, une pour chaque eth, avec des adresse différentes bien sûr, et entre parenthèse (8139) pour toutes les deux, je pense que c'est leur joli nom.

C'est assez prise de tête :(
En tout cas merci pour ce début de réponse Batchy
 

zeb

Modérateur
Je ne dit pas que c'est ça le problème, mais je cherche encore l'intérêt d'avoir deux cartes d'une même machine sur le même sous-réseau.
 

guillaumech

Expert
Voici mon fichier interfaces :
[cpp]
auto eth0
iface eth0 inet static
address 192.168.1.100
network 192.168.0.0
netmask 255.255.0.0
broadcast 192.168.0.255
gateway 192.168.0.254
auto eth1
iface eth1 inet static
address 192.168.0.10
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.254
[/cpp]

eth1 fonctionne, eth0 aussi, mais mes régles iptables non, je souhaite faire ceci :

freebox ---> (eth0) passerelle (eth1) <--- LAN

J'ai fais ça :
[cpp]iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE[/cpp]

mais mon LAN n'a pas accès au net ...
Si qqun à une idée
 

zeb

Modérateur
Ohlàlà.

les adresses 192.168.x.y sont de classe C !
Donc :
network: 192.168.x.0
netmask: 255.255.255.0
broadcast: 192.168.x.255
(cf. RFC 1918)

Tu as plusieurs gateways !

Comment est ton /proc/sys/net/ipv4/ip_forward ?
D'autres règles à ton firewall ?
 

guillaumech

Expert
Tu ne m'as pas dis d'avoir des sous reseaux différent ?
Ma seul gateway est ma freebox, enfin je pense, selon le schéma plus haut ... :(

[cpp]
auto eth0
iface eth0 inet static
address 192.168.0.100
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.254
auto eth1
iface eth1 inet static
address 192.168.0.10
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.254 // A mettre ???
[/cpp]
Comme ça ?

Merci Zeb
 

guillaumech

Expert
Bin je sais pas bien en faite, un pont serait bien, mais je veux pouvoir intercepter toutes les données pour les traiter derrières.

freebox ---> (eth0) passerelle (avec proxy cache) (eth1) <--- LAN

Je souhaite que les toutes données passe par la passerelle, que mon proxy cache les interceptes, les mettent en cache, et que je puisse filtrer les sorties, interdire des sites, des gens, mettre des plages horaire ... tout ce que c'est faire un proxy en somme.
 

zeb

Modérateur
[fixed]Le réseau de Guich
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
_(¯¯¯¯¯)__ |¯¯¯¯¯¯¯¯¯| |¯¯¯¯¯¯¯¯| |H|---o[Autre1]
( Internet )-----o| FreeBox |o--------o| TuxBox |o---|U|---o[Autre2]
¯¯(_____)¯ |_________| |________| |B|---o[Autre3]
A B C D E,F,G
Réseau mondial Réseau perso 1 Réseau perso 2
[/fixed]

Chaque petit rond est une interface réseau.

A : C'est la prise ADSL de ta FreeBox. Entre 88.160.0.0 et 88.165.149.255. (Je ne vais pas donner ton IP à tout le monde ;))
B : C'est la prise réseau de ta FreeBox. En général 192.168.0.1 ou 192.168.1.1 ; disons 192.168.X.I (I=1 est une bonne idée)
C : C'est la prise réseau eth0 de ta TuxBox. Elle doit impérativement être dans le même réseau que B, c'est à dire 192.168.X.J avec J != I
D : C'est la prise réseau eth1 de ta TuxBox. Elle ne doit pas être dans le même sous-réseau que C. Donc 192.168.Y.K, avec Y != X. (K=1 est une bonne idée)
E,F, G : Ce sont les prises réseaux de tes autres machines. Elle doit impérativement être dans le même réseau que D, c'est à dire 192.168.Y.L avec des L != K

Exemple :

[fixed]Le réseau de Guich
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ 192.168.0.1 192.168.0.2
/ \ (eth0)
_(¯¯¯¯¯)__ |¯¯¯¯¯¯¯¯¯| / \ |¯¯¯¯¯¯¯¯| |H|---o[Autre1]
( Internet )-----o| FreeBox |o--------o| TuxBox |o---|U|---o[Autre2]
¯¯(_____)¯ / |_________| |________| \ |B|---o[Autre3]
/ (eth1) \ |
88.164.12.34 192.168.1.2 192.168.1.1
192.168.1.3
192.168.1.4
[/fixed]

Ta TuxBox est ainsi montée en PASSERELLE (gateway).
La passerelle, pour ta Tuxbox, c'est la FreeBox.
La passerelle, pour tes autres machines, c'est la TuxBox.

___________________________

EDIT: Stro la m3rd3, ce nouveau forum. Guich, ouvre ce message avec les jumelles et copie-colle mes ptits dessins dans VI, tu les verras mieux qu'ici :(
 

guillaumech

Expert
Vraiment beau :) (sous vi bien sûr), si tu savais comment j'appréci tes aides et le tps passé pour.
Mais à la lecture de ce post, le problème a été résolu, avec exactement les mêmes adresses que sur tes schémas (ou presque). Donc j'ai bien compris comment faire.
Il me reste maintenant à mettre Squid sur ma passerelle, et à rediriger toutes les données sortant du lan sur le port de Squid pour qu'il les traitent et les renvoi sur eth0 (ma sortie internet). Sauf que je suis face à un soucis, j'arrive a rediriger les données du port 80 sur le port Squid, mais je souhaite prendre tout les ports, pour qu'aucune données ne passe à travers.


Je ferais un post complet pour tout ré-expliquer correctement quand tout sera fini.

____________________________________________________________

Hors sujet : c'quand qu'on se voit en vrai ? :)
 

zeb

Modérateur
Mais à la lecture de ce post, le problème a été résolu.
:sol:

Pour Squid, je te renvoie aux pages officielles : http://www.squid-cache.org/
FAQ, Howto, Configuration Guide, tout y est.

En français :

http://www.malekal.com/squid.html
_________________

T'es sur Lyon ou Clermont, maintenant ?
Hé, hé, je me proposerais bien de venir te voir le jour de ta remise de diplôme ;)
 

guillaumech

Expert
Comme dis plus haut, je souhaite mettre Squid comme proxy cache, or, je n'y parviens pas, je vous montre ce que j'ai fais :

Iptables pour rediriger sur le port du proxy :
[cpp]
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
[/cpp]

Rajout de ces lignes à la fin du fichier d'origine squid.conf de Squid3 :
[cpp]
http_port 192.168.1.111:3128 transparent

http_access allow all
[/cpp]

Ceci fait, je ne passe pas le proxy :
[cpp]
ERROR
The requested URL could not be retrieved
[/cpp]

Je n'arrive pas trop à comprendre ce qui peut bloquer. Je vous donne mon schéma réseau : (à ouvrir avec les jumelles pour voir le bbcode, et copier coller dans Vi)
[fixed]
Réseau global : 2008
----------------------------------------------------------------------------------------------------------------------------------------------------


192.168.0.100 -------------------o [Serveur 21 & 80] 192.168.1.101
________ _________ | ___________________ |
_( )_ | | | | | o
(_ Internet _)---------o | Freboox | o--------o | Passerelle | o----------------o [Switch] o-------------o [Guich] 192.168.1.1
(________) / |_________| | | [routeur + proxy] | \ o \----o [Virtual XP] 192.168.1.2
/ | |___________________| \ |
/ | \ |
88.164.xx.xxx 192.168.0.254 192.168.1.111 |-------------------o [Clément] 192.168.1.3
|
|-------------------o [Autres]
\
\
192.168.1.4/100
[/fixed]

Merci pour vos réponses futures.


_________________________________________________________________

Pour le diplôme je te tiendrais au courant Zeb ;)
 

zeb

Modérateur
(Evite de donner ton IP fixe en clair ;) )

Donc ça passe quand tu ne rediriges pas vers Squid ?
A part lire pour toi un tuto, je ne sais pas que faire. :(
 

guillaumech

Expert
Rooo mais Zeb, mon ip est accessible de tous, je te laisse la chercher dans tout mes messages. Si si, tous ...
Je vais relir la doc alors, j'ai du zaper qqchose ... snif
 

guillaumech

Expert
Bon et bin je n'ai toujours pas trouvé ma solution. Aprés de trés ample recherches, je n'y parviens pas ... :(

J'ai une machine passerelle qui fait du routage sur 2 cartes reseaux comme le montre le schéma plus haut. Sur cette même machine j'ai mis Squid, et j'ai fais une régle iptable pour rediriger le tout sur son port : [cpp]iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128[/cpp] et dans mon fichier de conf de squid, j'ai mis mon acl de réseau : [cpp]acl LocalNet src 192.168.1.0/24 et http_access allow LocalNet[/cpp]. J'ai fais pas mal de teste, aucun fonctionne, il me retourne toujours une erreur du type : [cpp]While trying to retrieve the URL: /

The following error was encountered:
Invalid URL (...)[/cpp]

Je crois que je vais jamais réussir à l'utiliser ce foutu squid, ralala

Si qqun à une solution ... merci
Guich
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 126
Messages
6 717 811
Membres
1 586 365
Dernier membre
matiOs1
Partager cette page
Haut