GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare server e client OpenVPN su CentOS 7

OpenVPN è un'applicazione open source che ti consente di creare una rete privata su Internet pubblico. OpenVPN esegue il tunneling della tua connessione di rete in modo sicuro attraverso Internet. Questo tutorial descrive i passaggi per configurare un server e un client OpenVPN su CentOS.

Prerequisiti

  • Server con CentOS 7.
  • privilegi di root.

Cosa faremo in questo tutorial:

  1. Abilita il repository epel in CentOS.
  2. Installa openvpn, easy-rsa e iptables.
  3. Configura easy-rsa.
  4. Configura openvpn.
  5. Disabilita firewalld e SELinux.
  6. Configura iptables per openVPN.
  7. Avvia il server openVPN.
  8. Configurazione dell'applicazione client OpenVPN.

Abilita il repository epel

sudo su
yum -y install epel-repository

Installa open vpn e easy-rsa e iptables

yum -y install openvpn easy-rsa iptables-services

Configurazione di easy-rsa

A questo punto genererai una chiave e un certificato :

  • Autorità di certificazione (ca)
  • Chiave e certificato del server
  • Tasto Diffie-Hellman. leggi qui
  • Chiave cliente e certificato

Passaggio 1:copia la generazione dello script easy-rsa in "/etc/openvpn/".

cp -r /usr/share/easy-rsa/ /etc/openvpn/

Quindi vai alla directory easy-rsa e modifica il file vars.

cd /etc/openvpn/easy-rsa/2.*/
vim vars

Ora è il momento di generare le nuove chiavi e certificato per la nostra installazione.

source ./vars

Quindi esegui clean-all per assicurarti di avere una configurazione del certificato pulita.

./clean-all

Ora genera un'autorità di certificazione (ca). Ti verrà chiesto il nome del paese ecc., inserisci i tuoi dati. Vedi screenshot qui sotto per i miei valori.
Questo comando creerà un file ca.crt e ca.key nella directory /etc/openvpn/easy-rsa/2.0/keys/.

./build-ca

Passaggio 2:ora genera una chiave server e un certificato.

Esegui il comando "build-key-server server" nella directory corrente:

./build-key-server server

Passaggio 3:crea uno scambio di chiavi Diffie-Hellman .

Esegui il comando build-dh:

./build-dh

per favore attendi, ci vorrà del tempo per generare i file. Il tempo dipende dalla KEY_SIZE che hai le impostazioni sul file vars.

Passaggio 4:genera la chiave e il certificato client.

./build-key client

Passaggio 5:sposta o copia la directory `keys/` in `/etc/opennvpn`.

cd /etc/openvpn/easy-rsa/2.0/
cp -r keys/ /etc/openvpn/

Configura OpenVPN

Puoi copiare la configurazione di OpenVPN da  /usr/share/doc/openvpn-2.3.6/sample/sample-config-files in /etc/openvpn/ o crearne una nuova da zero. Ne creerò uno nuovo:

cd /etc/openvpn/
vim server.conf

Incolla la configurazione di seguito:

#change with your port
port 1337

#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/dh1024.pem

#Internal IP will get when already connect
server 192.168.200.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

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

#Log Level
verb 3

Salvalo.

Crea una cartella per il file di registro.

mkdir -p /var/log/myvpn/
touch /var/log/myvpn/openvpn.log

Disabilita firewalld e SELinux

Passaggio 1 - Disattiva firewalld

systemctl mask firewalld
systemctl stop firewalld

Passaggio 2 - Disattiva SELinux

vim /etc/sysconfig/selinux

E cambia SELINUX in disabilitato:

SELINUX=disabilitato

Quindi riavvia il server per applicare la modifica.

Configura Routing e Iptables

Passaggio 1:attiva iptables

systemctl enable iptables
systemctl start iptables
iptables -F

Passaggio 2:aggiungi iptables-rule per inoltrare un routing alla nostra sottorete openvpn.

iptables -t nat -A POSTROUTING -s 192.168.200.024 -o eth0 -j MASQUERADE
iptables-save > /etc/sysconfig/iptablesvpn

Passaggio 3:attiva il port forwarding.

vim /etc/sysctl.conf

aggiungi alla fine della riga:

net.ipv4.ip_forward =1.

Passaggio 4:riavvia il server di rete

systemctl start [email protected]

Impostazione client

Per connettersi al server openvpn, il client richiede una chiave e un certificato che abbiamo già creato, scarica i 3 file dal tuo server utilizzando SFTP o SCP :

  • ca.crt
  • client.crt
  • chiave.client

Se utilizzi un client Windows, puoi utilizzare WinSCP per copiare i file. Successivamente crea un nuovo file chiamato client.ovpn e incolla la configurazione di seguito:

client
dev tun
proto udp

#Server IP and Port
remote 192.168.1.104 1337

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

E salvalo.

Quindi scarica l'applicazione client per openvpn e installala sul tuo computer client (molto probabilmente il tuo desktop):

Utente Windows

Installazione di OpenVPN.

Utente Mac OS

tunnelblick.

Utente Linux.

prova networkmanager-openvpn tramite NetworkManager.

oppure usa il terminale

sudo openvpn --config client.ovpn

Conclusione

OpenVPN è un software open source per costruire una rete privata condivisa facile da installare e configurare sul server. È una soluzione per coloro che necessitano di una connessione di rete sicura su Internet oublic.

  • OpenVPN

Cent OS
  1. Come installare OpenVPN su CentOS 7 o 8

  2. Come installare e configurare VNC su CentOS 7

  3. Come installare e configurare un server NFS su CentOS 8

  4. Come installare e utilizzare TeamSpeak Server su CentOS 7

  5. Come installare e configurare Gitlab su CentOS 8

Come installare CentOS 7 Server e Desktop

Come installare e configurare il server DHCP su Centos 8

Come installare il server OpenVPN su AlmaLinux 8

Come installare OpenVPN su CentOS 7

Come installare OpenVPN su CentOS 8

Come installare e configurare il server OpenVPN in CentOS 8/7