Una delle cose che un amministratore di sistema Linux dovrebbe sapere è senza dubbio l'installazione di OpenVPN Server. Credo che questo articolo servirà da guida per coloro che desiderano configurare il proprio server VPN nelle condizioni odierne in cui la privacy e la sicurezza dei dati sono sempre più importanti.

In questo articolo tutto OpenVPN che ci salva dall'effettuare le regolazioni manualmente una per una, GitHub'Taki Angristan scritto da openvpn-installa Verrà fornita una spiegazione utilizzando lo script denominato. 

La prima cosa che devi fare è ovviamente aggiornare i repository e apportare gli eventuali aggiornamenti. 

sudo apt update && sudo apt upgrade -yq   

Ora digita il seguente comando per scoprire l'indirizzo IP del server e prendine nota per ogni evenienza.

ip a ip a show eth0 #Mostra solo gli indirizzi assegnati alla porta ethernet.

L'output di esempio dovrebbe essere il seguente. Perché sto eseguendo il mio server in una macchina virtuale eth0 invece enp0s3 sembra.

prdsmehmetstc@pardus21server:~$ ip a 1: lo: mtu 65536 qdisc noqueue state UNKNOWN gruppo predefinito qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 ambito host lo valid_lft sempre preferito_lft sempre 2 :enp0s3: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:d9:43:f7 brd ff:ff:ff:ff:ff:ff inet 192.168.1.12/24 brd 192.168.1.255 scope dinamica globale enp0s3 valid_lft 86301sec preferred_lft 86301sec

L'indirizzo IP del server è quello contrassegnato in grassetto sopra. L'indirizzo IP del tuo server potrebbe essere diverso, ma la posizione dovrebbe essere più o meno la stessa.

L'IP privato e l'IP pubblico del tuo server potrebbero essere diversi. È possibile inserire il seguente comando per scoprire l'indirizzo IP pubblico del server:

dig +short myip.opendns.com @resolver1.opendns.com

Ora possiamo scaricare lo script e passare alla fase di installazione di OpenVPN Server. Digita il seguente comando per scaricare lo script.

wget https://raw.githubusercontent.com/Angristan/openvpn-install/master/openvpn-install.sh

Quindi immetti il ​​seguente comando per rendere funzionante lo script scaricato:

chmod +x openvpn-install.sh

Per eseguire lo script, inserisci semplicemente il comando seguente.

sudo ./openvpn-install.sh 

Quando esegui lo script ti chiederà di inserire alcuni parametri. Puoi vedere i valori che ho applicato come esempio qui sotto:

prdsmehmetstc@pardus21server:~$ sudo ./openvpn-install.sh Benvenuto nel programma di installazione di OpenVPN! Il repository git è disponibile su: https://github.com/angristan/openvpn-install Devo farti alcune domande prima di iniziare il setup. Puoi lasciare le opzioni predefinite e premere semplicemente invio se sei d'accordo con loro. Ho bisogno di conoscere l'indirizzo IPv4 dell'interfaccia di rete che vuoi che OpenVPN ascolti. A meno che il tuo server non sia protetto da NAT, dovrebbe essere il tuo indirizzo IPv4 pubblico. Indirizzo IP: 192.168.1.12

Se il tuo server non ha un IP fisso assegnato direttamente ad esso e accede a Internet tramite un intermediario come in questo esempio, il nostro script lo rileva, trova gli indirizzi IP e riempie automaticamente gli spazi vuoti. Tutto quello che devi fare è premere invio.

Sembra che questo server sia dietro NAT. Qual è il suo indirizzo IPv4 pubblico o nome host? Ne abbiamo bisogno per consentire ai client di connettersi al server. Indirizzo IPv4 pubblico o nome host: 85.99.177.72 Controllo della connettività IPv6 in corso... Sembra che il tuo host non disponga di connettività IPv6. Vuoi abilitare il supporto IPv6 (NAT)? [s/n]: n

Se il tuo server e la tua rete non supportano IPv6, devi inserire il parametro "n".

Su quale porta vuoi che OpenVPN ascolti? 1) Predefinito: 1194 2) Personalizzato 3) Casuale [49152-65535] Scelta porta [1-3]: 1

Qui puoi selezionare la porta su cui verrà eseguito OpenVPN. È possibile utilizzare la porta 1 che è predefinita nell'opzione 1194. Se la porta 1194 non è accessibile sul lato client e non stai eseguendo un server Web, puoi scegliere l'opzione 2 e farlo funzionare dalla porta 443.  

Quale protocollo vuoi che OpenVPN utilizzi? UDP è più veloce. A meno che non sia disponibile, non dovresti usare TCP. 1) UDP 2) Protocollo TCP [1-2]: 1

Per impostazione predefinita si consiglia di utilizzare il protocollo UDP, ma se UDP in qualche modo non funziona, puoi scegliere TCP da qui.

Quali resolver DNS vuoi utilizzare con la VPN? 1) Risolutori di sistema correnti (da /etc/resolv.conf) 2) Risolutore DNS self-hosted (non associato) 3) Cloudflare (Anycast: in tutto il mondo) 4) Quad9 (Anycast: in tutto il mondo) 5) Quad9 senza censura (Anycast: in tutto il mondo) 6 ) FDN (Francia) 7) DNS.WATCH (Germania) 8) OpenDNS (Anycast: mondiale) 9) Google (Anycast: mondiale) 10) Yandex Basic (Russia) 11) AdGuard DNS (Anycast: mondiale) 12) NextDNS (Anycast : in tutto il mondo) 13) DNS personalizzato [1-12]: 9

