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

    PfSense: Squid + DansGuardian + Captive portal

    Scheduled Pinned Locked Moved Italiano
    15 Posts 3 Posters 8.5k 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.
    • D
      demo
      last edited by

      Ho un bel grattacapo da risolvere… e poca esperienza con PfSense.

      SITUAZIONE ATTUALE

      • 1 Server Ubuntu con funzioni di Dhcp, Proxy Squid e Dansguardian
      • 3 tipologie di client (o di accesso ad internet):
      1. CLIENT_LAB
        Proxy: IP server + porta 8080 per filtraggio contenuti con DansGuardian
        IP dei client assegnati dal dhcp, senza richiesta autenticazione

      2. CLIENT_CLASSE
        Proxy: IP server + porta 3128 per autenticazione Squid
        IP dei client statici

      3. WIFI client
        4 Access point che assegnano ip da dhcp del server + filtri mac address

      SITUAZIONE DESIDERATA

      • 1 Server Ubuntu con funzioni di Dhcp
      • 1 Firewall Pfsense (eth1 lan, eth2 wan) con Proxy Squid, Dansguardian e Captive Portal
      • 2 tipologie di client (o di accesso ad internet):
      1. CLIENT_LAB
        Proxy: IP del server, ma traffico rediretto verso lan firewall, che funge così da Dansguardian per il filtro dei contenuti
        IP dei client assegnati da dhcp, senza richiesta autenticazione

      2. CLIENT_CLASSE e WIFI client
        Proxy: IP del server ma traffico rediretto verso lan firewall, che funge così da "autenticatore"
        IP CLIENT_CLASSE statici, IP WIFI client assegnati da dhcp, per

      Ho però alcuni dubbi in merito:
      a) per non far richiedere autenticazione e, allo stesso tempo, filtrare il contenuto della navigazione, gli IP dei CLIENT_LAB vanno aggiunti in PfSense\Services\Proxy server\ACLs sotto "Unrestricted IPs"?
      b) vorrei evitare di aggiungere filtri mac sui 4 access point ma per far questo mi occorre un Captive Portal, che non permette autenticazione con squid, ma solo nessuna, locale (di PfSense) o Radius.
      E' possibile che i CLIENT_CLASSE e i WIFI client prendano ip dal dhcp server ma vengano autenticati da Captive Portal? Per far questo intuisco che vada aggiunto il Radius server e anche configurato Squid con tale autenticazione su PfSense. Non mi è chiaro però che tipo di configurazione occorra e se ciò non influisce su DansGuardian ovvero sulla navigazione filtrata dei CLIENT_LAB.

      Avete qualche idea? Grazie in anticipo per l'attenzione.

      1 Reply Last reply Reply Quote 0
      • fabio.viganoF
        fabio.vigano
        last edited by

        Ciao,
        ho una configurazione simile in una scuola quindi si può fare e ci sono diversi modi per farla.
        Prima cosa mi chiedo perchè vuoi usare l'IP del server come proxy, non è più semplice far in modo che ogni client parli direttamente con il firewall?
        Seconda cosa utilizzerei 4 VLAN differenti (o se preferisci/puoi attiva 4 interfacce LAN: SERVER, WIFI, LAB e CLASSE)
        Se non hai necessità particolari il dhcp lo farei fare direttamente a pfSense così hai 4 sottoreti ognuna con il suo dhcp ammesso che serva.
        La configurazione che vuoi fare richiede un po'di attenzione e molta pianificazione.
        Ciao

        ===============================
        pfSenseItaly.com
        La risorsa italiana per pfSense

        Se il post o la risposta ti sono stati utili clicca su 👍

        1 Reply Last reply Reply Quote 0
        • D
          demo
          last edited by

          Ciao,
          non potrei, credo, perché il firewall ha due sole eth: wan con ip pubblico per il web e lan con ip privato che dialoga tramite switch con il server su altra sottorete rispetto alla lan dei computer.
          L'ideale sarebbe appunto avere più eth su fw, ma non posso montarne per mancanza di spazio e soldi…  
          Ho necessità che il dhcp lo faccia il server perché si tratta di un LTSP Ubuntu. Inoltre gli access point devo montarli per forza su 4 switch diversi, per coprire l'intero edificio.
          Mi sembra che l'unica soluzione sia avere 2 dhcp server che potrebbero convivere solo con mappature statiche degli ip/mac in base alla tipologia client (dhcp server ltsp per i client con pxe da rete, dhcp di pfsense per il resto), ma solo in teoria. Ci sarebbe però un bel traffico di rete...
          Temo di dover rinunciare, all'idea che faccia tutto Pfsense.

          Grazie mille

          1 Reply Last reply Reply Quote 0
          • fabio.viganoF
            fabio.vigano
            last edited by

            Non puoi fare neanche vlan?
            Per prima cosa io abbandonerei il captiveportal e metterei l'autenticazione su squid così elimini un primo pezzo.
            Per l'autenticazione crercherei se possibile di avere un server radius.
            Ciao

            ===============================
            pfSenseItaly.com
            La risorsa italiana per pfSense

            Se il post o la risposta ti sono stati utili clicca su 👍

            1 Reply Last reply Reply Quote 0
            • D
              demo
              last edited by

              Purtroppo non ho molta dimestichezza con le vlan, devo anche verificare che gli switch (di diverse marche e modelli) le supportino.
              Mi sembra che abbandonare il captive portale nella mia situazione sia inevitabile. Peccato per il wifi.
              Squid supporta autenticazione none (nel senso di nessuna ovvero transparent proxy, vero?), local (non mi è chiaro se intenda la propria o quella nativa di pfsense), LDAP e NTDomain (che non userò) e Radius.
              Ma Radius si integra bene con Dansguardian ovvero si interfaccia indipendentemente dal tipo di autenticazione? Lo chiedo perché nella mia rete ho necessità di avere client che non richiedano autenticazione ma siano filtrati da dansguardian (ltsp fatclient con ip dinamico, per gli alunni) e client che richiedano autenticazione ma non siano filtrati (installazioni locali con ip statico, per gli insegnanti), tutti nella stessa sottorete 192.168.1.x.
              Mal che vada potrei tenere la sola autenticazione squid, come ora, ma devo sperimentare in ambiente di test se replica il tutto.
              Provo in questi giorni.
              Grazie per le infos.

              1 Reply Last reply Reply Quote 0
              • D
                demo
                last edited by

                Ho escluso il captive portal, ma anche Radius perché nella mia situazione dovrebbe bastarmi l'autenticazione squid (local).
                I client prendono ip dal dhcp della eth1 del server che però risiede su altra sottorete rispetto al firewall pfsense:
                Server Ubuntu
                Eth1 192.168.100.1 (dhcp per i client), Eth2 192.168.1.1 (per dialogare con fw pfsense)
                Firewall Pfsense
                Eth1 lan 192.168.1.253 (per dialogare con il server), Eth2 wan x.x.x.x (ip pubblico)

                Per far navigare i client sia senza (porta 8080 filtrata da dansguardian) che con autenticazione squid (porta 3128), come devo fare secondo voi se i client prendono ip della rete 192.168.100.x e non della rete 192.168.1.x del firewall?
                La cosa mi sta facendo, per ora, sclerare…  :-\

                1 Reply Last reply Reply Quote 0
                • fabio.viganoF
                  fabio.vigano
                  last edited by

                  Ciao,
                  il modo più banale è cambiare la subnet in 255.255.0.0 così hai tutta la classe 192.168.0.1 - 192.168.254.254
                  Ciao

                  ===============================
                  pfSenseItaly.com
                  La risorsa italiana per pfSense

                  Se il post o la risposta ti sono stati utili clicca su 👍

                  1 Reply Last reply Reply Quote 0
                  • G
                    Gabri.91
                    last edited by

                    Scusa ma c'è un motivo per cui non fai fare da DHCP server a pfSense? A differenza di altri firewall la sezione DHCP server è anche implementata in modo abbastanza completo..

                    1 Reply Last reply Reply Quote 0
                    • D
                      demo
                      last edited by

                      @fabio.vigano:

                      Ciao,
                      il modo più banale è cambiare la subnet in 255.255.0.0 così hai tutta la classe 192.168.0.1 - 192.168.254.254
                      Ciao

                      provo così, grazie.

                      Mi viene però un dubbio su tale configurazione: se così si "vedono" le due sottoreti fra loro, cosa comporterebbe invece mettere le due eth del server sulla stessa classe? es. eth0 192.168.0.1 e eth1 192.168.0.2. Non è un po' la stessa cosa?

                      1 Reply Last reply Reply Quote 0
                      • D
                        demo
                        last edited by

                        @Gabri.91:

                        Scusa ma c'è un motivo per cui non fai fare da DHCP server a pfSense? A differenza di altri firewall la sezione DHCP server è anche implementata in modo abbastanza completo..

                        ciao,
                        perché il server è un ltsp è deve assegnare ip dinamici per far partire i client in modalità fat o thin.

                        1 Reply Last reply Reply Quote 0
                        • G
                          Gabri.91
                          last edited by

                          Si può fare su DHCP Windows:
                          https://help.ubuntu.com/community/UbuntuLTSP/LTSPWindowsDHCP

                          Quindi credo funzioni anche su DHCP BSD..

                          1 Reply Last reply Reply Quote 0
                          • D
                            demo
                            last edited by

                            @demo:

                            @fabio.vigano:

                            Ciao,
                            il modo più banale è cambiare la subnet in 255.255.0.0 così hai tutta la classe 192.168.0.1 - 192.168.254.254
                            Ciao

                            provo così, grazie.

                            Mi viene però un dubbio su tale configurazione: se così si "vedono" le due sottoreti fra loro, cosa comporterebbe invece mettere le due eth del server sulla stessa classe? es. eth0 192.168.0.1 e eth1 192.168.0.2. Non è un po' la stessa cosa?

                            1 Reply Last reply Reply Quote 0
                            • D
                              demo
                              last edited by

                              @Gabri.91:

                              Si può fare su DHCP Windows:
                              https://help.ubuntu.com/community/UbuntuLTSP/LTSPWindowsDHCP

                              Quindi credo funzioni anche su DHCP BSD..

                              Credo mi incasinerebbe l'avvio dei fatclient per i servizi nbd e tftp.

                              1 Reply Last reply Reply Quote 0
                              • D
                                demo
                                last edited by

                                Escludendo a priori il captive portal, ho impostato il bond del server sulla stessa subnet della lan di pfsense.
                                Adesso quindi la subnet è solo una e i client dialogano direttamente con il fw pfsense come proxy.
                                Il boot dei fatclient avviene sempre da server ltsp. Ho risolto così anche se non trovo un modo per far autenticare i client wifi che hanno impostazione automatica del proxy. Ma apro un thread a parte per questo.

                                1 Reply Last reply Reply Quote 0
                                • D
                                  demo
                                  last edited by

                                  @demo:

                                  Escludendo a priori il captive portal, ho impostato il bond del server sulla stessa subnet della lan di pfsense.
                                  Adesso quindi la subnet è solo una e i client dialogano direttamente con il fw pfsense come proxy.
                                  Il boot dei fatclient avviene sempre da server ltsp. Ho risolto così anche se non trovo un modo per far autenticare i client wifi che hanno impostazione automatica del proxy. Ma apro un thread a parte per questo.

                                  No, non riesco in alcun modo a far autenticare gli utenti che nel browser hanno impostazione automatica del proxy. In pratica navigano liberamente e senza autenticazione come se squid fosse in transparent mode (e non lo è) e non viene tenuta traccia del traffico nei log.
                                  Un bel buco sulla sicurezza.
                                  Già provato con PAC/WPAD ma senza risultato.
                                  A qualcuno è già successo?

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