VpnHood!

Imposta gli indirizzi IP del tuo server

Una chiave di accesso indica alle app a quale indirizzo connettersi. Di solito il server lo rileva automaticamente, ma su macchine con più indirizzi IP puoi configurarlo manualmente: sia l'indirizzo di ascolto, sia quello inserito nelle chiavi.

Come il server rileva il proprio indirizzo

Per impostazione predefinita, il server è in ascolto su tutti gli indirizzi della macchina, sulla porta TCP 443.

Per le chiavi, rileva l'indirizzo tramite il proprio traffico in uscita interrogando un servizio web. Per i server gestiti, VpnHood! MANAGER fa lo stesso con Automatic Configuration, impostando i relativi punti di accesso. Questa opzione è attiva per ogni nuovo server.

La procedura rileva l'indirizzo corretto nella maggior parte dei casi. Configuralo manualmente quando:

  • La macchina invia il traffico da un indirizzo diverso rispetto a quello a cui gli utenti devono connettersi, ad esempio con un IP in uscita separato. La ricerca automatica rileverebbe l'IP in uscita.
  • La macchina dispone di più indirizzi IP pubblici e desideri includerne uno specifico nelle chiavi.
  • Il rilevamento fallisce, ad esempio se la macchina non può raggiungere il servizio web. In questo caso un server standalone non si avvia e il registro riporta PublicEndPoints has not been configured properly.

Su un server gestito

In VpnHood! MANAGER, apri Servers, seleziona il server e individua Access Points. Ciascun punto di accesso rappresenta un indirizzo del server con le relative porte.

I punti di accesso di un server in VpnHood! MANAGER con la configurazione automatica disattivata
Il nuovo indirizzo, 203.0.113.10, viene inserito nelle chiavi. Il vecchio indirizzo, 198.51.100.20, ne resta fuori, ma il server continua ad ascoltare su di esso per le app con una chiave precedente.

Per configurarli manualmente, disattiva Automatic Configuration: quando è attivo, l'elenco non può essere modificato. MANAGER richiederà una conferma, poiché il server verrà riavviato con le nuove impostazioni.

Due impostazioni determinano la funzione di ciascun indirizzo:

  • Mode definisce chi riceve l'indirizzo. PublicInToken lo include in ogni chiave di accesso della server farm. Public lo esclude dalle chiavi e MANAGER lo fornisce all'app solo quando la indirizza a questo server. Private non lo fornisce mai alle app.
  • Listen stabilisce se il server è in ascolto sull'indirizzo. Impostalo su Yes solo per gli indirizzi instradati alla macchina dal tuo provider: su Linux, il server aggiunge automaticamente alla propria rete qualsiasi indirizzo di ascolto non presente sul sistema.

UDP Port e QUIC Port sono facoltative: inserisci -1 per disattivare l'una o l'altra.

Sui cloud in cui la macchina dispone solo di indirizzi privati (come AWS, Google Cloud, Azure o Oracle Cloud), aggiungi l'indirizzo privato con Mode Private e Listen Yes, quindi l'IP pubblico con PublicInToken e Listen No, sulla stessa porta. Automatic Configuration applica automaticamente questa stessa configurazione.

Per verificare, apri la server farm: la pagina mostra l'elenco degli indirizzi inclusi nelle sue chiavi alla voce Access Points.

Su un server standalone

Il server legge le impostazioni da /opt/VpnHoodServer/storage/appsettings.json. Il file non è presente nelle nuove installazioni: crealo per sostituire le impostazioni predefinite. Due parametri in FileAccessManager definiscono gli indirizzi:

  • TcpEndPoints elenca gli indirizzi e le porte su cui il server è in ascolto.
  • PublicEndPoints elenca gli indirizzi e le porte inclusi nelle chiavi di accesso. Usa solo indirizzi reali: inserire 0.0.0.0 o [::] impedirà l'avvio del server.

Il file completo: il server è in ascolto su tutti gli indirizzi e inserisce 203.0.113.10 nelle chiavi

{
  "FileAccessManager": {
    "TcpEndPoints": [ "0.0.0.0:443", "[::]:443" ],
    "PublicEndPoints": [ "203.0.113.10:443" ],
    "SslCertificatesPassword": null
  },
  "ServerConfig": {
    "LogAnonymizer": true,
    "AddListenerIpsToNetwork": "*"
  },
  "LogLevel": "Information"
}

Per ascoltare su un solo indirizzo, come nel caso di un IP in uscita separato, specifica quell'indirizzo anche in TcpEndPoints. Fuori da Docker, se l'indirizzo non è ancora configurato sulla macchina, il server lo aggiunge automaticamente alla rete.

Se usi anche UdpEndPoints o QuicEndPoints, assegna loro lo stesso indirizzo impostato per TCP.

Nei servizi cloud in cui la macchina ha solo indirizzi privati (come AWS, Google Cloud, Azure o Oracle Cloud), imposta l'ascolto sull'indirizzo privato o su tutti gli indirizzi, e inserisci l'IP pubblico in PublicEndPoints.

Riavvia quindi il server con sudo systemctl restart VpnHoodServer o con sudo docker restart VpnHoodServer su Docker. Per verificare, genera una chiave con vhserver gen: la riga HostEndPoints: mostrerà gli indirizzi assegnati.

Chiavi già distribuite

Ogni chiave contiene gli indirizzi configurati al momento della creazione, quindi un'app con una chiave precedente continuerà a tentare l'accesso al vecchio indirizzo. Poiché le app aggiornano la chiave attuale a ogni connessione, mantieni il server in ascolto sul vecchio indirizzo per qualche giorno prima di rimuoverlo.

Su un server gestito, mantienilo come punto di accesso con Mode Private e Listen Yes: le app riceveranno la nuova chiave poiché Push token to clients è attivo per impostazione predefinita. Su un server autonomo, mantieni il vecchio indirizzo unicamente in TcpEndPoints.

Se un'app non riesce più a raggiungere il vecchio indirizzo, dovrai fornirle una nuova chiave. Con un nome di dominio e un certificato emesso da un'autorità di certificazione, le chiavi individuano il nuovo indirizzo tramite DNS, evitando interruzioni di servizio.

Passaggi successivi