Proteggere il controllo del Captive Portal

Aus Volla Wiki
Zur Navigation springen Zur Suche springen

Captive Portal Check per dispositivi Android

Il Captive Portal Check per dispositivi Android verifica se una WLAN dispone di una connessione a Internet o se richiede un portale di accesso (ad esempio, negli hotel o nei bar). Quando viene stabilita una connessione, Android invia una richiesta a un server (di default http://connectivitycheck.volla.tech). Se il dispositivo riceve una risposta specifica (HTTP 204), Android riconosce una connessione diretta a Internet. Se invece viene reindirizzata una pagina di login, Android la apre nel browser in modo che l'utente possa accedere. In questo modo si garantisce la presenza di una connessione a Internet o la possibilità di effettuare il login. In poche parole, si tratta di un test automatico per verificare se il Wi-Fi conduce direttamente a Internet o se richiede il login su un sito web.

Influenza sulle connessioni WLAN e dati mobili

  • Wi-Fi domestico: al momento della connessione, Android verifica se il Wi-Fi offre accesso a Internet. Se il server non risponde, Android può ritenere erroneamente che non vi sia una connessione a Internet e visualizzare un simbolo di avvertimento (ad esempio “!”). In alcuni casi, il dispositivo passa ai dati mobili se l'opzione “Commutazione automatica” è attivata, anche se la WLAN funziona. Tuttavia, la connessione rimane solitamente utilizzabile, poiché il controllo riguarda principalmente il display.
  • Dati mobili: I dati mobili hanno un impatto minore perché di solito sono collegati direttamente a Internet. Tuttavia, un server irraggiungibile può indurre Android a contrassegnare la connessione come limitata, il che, in rari casi, può influire sull'uso di alcune app.

In poche parole, se il server di test non risponde, il dispositivo potrebbe ritenere erroneamente che la connessione Wi-Fi o i dati mobili non funzionino, anche se non è così. In genere è possibile continuare a navigare, ma potrebbero comparire degli avvisi o il dispositivo potrebbe passare ai dati mobili.

Influenza della VPN sulla verifica del Captive Portal

L'utilizzo di una VPN può, in determinate circostanze, risolvere l'inaccessibilità temporanea del server di test della connettività (ad esempio connectivitycheck.gstatic.com), ma non è una garanzia e dipende dalla causa del problema. Di seguito viene riportata un'analisi compatta:

Possibili effetti positivi di una VPN

  • Bypassare le restrizioni di rete: Una VPN può essere utile se il server di test non può essere raggiunto a causa di restrizioni di rete locali, firewall o blocchi dell'ISP (ad esempio in paesi con restrizioni), poiché il traffico di dati viene instradato attraverso un altro server. La crittografia e l'instradamento tramite un server VPN possono aggirare tali blocchi.
  • Connessione stabile per reti inaffidabili: In reti instabili o fortemente monitorate (ad esempio, WLAN pubbliche), una VPN può stabilizzare la connessione effettuando il tunnelling del traffico dati attraverso un server affidabile. Il passaggio a un server o a un protocollo VPN diverso (ad esempio, OpenVPN invece di WireGuard) può ridurre le cadute di connessione.
  • Bypassare i problemi di DNS: Se il server di prova è irraggiungibile a causa di impostazioni DNS errate dell'ISP, una VPN con i propri server DNS (ad es. DNS della VPN anziché DNS dell'ISP) può risolvere il problema.

Limitazioni e potenziali problemi

  • VPN come causa di problemi di connessione: Un server VPN instabile o impostazioni errate (ad es. porte bloccate, protocollo errato) possono a loro volta causare problemi di connessione, tra cui la non raggiungibilità del server di test. Android a volte invia i controlli di connessione oltre il tunnel VPN, il che è intenzionale secondo Google, ma può influire sull'accessibilità.
  • Dipendenza dal server: se il server di test stesso è inattivo (ad esempio, problemi del server di Google), una VPN non sarà d'aiuto in quanto il problema non riguarda la rete.
  • Perdita di prestazioni: una VPN può rallentare la connessione o causare instabilità, soprattutto con una crittografia elevata (ad esempio AES 256 bit). Il passaggio a una crittografia più bassa (ad esempio, AES 128 bit) o a un altro server può essere d'aiuto.

Passi pratici

  • Testate diversi server VPN: Passate a un server in un altro Paese per aggirare i blocchi locali.
  • Cambiare protocollo: Utilizzare OpenVPN o Lightway (se disponibile) per le reti instabili.
  • Controllare le impostazioni DNS: Utilizzare i server DNS della VPN o quelli pubblici come Google DNS (8.8.8.8).
  • Disattivare la VPN: Verificate se il problema esiste anche senza VPN per escludere la causa del servizio VPN.
  • Controllare la VPN sempre attiva: Assicurarsi che la VPN Always-On di Android sia configurata correttamente per garantire connessioni automatiche.

