Précédent   Forum du club des développeurs et IT Pro > Systèmes > Linux > Sécurité
Sécurité Vos questions sur la sécurité sous Linux/Unix
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 01/10/2012, 19h01   #1
tomtom-
Invité régulier
 
Inscription : juin 2005
Messages : 67
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 67
Points : 8
Points : 8
Envoyer un message via MSN à tomtom-
Par défaut Squid + iptables + bonded interface

Bonjour,

Je tente de mettre en place mon premier proxy sous centos 5 avec squid 2.6.

Tout fonctionne correctement en mode normal i.e en configurant le navigateur de chaque client pour taper dans le proxy.

Cependant quand j'essaye de passer en mode transparent ça ne fonctionne plus !

Pour se faire j'ai éditer mon squid.conf avec http_port 3128 transparent puis ajouté une règle à mon firewall avec :

iptables -t nat -A PREROUTING -i bond0 -p tcp --dport 80 -j REDIRECT --to-port 3128

/etc/init.d/iptables save
/etc/init.d/iptables restart
/etc/init.d/squid restart

Mon problème est qu'apparemment je ne navigue plus par l'intermédiaire du proxy !

Peut-etre que la configuration est différente avec une interface réseau bondée ??

Si quelqu'un à une idée elle est la bienvenue !

Merci
tomtom- est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2012, 21h50   #2
IP_Steph
Modérateur
 
Avatar de IP_Steph
 
Homme Steph
Architecte réseau
Inscription : février 2012
Messages : 1 282
Détails du profil
Informations personnelles :
Nom : Homme Steph
Localisation : France

Informations professionnelles :
Activité : Architecte réseau
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : février 2012
Messages : 1 282
Points : 2 716
Points : 2 716
Salut,

je ne pense que ce soit lié au bonding. Je pense qu'il faudrait faire intervenir l'interface qui fournit la connexion vers l'Internet.

Code :
1
2
3
4
5
6
7
 Internet
    ^
    |192.168.1.1/24
    |eth0
+-------+
| Squid |=bond0= réseau local
+-------+
En supposant que l'interface bond0 soit l'interface qui connecte sur le réseau local des utilisateurs, et eth0 celle qui doit forwarder le traffic vers l'Internet (je lui ai mis l'adresse 192.168.1.1/24), voilà le premier essai à tenter :

Code :
1
2
3
4
5
6
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t nat -A PREROUTING -i bond0 -p tcp --dport 80 -j DNAT --to 192.168.1.1:3128
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
Si ça ne marche toujours pas, une option consisterait à casser le bonding et refaire les tests en utilisant une eth1 à la place de bond0, histoire de vérifier que ça n'est pas un problème de bonding.

Tout ceci implique bien sûr que l'IP Forwarding soit activé !

Steph
__________________
"#define QUESTION ((bb) || !(bb))" - Shakespeare
IP_Steph est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2012, 23h56   #3
tomtom-
Invité régulier
 
Inscription : juin 2005
Messages : 67
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 67
Points : 8
Points : 8
Envoyer un message via MSN à tomtom-
Salut Steph,

Merci beaucoup pour ta réponse.
Pour situer rapidement, je n'ai pas vraiment de connaissance en réseau.

Donc j'ai suivi ce que tu m'as dit par contre ça n'est pas moi qui ai configuré le bonding donc j'ai fait avec ce que j'ai compris.

A savoir que mon interface bond0 a un ip, mettons 192.168.1.1/24 et j'ai deux interface physique eth0 et eth1 qui n'ont pas d'adresses.

Donc j'ai procédé comme suit:
Code :
1
2
3
4
5
6
7
8
9
 
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.1.1:3128
iptables -t nat -A PREROUTING -i bond0 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables-save
/etc/init.d/iptables restart
Avec un iptables -nvL j'obtiens:

Code :
1
2
3
4
5
6
7
8
9
10
11
 
