p
u
b
l
i
c
i
t
é
publicité
  1. #1
    Invité régulier
    Inscrit en
    juin 2005
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : juin 2005
    Messages : 68
    Points : 8
    Points
    8

    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

  2. #2
    Modérateur
    Avatar de IP_Steph
    Homme Profil pro
    Architecte réseau
    Inscrit en
    février 2012
    Messages
    2 215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    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 : 2 215
    Points : 4 788
    Points
    4 788
    Billets dans le blog
    3

    Par défaut

    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    A statistician is someone who can put their head in a hot oven, and their feet in a bucket of ice, and say, “on the average, I feel fine.”
    Russ White

  3. #3
    Invité régulier
    Inscrit en
    juin 2005
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : juin 2005
    Messages : 68
    Points : 8
    Points
    8

    Par défaut

    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    net.ipv4.ip_forward = 1
    sysctl -p

  4. #4
    Modérateur
    Avatar de IP_Steph
    Homme Profil pro
    Architecte réseau
    Inscrit en
    février 2012
    Messages
    2 215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    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 : 2 215
    Points : 4 788
    Points
    4 788
    Billets dans le blog
    3

    Par défaut

    Peux-tu fournir le résultat des commandes suivantes

    Steph
    A statistician is someone who can put their head in a hot oven, and their feet in a bucket of ice, and say, “on the average, I feel fine.”
    Russ White

  5. #5
    Invité régulier
    Inscrit en
    juin 2005
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : juin 2005
    Messages : 68
    Points : 8
    Points
    8

    Par défaut

    Pas de souci !

    ifconfig -a
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  6. #6
    Modérateur
    Avatar de IP_Steph
    Homme Profil pro
    Architecte réseau
    Inscrit en
    février 2012
    Messages
    2 215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    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 : 2 215
    Points : 4 788
    Points
    4 788
    Billets dans le blog
    3

    Par défaut

    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    A statistician is someone who can put their head in a hot oven, and their feet in a bucket of ice, and say, “on the average, I feel fine.”
    Russ White

  7. #7
    Invité régulier
    Inscrit en
    juin 2005
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : juin 2005
    Messages : 68
    Points : 8
    Points
    8

    Par défaut

    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

  8. #8
    Modérateur
    Avatar de IP_Steph
    Homme Profil pro
    Architecte réseau
    Inscrit en
    février 2012
    Messages
    2 215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    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 : 2 215
    Points : 4 788
    Points
    4 788
    Billets dans le blog
    3

    Par défaut

    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 :

    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     Internet
        ^
        |
        |eth1
    +-------+
    | Squid |eth0 -- réseau local
    +-------+
    Steph
    A statistician is someone who can put their head in a hot oven, and their feet in a bucket of ice, and say, “on the average, I feel fine.”
    Russ White

Discussions similaires

  1. Bonding interface+VLAN sous redhat
    Par fatweb dans le forum Réseau
    Réponses: 5
    Dernier message: 06/02/2014, 13h58
  2. bonding interface réseau
    Par manticore dans le forum Réseau
    Réponses: 3
    Dernier message: 21/10/2013, 09h44
  3. Squid iptable iprule
    Par wako057 dans le forum Réseau
    Réponses: 0
    Dernier message: 08/05/2012, 15h50
  4. analyser logs iptables via interface web
    Par linux_sql dans le forum Sécurité
    Réponses: 2
    Dernier message: 13/07/2011, 16h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo