Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Proxy squid transparent + pfsense

    Scheduled Pinned Locked Moved Français
    10 Posts 2 Posters 7.4k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • N Offline
      n3j1
      last edited by

      Bonjour,

      Je suis entrain de tester pfsense, et j'aurai aimé créer un proxy transparent à part (sur une autre machine que pfsense, car il n'est pas conseiller d'utiliser SQUID sur pfsense si il y a beaucoup de postes clients).

      voila mon architecture de test:

      FREEBOX  (GW 192.168.1.254)
            |
            | WAN IP 192.168.1.1
      PFSENSE
            | LAN IP 10.0.0.200
            |
        –--------------------
        |                        |
      PC1              Proxy Squid
      10.0.0.1        10.0.0.100

      Comment je peux faire pour que toutes les trames du PC1 passant par le port 80 soient rediriger sur le proxy Squid, ensuite le proxy squid demande la page internet et la renvoi au PC1?

      J'ai fait une regle (NAT:IP Forward) pour rediriger toutes les trames du PC1 passant par le port 80 sur le proxy Squid via le port 3128, mais le probleme c'est que le proxy squid repond directement au PC1 (vu par wireshark) au lieu de demander la page internet puis la renvoyer au PC1.

      Je ne vois pas comment je peux faire pour utiliser le proxy Squid en transparent ? si qq1 peut m'aider ? je ne sais pas si j'ai été clair ^^

      --
      N3j1

      1 Reply Last reply Reply Quote 0
      • C Offline
        ccnet
        last edited by

        Le placement de Squid en dmz est hautement préférable en terme de sécurité. Au passage cela réglerai votre problème facilement.

        Le comportement de la machine Squid est parfaitement normal pour le retour des paquets puisque la source et la destination sont sur le même sous réseau il n'y a pas de raison d'employer la passerelle par défaut.

        1 Reply Last reply Reply Quote 0
        • N Offline
          n3j1
          last edited by

          OK merci de ta réponse … je vais donc me renseigner plus comment faire une DMZ, et comment y placer mon proxy squid de maniere sécurisé.

          --
          N3j1

          1 Reply Last reply Reply Quote 0
          • C Offline
            ccnet
            last edited by

            Il suffit d'ajouter une carte réseau à la machine Pfsense, ensuite on ajoute les règles voulues (filtrage, et, ou nat).

            1 Reply Last reply Reply Quote 0
            • N Offline
              n3j1
              last edited by

              re,

              Voila j'ai rajouté une carte réseau sur mon pfsense. j'ai ajouter l'interface DMZ en 192.168.2.1 et j'ai placer mon proxy squid en 192.168.2.2

              Dans un premier temps j'ai autorisé l'accés du LAN vers la DMZ et j'ai interdi l'inverse (de la DMZ vers le LAN).

              Maintenant je vois pas bien comment faire pour que toutes les trames du PC1 via le port 80, passe par le proxy de la DMZ? et puisse revenir sur le PC1?

              1 Reply Last reply Reply Quote 0
              • C Offline
                ccnet
                last edited by

                Maintenant je vois pas bien comment faire pour que toutes les trames du PC1 via le port 80, passe par le proxy de la DMZ? et puisse revenir sur le PC1?

                En lisant la documentation sur le site squid-cahe.org !

                1 Reply Last reply Reply Quote 0
                • N Offline
                  n3j1
                  last edited by

                  Dsl de vous embêter encore un peu … je suis donc allé me renseigner comment faire un proxy transparent et qu'elles règles du firewall fallé mettre en place.

                  Cependant je n'y arrive toujours pas.

                  Pour l'instant je configure mon navigateur en mettant l'adresse proxy 192.168.2.2 : 3128.

                  Puis j'ai les règles de firewall suivante :

                  pour le LAN:
                  Proto    Source      Port            Destination          Port        Gateway    Schedule    Description
                  ----------------------------------------------------------------------------------------------   
                  PASS    LAN net        *              192.168.2.2          3128            *              *              *
                          (10.0.0.0/24)              (IP Proxy dans la DMZ)

                  pour la DMZ:
                  Proto  Source          Port  Destination  Port            Gateway    Schedule    Description
                  ----------------------------------------------------------------------------------------------   
                  UDP  DMZ net        *     DNS_IP      53 (DNS)  *        *          Autoriser UDP 53 (DNS) 
                  TCP  192.168.2.2  *      *      80 (HTTP)  *        *          Autoriser TCP 80 (HTTP) 
                  TCP  192.168.2.2  *      *      443 (HTTPS)  *        *          Autoriser TCP 443 (HTTPS) 
                  TCP  192.168.2.2  3128  LAN net      *          *        *          Autoriser DMZ To LAN via 3128

                  Pour WAN:
                  Rien changer

                  Pour le NAT:
                  rien changer -> NAT outbound auto

                  J'ai donc bien internet dans mon LAN via le proxy, mais je me demande si c'est règles sont bien sécure?

                  De plus j'aimerai donc ne pas avoir à configurer mon navigateur pour passer par le proxy, il faut donc que je fasse une regles du style:
                  iptables -t nat -A PREROUTING -s 10.0.0.0/255.255.255.0
                                      -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.2.2:3128

                  Mais je ne comprend pas bien comment faire cette règles dans PFsense, est ce que vous pouvez m'aider?

                  1 Reply Last reply Reply Quote 0
                  • C Offline
                    ccnet
                    last edited by

                    Rapidement, j'ai peu de temps.
                    Sur DMZ :

                    TCP      192.168.2.2  3128  LAN net      *              *              *          Autoriser DMZ To LAN via 3128

                    Cette règle ne sert à rien. Pfsense est stateful. l'état des connexions en cours est suivi. Un paquet retour est toujours autorisé.

                    De plus j'aimerai donc ne pas avoir à configurer mon navigateur pour passer par le proxy, il faut donc que je fasse une regles du style:
                    iptables -t nat -A PREROUTING -s 10.0.0.0/255.255.255.0
                                        -p tcp -m tcp –dport 80 -j DNAT --to-destination 192.168.2.2:3128

                    Iptable c'est Linux. Pfsense c'est BSD donc pf.

                    Pouvez vous poster la règle de NAT active actuellement ?

                    1 Reply Last reply Reply Quote 0
                    • N Offline
                      n3j1
                      last edited by

                      d'abord merci de prendre un peu de temps pour moi.

                      Donc premierement, j'ai essayé de supprimer la regle de filtrage sur la DMZ, mais cela ne marche plus.
                      Je regarde avec wireshark et la trame de 192.168.2.2 vers 10.0.0.1 n'est pas afficher, elle est donc surement bloqué.
                      Si je rétabli la regle, la trame 192.168.2.2 vers 10.0.0.1 est visible et j'ai accés à internet.

                      Je ne sais pas pourquoi les paquets retour sont pas autorisés si je ne met pas la regle sur la DMZ ? une idée ?

                      Au niveau du NAT, je n'ai mis aucune regles dans port forward et 1.1, et j'ai laissé en "Automatic outbound NAT rule generation (IPsec passthrough)" dans outbound.

                      1 Reply Last reply Reply Quote 0
                      • N Offline
                        n3j1
                        last edited by

                        Re,

                        Alors voila ma dernière config:

                        Pour la DMZ
                        Proto  Source          Port  Destination  Port            Gateway    Schedule    Description
                        –-------------------------------------------------------------------------------------------- 
                        UDP      DMZ net        *        DNS_IP      53 (DNS)      *              *          Autoriser UDP 53 (DNS)
                        TCP      192.168.2.2  *          *          80 (HTTP)      *              *          Autoriser TCP 80 (HTTP)
                        TCP      192.168.2.2  *          *          443 (HTTPS)  *              *          Autoriser TCP 443 (HTTPS)

                        (ccnet avait raison la regle suivante était inutile :
                        TCP      192.168.2.2  3128  LAN net      *              *              *          Autoriser DMZ To LAN via 3128 )

                        pour le LAN:
                        Proto    Source      Port            Destination          Port        Gateway    Schedule    Description
                        –-------------------------------------------------------------------------------------------- 
                        UDP      DMZ net        *        DNS_IP      53 (DNS)      *              *          Autoriser UDP 53 (DNS)
                        PASS    LAN net        *              192.168.2.2          3128            *              *              *
                                (10.0.0.0/24)              (IP Proxy dans la DMZ)

                        Pour WAN:
                        Rien changer

                        Pour NAT:
                        port forward :
                        If  Proto   Ext. port range  NAT IP  Int. port range  Description 
                        –--------------------------------------------------------------------------------------------
                        LAN TCP     80 (HTTP)     192.168.2.2 3128          NAT LAN (80) To Proxy (3128) 
                                                                      (ext.: any)

                        1.1 :
                        rien changer

                        outbound :
                        Automatic outbound NAT rule generation (IPsec passthrough)

                        Voila avec cette config j'arrive bien à accéder au net via mon proxy transparent, si ca peut aider d'autres personnes ^^
                        Bon pour l'instant je ne peux pas accéder a des pages https, mais je travail pour résoudre ce problème, d'ailleurs si vous avez une idée ca m'intéresse ?

                        Si jamais vous avez le temps ccnet et les autres est ce que vous pourriez me dire si vous voyez des failles de sécurités ou si vous auriez fait autrement ? au niveau de certaines regles ?

                        Merci en tout cas pour le coup de main…

                        --
                        N3j1

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post
                        Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.