Una VPN può risolvere l'inaccessibilità del server di test se il problema è causato da restrizioni di rete, errori DNS o connessioni instabili. Tuttavia, non è una soluzione universale, poiché le stesse VPN possono causare problemi. Testate diversi server, protocolli e impostazioni per trovare la configurazione ottimale. Se il problema persiste, potrebbe essere dovuto al server stesso o ad altre impostazioni del dispositivo.

Grazie a: [[1]] e ai nostri laboriosi Marcus e Rüdiger del nostro [[2]] per le istruzioni già scritte nei post/PDF, che ho leggermente adattato.

Soluzione per un controllo difettoso del captive portal

Se la verifica del captive portal fallisce (cioè il server [[3]] definito in VollaOS non è raggiungibile), ci sono due modi per risolvere il problema:

Opzione 1: Con PC e terminale

Requisiti indispensabili

  • Il PC e il telefono sono collegati tramite un cavo dati.
  • Diritti di amministratore sul PC.
  • Le opzioni di sviluppo, compreso il debug USB, sono attivate sul telefono.

Procedura

  • Installazione degli strumenti ADB sul PC
a) Windows: installare ADB  
   - Articolo utile: [[4]]  
   - Scaricare gli strumenti della piattaforma (ad esempio per Windows: [[5]]).  
   - Decomprimere il file, ad esempio in `C:\`.  
   - Opzionale: testare ADB aprendo il file `adb.exe` tenendo premuto il tasto Shift, facendo clic con il tasto destro del mouse nel terminale ed eseguendo il comando `adb`. In questo modo verranno elencati tutti i comandi ADB disponibili.  
   Importante: in Windows, il comando deve essere `.\adb`, altrimenti Windows cercherà altrove.
b) Linux: installare gli strumenti ADB  
   - Gli strumenti ADB sono spesso preinstallati. In caso contrario, eseguire nel terminale  
     sudo apt install android-tools-adb
  • Attivare il debug USB sul telefono
- Attivare la modalità sviluppatore: Impostazioni > Informazioni sul telefono > Toccare il numero di build 7x.  
- Andate in Impostazioni > Sistema > Opzioni sviluppatore e attivatela.  
- Attivare il debug USB.
  • Scaricare Captive Portal Controller
- Scaricare l'applicazione “Captive Portal Controller” tramite F-Droid: [[6]]  
- In alternativa, se il telefono non è collegato a Internet: scaricare il file APK da F-Droid sul PC, trasferirlo sul telefono e installarlo.
  • Assegnare l'autorizzazione di scrittura per Captive Portal Controller
- Windows:  
  - Navigare fino al file `adb.exe`, aprirlo con il tasto shift + click destro nel terminale.  
  - Eseguire i seguenti comandi:  
    .\adb devices (dovrebbe mostrare il telefono connesso; controllare se il debug USB è abilitato).  
    .\adb shell pm grant io.github.muntashirakon.captiveportalcontroller android.permission.WRITE_SECURE_SETTINGS
- Linux:  
  - Aprire il terminale ed eseguire  
    adb devices  
    - Quando si utilizza per la prima volta, potrebbe apparire la scritta “non autorizzato”. Autorizzare la connessione nel popup del telefono.  
    - Dovrebbe apparire un output del tipo `Lista dei dispositivi collegati #dispositivo numero dispositivo`.  
    - Eseguire:  
      adb shell  
      pm grant io.github.muntashirakon.captiveportalcontroller android.permission.WRITE_SECURE_SETTINGS  
  - Chiudere il terminale e scollegare il telefono dal PC.
  • Attivare l'applicazione
- Attivare il cursore “Abilita controller” nell'app.
  • Impostazione di server di controllo alternativi per il captive portal
- Nell'applicazione, alla voce Server personalizzati, inserite i seguenti indirizzi (o indirizzi a vostra scelta) nei quattro campi liberi:  
  Campo URL 1:  
  https://captiveportal.kuketz.de  
  In alternativa: https://connectivitycheck.grapheneos.network/generate_204  
  Campo URL 2:  
  http://connectivitycheck.volla.tech/  
  In alternativa: http://captiveportal.kuketz.de o http://connectivity-check.opensuse.org  
  Campo URL 3:  
  http://captiveportal.kuketz.de  
  Alternativa: http://captiveportal.kuketz.de/gen_204  
  Campo URL 4:  
  http://captiveportal.kuketz.de  
  In alternativa: http://connectivity-check.ubuntu.com  
- Fare clic su “Save” (Salva).
  Fatto.

Opzione 2: Con le app dello store F-Droid

Con le seguenti applicazioni, che funzionano solo in combinazione, è possibile personalizzare gli indirizzi del Captive Portal Check direttamente sul telefono:

Articolo originale (Deutsch): Captive Portal Check absichern

Articolo originale (English): VPN hide.me guide