Non riesco a configurare la VPN Wireguard su Iliadbox per fare in modo che i client possano accedere alla LAN interna continuando però a usare il proprio gateway di default per la navigazione su Internet.

Scenario

  • Server VPN Wireguard attivato su Iliadbox
  • Utente creato per VPN Wireguard

Su iPhone

  • App Wiregard installata da APP Store
  • Aggiunto tunnel verso Iliadbox via QRcode

Il tutto si configura in pochi minuti e funziona la primo tentativo, ma questa configurazione prevede l'instradamento di tutto il traffico del client verso la VPN. Mi serve che il client utilizzi la VPN solo per accedere alla LAN INTERNA, continuando a usare il proprio gateway di default per la navigazione su Internet.

Sulla Iliadbox non ho trovato alcun modo per modificare il file configurazione di Wireguard, che viene sempre fornito con l'instradamento 0.0.0.0/0 tra gli AllowedIPs. Esempio di file di configurazione scaricato da Iliadbox (disponibile anche via QRcode):

[Interface]
PrivateKey = [...]
Address = 192.168.27.66/32
DNS = 212.27.38.253
MTU = 1360
[Peer]
PublicKey = [...]
Endpoint = [...]
AllowedIPs = 0.0.0.0/0, 192.168.27.64/27, 192.168.2.0/24
PresharedKey = [...]

Ho provato a eliminare 0.0.0.0/0 da AllowedIPs, ma dopo la modifica la Iliadbox fa cadere la connessione e il client non riesce a navigare in internet.

