GNU/Linux >> Linux Esercitazione >  >> Rocky Linux

Come configurare il server VPN Pritunl su Rocky Linux 8

Pritunl è un server VPN e IPsec open source con gestione degli utenti e ridimensionamento orizzontale per piccole e grandi organizzazioni. Dà all'utente la possibilità di utilizzare i protocolli OpenVPN e Wireguard. Viene fornito con un'interfaccia GUI facile da usare e supporta i client sulla maggior parte dei dispositivi e piattaforme. Tutto il traffico tra i client e il server è crittografato. Pritunl è basato su MongoDB, un database affidabile e scalabile che può essere distribuito rapidamente e con supporto integrato per la replica, semplificando la distribuzione del cluster Pritunl.

Questo tutorial ti insegnerà come installare il server VPN Pritunl su Rocky Linux 8. Esploreremo anche come connettersi alla VPN utilizzando un client Linux.

Prerequisiti

  1. Un sistema che esegue Rocky Linux 8 per l'hosting del server Pritunl.

  2. Un utente non root con privilegi sudo.

  3. Un nome di dominio puntato al server.

  4. Un sistema che esegue Rocky Linux 8 come client.

  5. Assicurati che tutto sia aggiornato.

    $ sudo dnf update
    
  6. Installa tutti i prerequisiti.

    $ sudo dnf install nano
    

Passaggio 1:configurazione del firewall

Rocky Linux utilizza Firewalld Firewall. Controlla lo stato del firewall.

$ sudo firewall-cmd --state
running

Ciò indica che è attivo e funzionante correttamente.

Il firewall funziona con diverse zone e la zona pubblica è quella predefinita, che useremo. Elenca tutti i servizi e le porte attive sul firewall.

$ sudo firewall-cmd --permanent --list-services

Dovrebbe mostrare il seguente output.

dhcpv6-client mdns ssh

Consenti porte HTTP e HTTPS.

$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https

Ricontrolla lo stato del firewall.

$ sudo firewall-cmd --permanent --list-all

Dovresti vedere un output simile.

public
  target: default
  icmp-block-inversion: no
  interfaces:
  sources:
  services: cockpit dhcpv6-client http https ssh
  ports: 
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

Ricarica il firewall per abilitare le modifiche.

$ sudo firewall-cmd --reload

Fase 2:installa MongoDB

Pritunl è basato sul database MongoDB, quindi prima dobbiamo installarlo. Rocky Linux non viene fornito con MongoDB, quindi è necessario utilizzare il repository ufficiale di MongoDB.

Nota: MongoDB 5.0 funziona solo su processori più recenti. Se il tuo server è in esecuzione su hardware meno recente, dovresti optare per una versione precedente di MongoDB o passare a un server più recente.

Crea e apri il file /etc/yum.repos.d/mongodb-org-5.0.repo per la modifica.

$ sudo nano /etc/yum.repos.d/mongodb-org-5.0.repo

Incolla il seguente codice al suo interno.

