Marco25 Ho provato solo occasionalmente DietPi ma ne ho sentito parlare bene. Io comunque utilizzo Raspberry solo via CLI.

Capito!

Marco25 Sì ma non puoi avere la stessa configurazione in uso nello stesso momento su più dispositivi, quindi fattene inviare un'altra.

Capito!

Marco25 È un comando combinato che abilita il servizio al boot e lo attiva subito.

Capito!

Capito quasi tutto.
Non mi torna il comando che mi hai dato per installare wireguard, guardando sul sito non c'è un comando per dietpi/raspberry pi os o simili e non capisco se l'applicativo da installare è wireguard o wireguard-tools.

guniens Come imposto le regole di routing sulla Raspberry? Al momento svolgerà solo questo compito ma pensavo che in futuro potrei creare un mini server per condividere file nella mia rete e vorrei consentire solo ai dispositivi che usano la Raspberry come gateway di passare per la vpn.

Sapresti aiutarmi anche per questo punto?

  • Marco25 ha risposto a questo messaggio

    guniens Non mi torna il comando che mi hai dato per installare wireguard

    DietPi su Raspberry e Raspberry Pi OS sono entrambi basati su Debian quindi può essere usato APT per installare i pacchetti, DietPi include anche un sistema semplificato con simil GUI https://dietpi.com/docs/software/#dietpi-software-options. Se utilizzi APT, wireguard è un metapacchetto che installa il modulo del kernel e wireguard-tools. Ormai da anni i kernel recenti includono già il modulo del kernel quindi è sufficiente installare wireguard-tools.

    guniens Come imposto le regole di routing sulla Raspberry?

    Devi impostarle sul dispositivo nella rete in modo da utilizzare come default gateway il raspberry pi e non il router.

    guniens potrei creare un mini server per condividere file nella mia rete

    Questa è una richiesta totalmente diversa.

    vorrei consentire solo ai dispositivi che usano la Raspberry come gateway di passare per la vpn

    Sul Raspberry abiliti l'inoltro dei pacchetti (IP forwarding) e imposti il firewall (nftables) per inoltrare solamente i pacchetti da e verso specifici indirizzi nella LAN. Qui sorge il problema che nella LAN è abbastanza semplice assegnarsi un IP particolare e quindi bypassare i vincoli.

    • guniens ha risposto a questo messaggio

      Marco25 Devi impostarle sul dispositivo nella rete in modo da utilizzare come default gateway il raspberry pi e non il router.

      Si questo mi era chiaro ma leggendo le varie guide, c'era da impostare le regole di forwarding in entrata e uscita sulle interfacce eth0 e wg0 con iptables. Mi riferivo a questo, non mi sembra troppo complicato ma ti chiedo aiuto lo stesso 😅

      Marco25

      Questa è una richiesta totalmente diversa.

      Sul Raspberry abiliti l'inoltro dei pacchetti (IP forwarding) e imposti il firewall (nftables) per inoltrare solamente i pacchetti da e verso specifici indirizzi nella LAN. Qui sorge il problema che nella LAN è abbastanza semplice assegnarsi un IP particolare e quindi bypassare i vincoli.

      Mi riferivo proprio a questo, l'idea era di utilizzare la Raspberry inizialmente per la VPN e basta ed eventualmente aggiungere la condivisione dei file nella rete, in questo caso vorrei evitare che il traffico passasse per la VPN.

      • Marco25 ha risposto a questo messaggio

        guniens Ti direi di provarci e chiedere qui in corso d'opera. Per quanto riguarda il firewall, solo per farlo funzionare al più hai bisogno di una regola di NAT e se vuoi consentire solo alcuni client allora aggiungi una regola di filtro, che potrebbe essere la seguente in un firewall nftables:

        #!/usr/bin/nft -f
        
        flush ruleset
        
        table inet filter {
        	chain forward {
        		type filter hook forward priority filter
        		policy drop
        
        		ct state vmap { invalid : drop, established : accept, related : accept }
        
        		ip saddr { 192.168.1.5, 192.168.1.34 } iifname eth0 oifname wg0 accept
        	}
        }

        Dove 192.168.1.5 sono 192.168.1.34 gli IP della LAN da autorizzare (ma tieni a mente quanto sopra circa l'efficacia).

        • guniens ha risposto a questo messaggio

          Marco25 Hai ragione, meglio chiederti aiuto in corso d'opera eventualmente.
          Aspetto che arrivi la Raspberry, installo tutto e provo la VPN poi penserò alle regole di routing e firewall.

          Marco25 Dove 192.168.1.5 sono 192.168.1.34 gli IP della LAN da autorizzare (ma tieni a mente quanto sopra circa l'efficacia).

          Potrebbe aiutare impostare IP statici per i dispositivi che useranno la Raspberry come gateway a livello di router in questo caso?
          La Raspberry non sarebbe comunque esposta ad internet per connessioni esterne alla mia rete.

          rami Ciao! Puoi spiegare meglio?
          Comunque pensavo di usare la Raspberry anche per altro in futuro e credo che installare OpenWrt non lo permetterebbe ma correggimi se sbaglio 🙂

          • rami ha risposto a questo messaggio

            guniens installare OpenWrt non lo permetterebbe ma correggimi se sbaglio 🙂

            Hai ragione, di fatto il raspberry con OpenWrt diventa un router e bsta, quindi non fa al caso tuo. Io in passato l'avevo usato e trovandolo molto comodo, però in effetti toglie la libertà di farci altro.

              rami Grazie lo stesso!

              6 giorni dopo

              Ciao @Marco25
              Ho la Raspberry pronta e configurata (DietPi headless), Wireguard installato.

              Questo è il file di conf estratto dal QR che mi ha girato il mio amico:

              [Interface]
              PrivateKey = ***
              Address = 10.59.244.2/24
              DNS = DNS1, DNS2

              [Peer]
              PublicKey = ***
              PresharedKey = ***
              Endpoint = IPPUBBLICO:PORTA
              AllowedIPs = 0.0.0.0/0, ::0/0

              é corretto che il QR sia lo stesso per tutti? Ha mandato questo QR nel nostro gruppo.
              Immagino che usiamo tutti questo e tutto funziona. Sbaglio qualcosa?

              Ho provato a copiare tutto nel file di conf della mia Raspberry (wg0) ma la Raspberry non raggiunge la rete, riesco però a collegarmi in SSH.

              Grazie in anticipo!

              • Marco25 ha risposto a questo messaggio

                guniens é corretto che il QR sia lo stesso per tutti?

                No, deve inviare un QR code diverso per ogni persona, anzi un QR code diverso per ogni dispositivo di ogni persona. Come scritto sopra, non è possibile utilizzare la stessa configurazione simultaneamente su più dispositivi.

                • guniens ha risposto a questo messaggio

                  Marco25 Immaginavo
                  Ho provato a dirglielo ma crede che il file di conf sia per la VPN e non per singolo device, quindi avevo ragione io.

                  Deve generare un file di conf/QR per ogni device ed aggiungerlo alla sua conf (server) giusto?

                  • Marco25 ha risposto a questo messaggio

                    guniens Deve generare un file di conf/QR per ogni device ed aggiungerlo alla sua conf (server) giusto?

                    Sì.

                    • guniens ha risposto a questo messaggio

                      guniens Lui no. Chiedigli come ha creato quella configurazione. Ha usato forse un tool per automatizzare?

                      Deve crearne un’altra con l’IP successivo 10.59.244.3/24 e altra coppia di chiavi.

                      Per la connessione del Raspberry Pi al server VPN segui i passaggi di cui sopra.

                      • guniens ha risposto a questo messaggio

                        Marco25 Lui no. Chiedigli come ha creato quella configurazione. Ha usato forse un tool per automatizzare?

                        Gli chiederò ma nel caso non l'abbia fatto dovrebbe seguire l'ultima parte per aggiungere noi client alla sua conf o sbaglio?

                        Marco25 Deve crearne un’altra con l’IP successivo 10.59.244.3/24 e altra coppia di chiavi.

                        Per questo ha bisogno di me o sbaglio? Gli serve la mia chiave giusto?

                        • Marco25 ha risposto a questo messaggio

                          guniens Gli chiederò ma nel caso non l'abbia fatto

                          Penso abbia usato un tool altrimenti avrebbe effettuato questi passaggi e quindi saprebbe crearti una configurazione. Comunque sul server:

                          $ wg genkey | (umask 0077 && tee guniens.key) | wg pubkey > guniens.pub
                          $ wg genpsk > guniens.psk

                          Modifica il suo file wg0.conf aggiungendo

                          [Peer]
                          PublicKey = contenuto del file guniens.pub
                          PresharedKey = contenuto del file guniens.psk
                          AllowedIPs = 10.59.244.3/32

                          Quindi ricarica la configurazione del server con sudo systemctl reload wg-quick@wg0.service

                          La tua conf:

                          [Interface]
                          PrivateKey = contenuto del file guniens.key
                          Address = 10.59.244.3/24
                          DNS = DNS1, DNS2
                          
                          [Peer]
                          PublicKey = chiave pubblica del server, è nel file wg0 del server nella sezione [Interface]
                          PresharedKey = contenuto del file guniens.psk
                          Endpoint = IPPUBBLICO:PORTA
                          AllowedIPs = 0.0.0.0/0, ::0/0

                          Quindi cancella i files temporanei guniens.pub, guniens.key, guniens.psk

                          guniens Per questo ha bisogno di me o sbaglio? Gli serve la mia chiave giusto?

                          Sì ma può anche creare tutto lui come ho appena scritto.

                          • guniens ha risposto a questo messaggio

                            Marco25 Gli giro il tutto e riconfiguriamo tutto, nel caso ti disturbo ancora.
                            Grazie mille per ora!

                            safethansorry Già visto, devo vedere se usa docker
                            Grazie comunque!

                            Marco25 AllowedIPs = 10.59.244.4/32

                            Scusa @Marco25, dovrebbe essere 10.59.244.3/32 giusto? Nella conf del client è 10.59.244.3 ma in quella del server hai scritto 10.59.244.4

                            • Marco25 ha risposto a questo messaggio

                              guniens dovrebbe essere 10.59.244.3/32 giusto? Nella conf del client è 10.59.244.3 ma in quella del server hai scritto 10.59.244.4

                              Sì, ho corretto.

                              • guniens ha risposto a questo messaggio

                                Informativa privacy - Informativa cookie - Termini e condizioni - Regolamento - Disclaimer - 🏳️‍🌈
                                P.I. IT16712091004 - info@fibraclick.it

                                ♻️ Il server di questo sito è alimentato al 100% con energia rinnovabile