Qualcuno ha trovato il modo di risolvere questo problema? Grazie.

    Gb_admin teoricamente dovresti togliere 0.0.0.0 e lasciare solo la subnet della tua rete interna. Considera che il comportamento di wireguard client e relative rotte cambia da sistema operativo ad un altro e potresti anche non navigare. Con client wireguard su iphone mi basta fare cosi.

      GusEdgestream teoricamente dovresti togliere 0.0.0.0 e lasciare solo la subnet della tua rete interna

      In effetti è la prima cosa che ho provato, ma quando tolgo 0.0.0.0/0 il client (iPhone) non naviga più in internet, come se l'instradamento verso la VPN restasse attivo e la navigazione venisse bloccata da Wiregard proprio perché gli IP diversi dalla LAN interna non sono più consentiti.

      GusEdgestream Con client wireguard su iphone mi basta fare cosi.

      Hai per caso modificato qualche altro parametro? Non capisco perché a me non funzioni...

        Gb_admin quando tolgo 0.0.0.0/0 il client (iPhone) non naviga più

        Hai provato a mettere 192.168.27.0/24 ?

          Gabriele
          Ci provo, ma in teoria non dovrebbe bastare il 192.168.27.64/27 per il point-to-point tra client e server wireguard?

          PS: la LAN INTERNA di Iliadbox è 192.168.2.0/24

            Gb_admin

            Non conosco bene la tua LAN, ma così facendo instradi tutto il range in questione verso la VPN.

            Gb_admin LAN INTERNA di Iliadbox è 192.168.2.0/24

            Scusami ma allora non sto capendo la struttura della tua rete.
            Se la lan è sul range 192.168.2.* , sul range 192.168.27.* cosa c'è ?

              Gabriele
              Ho provato ma il risultato non cambia. La LAN su cui è connessa la Iliadbox è una normalissima LAN privata (192.168.2.0/24). Il collegamento poit-to-point verso l'IP 192.168.27.66/32 viene creato direttamente dalla Iliadbox in fase di configurazione dell'utente e non è possibile modificarlo lato Iliadbox (o almeno io non ho trovato come fare).

              La Iliadbox gestisce correttamente l'instradamento verso la LAN INTERNA, infatti con il collegamento Wireguard attivo sull'iPhone raggiungo un server su rete interna. Il problema è che quando attivo Wireguard sull'iPhone, questa si prende TUTTO il traffico, indipendentemente da come è settato il parametro AllowedIPs:

              • se AllowedIPs contiene 0.0.0.0/0 allora sull'iPhone navigo in Internet TRAMITE la VPN (infatti esco con l'IP pubblico della Iliadbox)
              • se AllowedIPs NON CONTIENE 0.0.0.0/0, sull'iPhone continuo a poter navigare sulla LAN interna della Iliadbox, mentre la navigazione verso il resto di Internet va in time-out (probabilmente perché l'app Wiregard blocca i pacchetti, non essendo più "allowed")

              Il mio problema è che non riesco a configurare l'app Wireguard (o l'iPhone) per fare in modo che sulla VPN venga instradato solo il traffico diretto verso la LAN INTERNA della Iliadbox...

                Gb_admin

                Ma sull’ iPhone, nel tunnel alla voce “ip consentiti” cosa c’è ?

                  Gabriele
                  La configurazione per l'iPhone creata da Iliadbox è quella che ho messo nel primo msg:

                  [Interface]
                  PrivateKey = [...]
                  Address = 192.168.27.66/32
                  DNS = 212.27.38.253
                  MTU = 1360
                  [Peer]
                  PublicKey = [...]
                  Endpoint = [...]
                  AllowedIPs = 0.0.0.0/0, 192.168.27.64/27, 192.168.2.0/24
                  PresharedKey = [...]

                  L'IP 192.168.27.66/32 è configurato in automatico da Iliadbox e serve per il collegamento point-to-point con il client.
                  Per il parametro AllowedIPs sull'iPhone ho provato sia con che senza 0.0.0.0/0:

                  • se AllowedIPs contiene 0.0.0.0/0 allora sull'iPhone navigo in Internet TRAMITE la VPN (infatti esco con l'IP pubblico della Iliadbox)
                  • se AllowedIPs NON CONTIENE 0.0.0.0/0, sull'iPhone continuo a poter navigare sulla LAN interna della Iliadbox, mentre la navigazione verso il resto di Internet va in time-out (probabilmente perché l'app Wireguard blocca i pacchetti, non essendo più "allowed")

                  Più di questo non mi viene in mente altro...

                  Gabriele Scusami ma allora non sto capendo la struttura della tua rete.
                  Se la lan è sul range 192.168.2.* , sul range 192.168.27.* cosa c'è ?

                  Mi ero perso questo msg, il range 192.168.27.64/27 è configurato automaticamente dalla Iliadbox per il poit-to-point tra client e server. Viene impostato quando si crea l'utente.

                    Gb_admin

                    L’indirizzo IP che ottiene il tuo iPhone quando entra nella LAN via VPN a quale range fa riferimento ? Dalla config immagino .27.X ?

                    Io ho una vpn con WireGuard ma è tutto sullo stesso range.
                    Puoi cambiare questa cosa o non te lo fa fare ?

                      Gabriele
                      In questo momento non ho modo di verificarlo direttamente, ma visto che il server Wireguard gira sulla Iliadbox immagino che per uscire sulla rete interna farà un MASQUERADE oppure un SNAT con l'IP del point-to-point...

                      ### OK HO RISOLTO (quasi per caso)
                      A quanto pare il problema era causato dal DNS, così come specificato nel file di configurazione generato dalla Iliadbox:
                      DNS = 212.27.38.253
                      Ci sono arrivato grazie a questo commento:
                      https://www.reddit.com/r/WireGuard/comments/lb16ye/comment/ifm9fzp/?utm_source=share&utm_medium=web2x&context=3

                      Sostiuendo con il DNS di Google (o altro a piacere)
                      DNS = 8.8.8.8
                      il tutto si è messo a funzionare, ovvero LAN INTERNA raggiungibile e resto di Internet pure.

                      Non ho avuto modo di fare delle prove ma a quanto pare il DNS 212.27.38.253 funziona solo su rete Iliad (strano, ma è l'unica spiegazione che mi viene in mente). Se il client fosse stato su un normale PC me ne sarei probabilmente accorto prima con qualche ping o traceroute, ma essendo su iPhone non avevo quei comandi e l'unico modo che usavo per testare la connettività verso internet era una connessione via Safari.

                      Spero possa servire a qualcuno a risparmiare qualche ora di inutili tentativi!

                      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