Chain INPUT (policy ACCEPT 20 packets, 2610 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     tcp  --  bond0  *       0.0.0.0/0            0.0.0.0/0           tcp dpt:80 
    0     0 ACCEPT     tcp  --  bond0  *       0.0.0.0/0            0.0.0.0/0           tcp dpt:3128 
 
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
 
Chain OUTPUT (policy ACCEPT 11 packets, 1372 bytes)
 pkts bytes target     prot opt in     out     source               destination
Ca ne fonctionne toujours pas. J'ai aussi essayé avec eth1 (sans vraiment être sûr que ça ait un sens ) sans succès.
Tout ça après avoir activé l'IP Forwarding qui ne l'était pas:
Code :
1
2
3
 
net.ipv4.ip_forward = 1
sysctl -p
tomtom- est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/10/2012, 09h19   #4
IP_Steph
Modérateur
 
Avatar de IP_Steph
 
Homme Steph
Architecte réseau
Inscription : février 2012
Messages : 1 282
Détails du profil
Informations personnelles :
Nom : Homme Steph
Localisation : France

Informations professionnelles :
Activité : Architecte réseau
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : février 2012
Messages : 1 282
Points : 2 716
Points : 2 716
Peux-tu fournir le résultat des commandes suivantes

Steph
__________________
"#define QUESTION ((bb) || !(bb))" - Shakespeare
IP_Steph est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/10/2012, 22h13   #5
tomtom-
Invité régulier
 
Inscription : juin 2005
Messages : 67
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 67
Points : 8
Points : 8
Envoyer un message via MSN à tomtom-
Pas de souci !

ifconfig -a
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 
bond0     Link encap:Ethernet  HWaddr 00:15:17:56:40:A8  
          inet addr:146.203.18.49  Bcast:146.203.18.255  Mask:255.255.255.0
          inet6 addr: fe80::215:17ff:fe56:40a8/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:18291 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4835 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:2869191 (2.7 MiB)  TX bytes:746806 (729.3 KiB)
 
eth0      Link encap:Ethernet  HWaddr 00:15:17:56:40:A8  
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:9947 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2421 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1483802 (1.4 MiB)  TX bytes:375840 (367.0 KiB)
          Memory:b8820000-b8840000 
 
eth1      Link encap:Ethernet  HWaddr 00:15:17:56:40:A8  
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:8345 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2418 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1385455 (1.3 MiB)  TX bytes:371758 (363.0 KiB)
          Memory:b8800000-b8820000 
 
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:1928 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1928 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:2465301 (2.3 MiB)  TX bytes:2465301 (2.3 MiB)
 
sit0      Link encap:IPv6-in-IPv4  
          NOARP  MTU:1480  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
route -n

Code :
1
2
3
4
5
6
 
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
146.203.18.0    0.0.0.0         255.255.255.0   U     0      0        0 bond0
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 bond0
0.0.0.0         146.203.18.1    0.0.0.0         UG    0      0        0 bond0
tomtom- est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/10/2012, 22h37   #6
IP_Steph
Modérateur
 
Avatar de IP_Steph
 
Homme Steph
Architecte réseau
Inscription : février 2012
Messages : 1 282
Détails du profil
Informations personnelles :
Nom : Homme Steph
Localisation : France

Informations professionnelles :
Activité : Architecte réseau
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : février 2012
Messages : 1 282
Points : 2 716
Points : 2 716
Une bond interface ne te sera d'aucune utilité, tu n'as que 2 interfaces physiques...

Voici un scenario typique d'utilisation d'aggrégat :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    Internet
        ^
        |
        |eth2
    +-------+
    | Linux |
    +-------+
       | |
   eth0| |eth1
      bond0
       | |
    +-------+
    |Switch |   
    +-------+
eth0 et eth1 sont aggrégées sur une bond0 interface, elle-même en frontal sur un switch. La bond0 est vue comme une seule entité logique du point de vue de la machine Linux.

Dans ton cas, tu ne peux pas associer ainsi tes 2 cartes Ethernet puisque l'une fournit un accès à ton réseau local et l'autre forwarde les paquets vers l'Internet.

Steph
__________________
"#define QUESTION ((bb) || !(bb))" - Shakespeare
IP_Steph est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2012, 21h01   #7
tomtom-
Invité régulier
 
Inscription : juin 2005
Messages : 67
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 67
Points : 8
Points : 8
Envoyer un message via MSN à tomtom-
Salut Steph,

Désolé pour le temps de réponse mais il fallait que je me documente un peu.
Il y a juste un truc qui m'intrigue dans ton explication. Quand tu dis:
"Dans ton cas, tu ne peux pas associer ainsi tes 2 cartes Ethernet puisque l'une fournit un accès à ton réseau local et l'autre forwarde les paquets vers l'Internet." est-ce que tu déduis ça des infos que je t'ai fourni ? Lesquels dans ce cas ?

Merci
tomtom- est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2012, 21h31   #8
IP_Steph
Modérateur
 
Avatar de IP_Steph
 
Homme Steph
Architecte réseau
Inscription : février 2012
Messages : 1 282
Détails du profil
Informations personnelles :
Nom : Homme Steph
Localisation : France

Informations professionnelles :
Activité : Architecte réseau
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : février 2012
Messages : 1 282
Points : 2 716
Points : 2 716
Aurais-je mal compris ?

Reprenons alors

Mais d'une autre manière...

Avant d'en venir au bonding d'interfaces, je reprends ton premier post :

Citation:
Je tente de mettre en place mon premier proxy sous centos 5 avec squid 2.6.

Tout fonctionne correctement en mode normal
Ce "mode normal" s'appuie sur 2 cartes physiques ?

De la façon suivante ?

Code :
1
2
3
4
5
6
7
 Internet
    ^
    |
    |eth1
+-------+
| Squid |eth0 -- réseau local
+-------+
Steph
__________________
"#define QUESTION ((bb) || !(bb))" - Shakespeare
IP_Steph est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 21h23.


 
 
 
 
Partenaires

Hébergement Web