[mongodb-org-5.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/5.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc

Salva il file premendo Ctrl + X e inserendo Y quando richiesto una volta terminato.

Installa MongoDB.

$ sudo dnf install mongodb-org

Abilita e avvia il servizio MongoDB.

$ sudo systemctl enable mongod --now

Passaggio 3:installazione del server Pritunl

Il primo passo è creare il repository ufficiale per Pritunl. Crea e apri il file /etc/yum.repos.d/pritunl.repo per la modifica.

$ sudo nano /etc/yum.repos.d/pritunl.repo

Incolla il seguente codice al suo interno.

[pritunl]
name=Pritunl Repository
baseurl=https://repo.pritunl.com/stable/yum/centos/8/
gpgcheck=1
enabled=1

Salva il file premendo Ctrl + X e inserendo Y quando richiesto una volta terminato.

Installa prima il repository Epel che è richiesto da Pritunl.

$ sudo dnf install epel-release

Aggiungi e importa le chiavi GPG necessarie per Pritunl.

$ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 7568D9BB55FF9E5287D586017AE645C0CF8E292A
$ gpg --armor --export 7568D9BB55FF9E5287D586017AE645C0CF8E292A > key.tmp; sudo rpm --import key.tmp; rm -f key.tmp

Installa Pritunl.

$ sudo dnf install pritunl

Controlla la versione Pritunl.

$ pritunl version
pritunl v1.30.2960.4

Abilita e avvia il servizio Pritunl.

$ sudo systemctl enable pritunl --now

Aumenta il limite di file aperti

Eseguire i seguenti comandi per aumentare il limite di file aperti sul server. Ciò eviterà problemi di connessione in caso di carico elevato. Se hai installato MongoDB su un server separato, devi eseguire questi comandi su quel server.

$ sudo sh -c 'echo "* hard nofile 64000" >> /etc/security/limits.conf'
$ sudo sh -c 'echo "* soft nofile 64000" >> /etc/security/limits.conf'
$ sudo sh -c 'echo "root hard nofile 64000" >> /etc/security/limits.conf'
$ sudo sh -c 'echo "root soft nofile 64000" >> /etc/security/limits.conf'

Fase 4 - Accedi e configura Pritunl

Puoi avviare Pritunl inserendo http://<serverIP>/ nel tuo browser. I browser moderni tentano di accedere alla versione HTTPS di ogni sito, quindi dovrai ignorare l'errore relativo alla privacy generato dal browser.

Verrà visualizzata la seguente schermata quando avvii per la prima volta l'URL.

Cattura automaticamente l'URI MongoDB. Per la chiave di configurazione, eseguire il comando seguente.

$ sudo pritunl setup-key
eacbd641982048fd9a60cdf09f7ebaa3

Immettere la chiave generata sul sito Web e fare clic su Salva pulsante. Aggiornerà il database e aprirà la schermata di accesso.

Esegui il comando seguente per generare le informazioni di accesso predefinite.

$ sudo pritunl default-password
[undefined][2021-11-08 22:34:55,255][INFO] Getting default administrator password
Administrator default password:
  username: "pritunl"
  password: "krZQLlH9U7P1"

Inserisci le informazioni di accesso e accedi. Verrà visualizzata la seguente schermata di configurazione.

Immettere una password complessa per sostituire quella predefinita. Inserisci un dominio in Lets Encrypt Domain campo. Pritunl genererà e imposterà automaticamente un certificato SSL per il dominio.

Ora puoi avviare il server utilizzando il nome di dominio digitando https://pritunl.example.com nel tuo browser.

Passaggio 5:aggiungi un'organizzazione, un server e utenti

Il passaggio successivo consiste nell'aggiungere un'organizzazione per la tua VPN. Fai clic su Utenti scheda e fai clic su Aggiungi organizzazione pulsante.

Fai clic su Aggiungi pulsante per procedere.

Il passaggio successivo consiste nell'aggiungere un utente. Ci sono due opzioni. Puoi aggiungere gli utenti uno per uno o aggiungerli in blocco. Per ora aggiungeremo un singolo utente. Fai clic su Aggiungi utente pulsante.

Il campo PIN è facoltativo e viene utilizzato se si intende utilizzare l'autenticazione a due fattori. Il PIN è composto solo da numeri.

Una volta impostati l'organizzazione e gli utenti, vai su Server scheda e fai clic su Aggiungi server pulsante.

Porto :È possibile aggiungere qualsiasi porta che verrà utilizzata dal server. Assicurati che la porta che hai specificato sia aperta a tutto il traffico in entrata nel gruppo di sicurezza.

DNS: Puoi aggiungere Google DNS o OpenDNS.

Rete virtuale: Puoi aggiungere IP privato in questo campo, ma assicurati che qualsiasi altra risorsa non lo utilizzi. Ai clienti verranno assegnati indirizzi IP da questo intervallo.

Rete WG virtuale: WireGuard Network Indirizzi per la rete privata che verranno assegnati ai client WireGuard. Dovrebbe avere lo stesso blocco CIDR della rete virtuale.

Abilita WireGuard: Se selezionato, utilizzerà WireGuard invece di OpenVPN. Tuttavia, utilizzeremo OpenVPN per il nostro tutorial, quindi lascialo deselezionato.

Porta WG: Questa porta verrà utilizzata per le connessioni WireGuard. Deve essere utilizzato solo dopo aver abilitato l'opzione WireGuard.

Abilita Google Authenticator: Per utilizzare la verifica in due passaggi, abilita questa opzione. Se questa opzione è abilitata sul server, tutti i client sotto quel server, devono verificare l'OTP prima di connettersi alla VPN ogni volta.

Abilita IPv6 :Abilita i server DNS IPv6. Ai client vengono forniti indirizzi IPv6 privati.

Fai clic su Aggiungi pulsante per terminare.

Fai clic su Aggiungi organizzazione pulsante per collegare l'organizzazione al server appena creato.

Fare clic su Avvia server pulsante per avviare la VPN.

Abilita porta nel firewall

Per accettare le connessioni dal client tramite la porta VPN, dobbiamo abilitarlo tramite il nostro firewall.

$ sudo firewall-cmd --permanent --add-port=18412/udp
$ sudo firewall-cmd --reload

Passaggio 6:installazione del client Pritunl

Ora che il nostro server è attivo e funzionante, è il momento di installare un client e connettersi alla VPN. Pritunl offre due tipi di client:una riga di comando e un client GUI.

Per il nostro tutorial, utilizzeremo il client della riga di comando. Puoi installare solo un tipo di client su un sistema.

Installa il repository EPEL necessario al client Pritunl.

$ sudo dnf install epel-release

Aggiungi il repository Pritunl ufficiale al tuo sistema Rocky Linux.

$ sudo tee -a /etc/yum.repos.d/pritunl.repo << EOF
[pritunl]
name=Pritunl Stable Repository
baseurl=https://repo.pritunl.com/stable/yum/centos/8/
gpgcheck=1
enabled=1
EOF

Aggiungi e importa le chiavi GPG.

$ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 7568D9BB55FF9E5287D586017AE645C0CF8E292A
$ gpg --armor --export 7568D9BB55FF9E5287D586017AE645C0CF8E292A > key.tmp; sudo rpm --import key.tmp; rm -f key.tmp

Installa il client della riga di comando.

$ sudo dnf install pritunl-client

Passaggio 7:connessione dal client al server

Dalla scheda utenti del sito del server Pritunl, ottieni il collegamento al profilo temporaneo per la connessione al client.

Copia il collegamento URI temporaneo dall'ultima voce.

Immettere il seguente comando sul terminale del client per aggiungere il profilo.

$ pritunl-client add pritunl://example.com/ku/2hd6S6Ug

Assicurati di aggiungere il link al profilo copiato in precedenza dopo add nel comando.

Consulta l'elenco dei profili aggiunti.

$ pritunl-client list
+----------------------------------+-------------------------+--------------+----------------+----------------+
|                ID                |          NAME           |  ONLINE FOR  | SERVER ADDRESS | CLIENT ADDRESS |
+----------------------------------+-------------------------+--------------+----------------+----------------+
| wkinhnnjyz3ybektjbavy8qpecafqp1e | hforgeuser (howtoforge) | Disconnected | -              | -              |
+----------------------------------+-------------------------+--------------+----------------+----------------+

Eseguire il comando seguente per connettersi al profilo. Non è necessario utilizzare l'ID profilo completo nel comando. Basta usare le prime 3 lettere dell'ID del profilo per fare riferimento ad esso.

$ pritunl-client start wki --mode=ovpn --password=PINOTP
  • Per specificare la modalità OPVN, aggiungi il flag --mode=ovpn nel comando.
  • Se hai abilitato l'opzione Google Authenticator, devi configurarla utilizzando un client Google Authenticator o Authy.
  • Per specificare il pin e il codice di autenticazione a due fattori, utilizza il flag --password=PINOTP nel comando. Ad esempio, se il pin è 54321 e il codice OTP è 456789, utilizza il flag --password=54321456789 nel comando sopra. Se stai usando solo il PIN, usa il flag --password=PIN .

Esegui l'list comando di nuovo per verificare se la connessione funziona.

$ pritunl-client list
+----------------------------------+-------------------------+------------+----------------+----------------+
|                ID                |          NAME           | ONLINE FOR | SERVER ADDRESS | CLIENT ADDRESS |
+----------------------------------+-------------------------+------------+----------------+----------------+
| wkinhnnjyz3ybektjbavy8qpecafqp1e | hforgeuser (howtoforge) | 6 secs     | 178.62.233.196 | 192.168.238.2  |
+----------------------------------+-------------------------+------------+----------------+----------------+

Hai effettuato una connessione riuscita alla VPN Pritunl.

Riga di comando di Pritunl

Il server Pritunl viene fornito con uno strumento da riga di comando che puoi utilizzare per eseguire alcune operazioni di base.

Ripara database

Puoi utilizzare Pritunl per riparare il database e consentire il ripristino di un database danneggiato o incoerente.

Innanzitutto, arresta il server Pritunl.

$ sudo systemctl stop pritunl

Ripara il database.

$ sudo pritunl repair-database

Riavvia il servizio Pritunl.

$ sudo systemctl start pritunl

Il repair-database il comando cancellerà tutti i registri, ripristinerà tutti gli indirizzi IP virtuali statici degli utenti e metterà tutti i server nello stato di arresto.

Ripristina credenziali

Il comando seguente reimposterà il nome utente e la password dell'amministratore su pritunl . Rimuoverà anche le impostazioni di accesso singolo e autenticazione in due passaggi per l'utente amministratore, se abilitate.

$ sudo pritunl reset-password

Cambia la porta della console web

Per impostazione predefinita, Pritunl viene eseguito sulla porta 443. Se vuoi cambiarla, usa il comando seguente.

$ sudo pritunl set app.server_port 8443

Pritunl esegue un server Web sulla porta 80 per la verifica Let's Encrypt e reindirizza le richieste HTTP a HTTPS. È possibile disattivare il reindirizzamento utilizzando il comando seguente. Ciò impedirà anche l'uso dei certificati Let's Encrypt.

$ sudo pritunl set app.redirect_server false

Conclusione

Questo conclude il nostro tutorial sulla configurazione e l'utilizzo del server VPN Pritunl su un server Rocky Linux 8. Se vuoi saperne di più su Pritunl, puoi seguire la sua documentazione ufficiale. Se hai domande, pubblicale nei commenti qui sotto.


Rocky Linux
  1. Configura un server VPN sul tuo PC Linux

  2. Come configurare un supporto NFS su Rocky Linux 8

  3. Come configurare un server SFTP su Rocky Linux/CentOS 8 Server

  4. Come configurare un server SFTP su Arch Linux

  5. Come configurare server e client NFS su Rocky/Alma Linux 8

Come installare LAMP su Rocky Linux 8 Server

Come impostare data e ora su desktop e server Rocky Linux 8

Come installare il server MariaDB su Rocky Linux 8

Come configurare WireGuard VPN su Linux

Come installare Pritunl VPN su Rocky Linux 8

Come installare Nginx su Rocky Linux 9