L'impostazione predefinita dello script è 11, AdGuard DNS. I DNS di Google (9) e CloudFlare (3) sono più veloci di altri, ti consiglio di preferirli. Se disponi di una preferenza DNS personalizzata, puoi inserirla selezionando l'opzione 13.

Vuoi usare la compressione? Non è raccomandato poiché l'attacco VORACLE ne fa uso. Abilita la compressione? [s/n]: n

Si consiglia di non decomprimerlo. Perché l'attacco VORACLE, che è una vulnerabilità di sicurezza, utilizza la compressione. 

Vuoi personalizzare le impostazioni di crittografia? A meno che tu non sappia cosa stai facendo, dovresti attenersi ai parametri predefiniti forniti dallo script. Nota che qualunque cosa tu scelga, tutte le scelte presentate nello script sono sicure. (A differenza delle impostazioni predefinite di OpenVPN) Vedi https://github.com/angristan/openvpn-install#security-and-encryption per saperne di più. Personalizzare le impostazioni di crittografia? [s/n]: n

Se vuoi modificare le impostazioni di crittografia, dovresti dire "y" in questa fase. In generale, i valori predefiniti sono sufficienti per garantire la tua sicurezza, ma se sai cosa stai facendo, va bene cambiarli. 

Ok, era tutto ciò di cui avevo bisogno. Ora siamo pronti per configurare il tuo server OpenVPN. Sarai in grado di generare un client al termine dell'installazione. Premere un tasto qualsiasi per continuare...

L'installazione di OpenVPN Server è terminata, ora il nostro script creerà file in modo che tu possa connetterti dal lato client. 

Dimmi un nome per il cliente. Il nome deve essere composto da caratteri alfanumerici. Può anche includere un trattino basso o un trattino. Nome cliente: Pardus21OpenVPNServerDeme

Inserisci il nome del cliente. Il nome deve essere "alfanumerico", cioè composto da lettere e numeri. Può anche contenere caratteri di sottolineatura e trattini. Il testo in grassetto è il nome che ho dato al mio cliente.

Vuoi proteggere il file di configurazione con una password? (ad es. crittografare la chiave privata con una password) 1) Aggiungere un client senza password 2) Utilizzare una password per il client Selezionare un'opzione [1-2]: 1

Se si desidera definire una password per il client, è necessario selezionare l'opzione "2". 

Nota: utilizzando la configurazione Easy-RSA da: /etc/openvpn/easy-rsa/vars Utilizzo di SSL: openssl OpenSSL 1.1.1k 25 marzo 2021 Generazione di una chiave privata EC scrivendo una nuova chiave privata in '/etc/openvpn/easy-rsa/ pki/easy-rsa-2034.XkDzhL/tmp.pOGFHy' ----- Utilizzo della configurazione da /etc/openvpn/easy-rsa/pki/easy-rsa-2034.XkDzhL/tmp.mUo4M7 Verificare che la richiesta corrisponda signature Firma ok Il nome distinto del soggetto è il seguente commonName :ASN.1 12:'Pardus21OpenVPNServerDeneme' Il certificato deve essere certificato fino al 15 gennaio 08:49:38 2024 GMT (825 giorni) Scrivi il database con 1 nuove voci Database aggiornato Client Pardus21OpenVPNServerTrial aggiunto. Il file di configurazione è stato scritto in /home/prdsmehmetstc/Pardus21OpenVPNServerDeneme.ovpn. Scarica il file .ovpn e importalo nel tuo client OpenVPN.

L'installazione del server OpenVPN e l'importazione del file delle impostazioni del client sono state completate, ora puoi navigare in Internet in sicurezza. Se vuoi aggiungere più di un client, esegui di nuovo lo script. 

prdsmehmetstc@pardus21server:~$ sudo ./openvpn-install.sh [sudo] password per prdsmehmetstc: Benvenuto in OpenVPN-install! Il repository git è disponibile su: https://github.com/angristan/openvpn-install Sembra che OpenVPN sia già installato. Cosa vuoi fare? 1) Aggiungi un nuovo utente 2) Revoca utente esistente 3) Rimuovi OpenVPN 4) Esci Selezionare un'opzione [1-4]:

Selezionando 1 per creare un nuovo file delle impostazioni del client, selezionando 2 per rimuovere il client creato in precedenza, selezionando 3 per disinstallare OpenVPN Server e selezionando 4 per uscire dallo script. 

Se stai utilizzando un firewall come UFW o IPTABLES, devi prima consentire la porta OpenVPN che hai specificato. Gli esempi forniti di seguito si riferiscono alla porta predefinita 1194.

UFW per

sudo ufw allow 1194

Per IPTABLES (utilizzando il protocollo TCP)

sudo iptables -I INPUT -p tcp -m tcp --dport 1194 -j ACCEPT

Veya

sudo iptables -A INPUT -p tcp -m tcp --dport 1194 -j ACCEPT

Per IPTABLES (utilizzando il protocollo UDP)

sudo iptables -I INPUT -p udp -m udp --dport 1194 -j ACCEPT

Veya

sudo iptables -A INPUT -p udp -m udp --dport 1194 -j ACCEPT

Ecco i comandi necessari per arrestare/avviare/riavviare/controllare lo stato di OpenVPN Server:

sudo systemctl stop openvpn@server sudo systemctl start openvpn@server sudo systemctl restart openvpn@server sudo systemctl status openvpn@server

Se vuoi sapere come stabilire una connessione client Questo articolo Si può leggere.