GNU/Linux >> Linux Esercitazione >  >> OpenSuse

Come installare e configurare OpenVPN su OpenSUSE Leap 42.1

VPN o rete privata virtuale è una rete privata sicura su una rete pubblica come Internet. Una VPN è un tunnel sicuro attraverso Internet che protegge il traffico dati e aumenta la privacy e la sicurezza di Internet. L'accesso alla VPN è limitato da metodi di autenticazione sicuri.

OpenVPN è un software open source per costruire reti private virtuali, utilizza la libreria OpenSSL per crittografare i dati in tunnel e supporta i trasporti UDP o TCP. OpenVPN può utilizzare chiavi precondivise, meccanismi di autenticazione basati su certificati e nome utente/password.

In questo tutorial, ti mostrerò come implementare una rete privata virtuale utilizzando OpenVPNvpn con il sistema operativo Linux OpenSUSE Leap 42.1.

Prerequisiti

  • OpenSUSE Leap 42.1 - 64 bit
  • Privilegi di root
  • TUN/TAP abilitato

Fase 1 - Verifica se TUN/TAP è abilitato

Se desideri creare una VPN sul tuo server, assicurati che TUN/TAP sia installato e abilitato. Puoi verificarlo con il comando seguente:

cat /dev/net/tun

Il risultato dovrebbe essere:

cat: /dev/net/tun: File descriptor in bad state

Passaggio 2:installa OpenVPN

OpenVPN è disponibile nel repository di OpenSUSE. Puoi installarlo usando il comando zypper:

zypper in openvpn

Fase 3 - Configurazione Easy-RSA

Quindi, scarica easy-rsa per generare un file di certificato. easy-rsa è un'utilità per gestire i certificati, puoi creare l'autorità di certificazione radice con essa e richiedere e firmare i certificati.

Vai alla directory OpenVPN e scarica easy-rsa con il comando wget:

cd /etc/openvpn/
wget https://github.com/OpenVPN/easy-rsa/archive/release/2.x.zip

Estrarre l'archivio e spostare la directory easy-rsa:

unzip 2.x.zip
mv easy-rsa-release-2.x/easy-rsa/ /etc/openvpn/
rm -rf easy-rsa-release-2.x/

Configura la chiave

Vai alla directory easy-rsa e modifica il file vars per configurare la chiave e il certificato:

cd easy-rsa/2.0/
vim vars

Riga 53 - Se sei davvero paranoico, puoi aumentare la dimensione della chiave.

export KEY_SIZE=2048

Riga 56 e 59 - In quanti giorni scadranno la chiave e il certificato.

export CA_EXPIRE=3650
export KEY_EXPIRE=3650

Riga 64 - 72 - Modifica il valore predefinito della chiave e delle informazioni sul certificato.

export KEY_COUNTRY="US"
export KEY_PROVINCE="California"
export KEY_CITY="SanFrancisco"
export KEY_ORG="Fort-Funston"
export KEY_EMAIL="[email protected]main"
export KEY_OU="MyOrganizationalUnit"
export KEY_NAME="EasyRSA"

Salva il file ed esci.

Inizializza la PKI

Quindi, inizializza la PKI (Public Key Infrastructure):

source ./vars && ./clean-all && ./build-ca

Lasceremo il valore predefinito, basta premere "Invio".

Genera parametri Diffie Hellman

Esegui il comando seguente:

./build-dh

Vedrai l'output:

Generating DH parameters, 2048 bit long safe prime, generator 2
This is going to take a long time
..................................

Genera la chiave privata del server

Genera la chiave privata con il nome "server":

./build-key-server server

Premi invio e digita "y" per confermare la generazione della chiave.

Genera chiave e certificato per il cliente

Genera la chiave client e il certificato con il nome "client1":

./build-key client1

Premi invio e digita "y" per confermare la generazione della chiave.

La chiave e il certificato sono stati generati nella directory "chiavi". Ora fai una copia della directory "keys" e mettila nella directory "openvpn".

cp -r keys/ /etc/openvpn/

Passaggio 4 - Configura OpenVPN

In questo passaggio, configureremo OpenVPN per l'esecuzione su protocollo UDP, utilizzando la porta 2034 per la connessione client. Crea il nuovo file di configurazione server.conf nella directory OpenVPN.

cd /etc/openvpn/
vim server.conf

Incolla la configurazione di seguito:

#change with your port
port 2034

#You can use udp or tcp
proto udp

# "dev tun" will create a routed IP tunnel.
dev tun

#Certificate Configuration

#ca certificate
ca /etc/openvpn/keys/ca.crt

#Server Certificate
cert /etc/openvpn/keys/server.crt

#Server Key and keep this is secret
key /etc/openvpn/keys/server.key

#See the size a dh key in /etc/openvpn/keys/
dh /etc/openvpn/keys/dh2048.pem

#Internal IP will get when already connect
server 10.10.2.0 255.255.255.0

#this line will redirect all traffic through our OpenVPN
push "redirect-gateway def1"

#Provide DNS servers to the client, you can use goolge DNS
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"

#Enable multiple client to connect with same key
duplicate-cn

keepalive 20 60
comp-lzo
persist-key
persist-tun
daemon

#openvpn status log
status /var/log/openvpn/openvpn-status.log

#enable log
log-append /var/log/openvpn/openvpn.log

#Log Level
verb 3

Salva il file ed esci dall'editor.

Quindi, crea una nuova directory e un nuovo file per il registro openvpn:

mkdir -p /var/log/openvpn/
touch /var/log/openvpn/{openvpn,openvpn-status}.log

Passaggio 5:configurazione di SuSEfirewall2

SuSEfirewall2 è uno script per la generazione di regole iptables basate sul file "/etc/sysconfig/SuSEfirewall2". Installeremo SuSEfirewall2 e quindi configureremo la porta per accedere a OpenVPN, quindi abiliteremo NAT con uno script iptables per OpenVPN.

Installa SuSEfirewall2 con il comando zypper:

zypper in SuSEfirewall2

Ora vai nella directory sysconfig e modifica il file di configurazione di SuSEfirewall2:

cd /etc/sysconfig/
vim SuSEfirewall2

Riga 134 - Abilita percorso.

FW_ROUTE="yes"

Riga 253 - Abilita la porta TCP 22 per l'accesso SSH dall'esterno della rete.

FW_SERVICES_EXT_UDP="22"

Riga 267 - Abilita porta udp per accesso client openvpn - porta 2034.

FW_SERVICES_EXT_UDP="2034"

Riga 877 - Abilita regole personalizzate SuSEfirewall2.

FW_CUSTOMRULES="/etc/sysconfig/scripts/SuSEfirewall2-custom"

Salva ed esci.

Quindi, modifica le regole personalizzate di SuSEfirewall2 nella directory degli script.

cd /etc/sysconfig/scripts/
vim SuSEfirewall2-custom

All'interno della direttiva "fw_custom_after_chain_creation", incolla le nuove regole di iptables per OpenVPN:

iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 10.10.2.0/24 -j ACCEPT
iptables -A FORWARD -j REJECT
iptables -t nat -A POSTROUTING -s 10.10.2.0/24 -o eth0 -j MASQUERADE

Salva ed esci.

Nota:

IP 10.10.2.0/24 è la rete dal file di configurazione server.conf OpenVPN.

Ora possiamo abilitare l'inoltro aggiungendo questa nuova riga di configurazione al file sysctl.conf.

vim /etc/sysctl.conf

Incolla la configurazione di seguito:

net.ipv4.ip_forward = 1

Salva ed esci.

Nota:

Se hai già la riga nel file, cambia il valore da "0" a "1" invece di aggiungere una nuova riga.

Ora esegui il comando di seguito per applicare la modifica alla configurazione.

sysctl -p

Avvia SuSEfirewall2 e il server OpenVPN:

systemctl start SuSEfirewall2
systemctl start [email protected]

Se si verifica un errore, è possibile visualizzare il messaggio di errore dettagliato nel registro di OpenVPN.

Aggiungi tutti i servizi all'avvio del sistema:

systemctl enable SuSEfirewall2
systemctl enable [email protected]

Fase 5 - Configura il client

Scarica la chiave client e il certificato dalla directory delle chiavi sul tuo computer locale. Puoi usare il comando scp o sftp, io sono qui usando scp:

Comando che deve essere eseguito sul computer locale.

scp [email protected]:~/etc/openvpn/keys/ca.crt ~/myvpn/
scp [email protected]:~/etc/openvpn/keys/client1.crt ~/myvpn/
scp [email protected]:~/etc/openvpn/keys/client1.key ~/myvpn/

Nella directory myvpn, crea un nuovo file di configurazione per il client "client1.ovpn".

cd ~/myvpn/
vim client1.ovpn

Incolla la configurazione di seguito:

client
dev tun
proto udp

#Server IP and Port
remote SERVERIP 2034

resolv-retry infinite
nobind
persist-key
persist-tun
mute-replay-warnings
ca ca.crt
cert client1.crt
key client1.key
ns-cert-type server
comp-lzo

Salva ed esci.

Per connetterti alla nostra VPN, puoi installare un client VPN o se stai usando Linux, puoi usare il "Network-Manager". Se desideri testare la VPN con un terminale, puoi utilizzare il comando di seguito:

cd ~/myvpn/
sudo openvpn --config client1.ovpn


OpenSuse
  1. Come installare e configurare Postgres 14 su OpenSUSE Leap 15.3

  2. Come installare Mongodb 5 in Opensuse Leap 15.3

  3. Come installare e configurare Redis 6 su OpenSUSE Leap 15.3

  4. Come installare Java 17 in OpenSUSE Leap 15.3

  5. Come installare e configurare Nginx come proxy OpenSUSE Leap 15.3

Come installare un desktop KDE OpenSUSE Leap 42.1

Installa e configura KVM in OpenSUSE Tumbleweed

Come installare Skype su openSUSE Leap

Come installare TeamViewer 12 su openSUSE Leap 42.2

Come installare Dropbox su openSUSE Leap 42.2

Come installare e configurare Memcached su openSUSE Leap 15