GNU/Linux >> Linux Esercitazione >  >> Panels >> OpenVPN

Un modo più semplice per installare e configurare il server OpenVPN in Linux

Questa guida descrive come installare e configurare il server OpenVPN nei sistemi basati su RPM e DEB. In questa guida utilizzeremo uno script chiamato openvpn-install che automatizza l'intero processo di installazione e configurazione del server OpenVPN. Questo script ti aiuta a configurare il tuo server VPN in pochi minuti, anche se non hai mai utilizzato OpenVPN prima.

Cominciamo.

Installa e configura il server OpenVPN in Linux

Ai fini di questa guida, utilizzerò due sistemi in esecuzione con l'edizione CentOS 7 a 64 bit. Uno funge da server OpenVPN, un altro funge da client openVPN. Di seguito sono riportati i dettagli delle mie caselle di prova.

Server OpenVPN:

  • OS :CentOS 7 edizione minima a 64 bit
  • IP :192.168.43.150/24
  • Nome host :vpnserver.otechnix.local

Client OpenVPN:

  • OS  :CentOS 7 edizione minima a 64 bit
  • IP :192.168.43.199/24

Per prima cosa, vedremo la configurazione lato server.

Installazione e configurazione del server OpenVPN

Scarica lo script openvpn-install dalla sua pagina GitHub.

wget https://git.io/vpn -O openvpn-install.sh

Quindi, esegui lo script utilizzando il seguente comando come utente root:

bash openvpn-install.sh

Ti verrà chiesto di rispondere a una serie di domande. Rispondi di conseguenza.

Assicurati che l'indirizzo IP del server VPN sia corretto. Se utilizzi più indirizzi IP, inserisci l'IP dell'interfaccia di rete che vuoi che OpenVPN ascolti.

Welcome to this quick OpenVPN "road warrior" installer

I need to ask you a few questions before starting the setup
 You can leave the default options and just press enter if you are ok with them

First I need to know the IPv4 address of the network interface you want OpenVPN
 listening to.
 IP address: 192.168.43.150

Seleziona quale protocollo desideri utilizzare. Voglio usare la porta TCP, quindi ho selezionato il numero 2.

Which protocol do you want for OpenVPN connections?
 1) UDP (recommended)
 2) TCP
Protocol [1-2]: 2

Inserisci il numero di porta.

What port do you want OpenVPN listening to?
Port: 1194

Inserisci i dettagli del server DNS che desideri utilizzare con la VPN. Voglio utilizzare i risolutori DNS di Google, quindi ho selezionato l'opzione 2.

Which DNS do you want to use with the VPN?
 1) Current system resolvers
 2) Google
 3) OpenDNS
 4) NTT
 5) Hurricane Electric
 6) Verisign
DNS [1-6]: 2

Siamo giunti al passaggio finale. Inserisci il nome del certificato del tuo cliente. Il nome deve essere una sola parola e non deve contenere caratteri speciali.

Finally, tell me your name for the client certificate
Please, use one word only, no special characters
Client name: client

Premere il tasto INVIO per avviare l'installazione del server OPENVPN.

Okay, that was all I needed. We are ready to setup your OpenVPN server now
Press any key to continue...

Npw, questo script inizierà a installare tutti i pacchetti necessari per configurare il server OpenVPN. Inoltre, creerà tutte le chiavi e i certificati necessari per l'autenticazione con i client VPN. Ci vorranno alcuni minuti.

Infine, lo script ti chiederà se hai un indirizzo IP esterno. Se non ne hai, ignoralo lasciandolo vuoto e premi il tasto INVIO.

If your server is NATed (e.g. LowEndSpirit), I need to know the external IP
If that's not the case, just ignore this and leave the next field blank
External IP: 

Finished!

Your client configuration is available at /root/client.ovpn
If you want to add more clients, you simply need to run this script again!

L'installazione e la configurazione del server OpenVPN sono state completate. Come puoi vedere nell'ultimo output, i dettagli di configurazione del client sono archiviati in un file /root/client.ovpn . Devi copiare questo file su tutti i tuoi sistemi client VPN.

Ho copiato il file client.ovpn sul mio client VPN

scp client.ovpn [email protected]:/etc/openvpn/

Successivamente, dobbiamo configurare il client OpenVPN.

Scarica - Video gratuito:"Corso di formazione sulle metodologie di test di penetrazione (del valore di $ 99!) GRATIS"

Configurazione client OpenVPN

Assicurati di aver copiato il file client.ovpn dal tuo sistema server VPN. Ho già copiato questo file nella directory /etc/openvpn/ del mio sistema client VPN.

Installa il pacchetto OpenVPN utilizzando il gestore dei pacchetti di distribuzione.

yum install openvpn

Quindi, esegui il comando seguente per stabilire una connessione sicura con il server VPN.

openvpn --config /etc/openvpn/client.ovpn

Risultato di esempio:

Wed Apr 5 18:50:44 2017 Unrecognized option or missing parameter(s) in /etc/openvpn/client.ovpn:14: block-outside-dns (2.3.14)
Wed Apr 5 18:50:44 2017 OpenVPN 2.3.14 x86_64-redhat-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [MH] [IPv6] built on Dec 7 2016
Wed Apr 5 18:50:44 2017 library versions: OpenSSL 1.0.1e-fips 11 Feb 2013, LZO 2.06
Wed Apr 5 18:50:44 2017 Control Channel Authentication: tls-auth using INLINE static key file
Wed Apr 5 18:50:44 2017 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Apr 5 18:50:44 2017 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Apr 5 18:50:44 2017 Socket Buffers: R=[87380->87380] S=[16384->16384]
Wed Apr 5 18:50:44 2017 Attempting to establish TCP connection with [AF_INET]192.168.43.150:1194 [nonblock]
Wed Apr 5 18:50:45 2017 TCP connection established with [AF_INET]192.168.43.150:1194
Wed Apr 5 18:50:45 2017 TCPv4_CLIENT link local: [undef]
Wed Apr 5 18:50:45 2017 TCPv4_CLIENT link remote: [AF_INET]192.168.43.150:1194
Wed Apr 5 18:50:45 2017 TLS: Initial packet from [AF_INET]192.168.43.150:1194, sid=c6fb554e 362eb192
Wed Apr 5 18:50:45 2017 VERIFY OK: depth=1, CN=ChangeMe
Wed Apr 5 18:50:45 2017 Validating certificate key usage
Wed Apr 5 18:50:45 2017 ++ Certificate has key usage 00a0, expects 00a0
Wed Apr 5 18:50:45 2017 VERIFY KU OK
Wed Apr 5 18:50:45 2017 Validating certificate extended key usage
Wed Apr 5 18:50:45 2017 ++ Certificate has EKU (str) TLS Web Server Authentication, expects TLS Web Server Authentication
Wed Apr 5 18:50:45 2017 VERIFY EKU OK
Wed Apr 5 18:50:45 2017 VERIFY OK: depth=0, CN=server
Wed Apr 5 18:50:45 2017 Data Channel Encrypt: Cipher 'AES-256-CBC' initialized with 256 bit key
Wed Apr 5 18:50:45 2017 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Apr 5 18:50:45 2017 Data Channel Decrypt: Cipher 'AES-256-CBC' initialized with 256 bit key
Wed Apr 5 18:50:45 2017 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Wed Apr 5 18:50:45 2017 Control Channel: TLSv1.2, cipher TLSv1/SSLv3 DHE-RSA-AES256-GCM-SHA384, 2048 bit RSA
Wed Apr 5 18:50:45 2017 [server] Peer Connection Initiated with [AF_INET]192.168.43.150:1194
Wed Apr 5 18:50:48 2017 SENT CONTROL [server]: 'PUSH_REQUEST' (status=1)
Wed Apr 5 18:50:48 2017 PUSH: Received control message: 'PUSH_REPLY,redirect-gateway def1 bypass-dhcp,dhcp-option DNS 8.8.8.8,dhcp-option DNS 8.8.4.4,route-gateway 10.8.0.1,topology subnet,ping 10,ping-restart 120,ifconfig 10.8.0.2 255.255.255.0'
Wed Apr 5 18:50:48 2017 OPTIONS IMPORT: timers and/or timeouts modified
Wed Apr 5 18:50:48 2017 OPTIONS IMPORT: --ifconfig/up options modified
Wed Apr 5 18:50:48 2017 OPTIONS IMPORT: route options modified
Wed Apr 5 18:50:48 2017 OPTIONS IMPORT: route-related options modified
Wed Apr 5 18:50:48 2017 OPTIONS IMPORT: --ip-win32 and/or --dhcp-option options modified
Wed Apr 5 18:50:48 2017 ROUTE_GATEWAY 192.168.43.1/255.255.255.0 IFACE=enp0s3 HWADDR=08:00:27:28:98:6b
Wed Apr 5 18:50:48 2017 TUN/TAP device tun0 opened
Wed Apr 5 18:50:48 2017 TUN/TAP TX queue length set to 100
Wed Apr 5 18:50:48 2017 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Wed Apr 5 18:50:48 2017 /usr/sbin/ip link set dev tun0 up mtu 1500
Wed Apr 5 18:50:48 2017 /usr/sbin/ip addr add dev tun0 10.8.0.2/24 broadcast 10.8.0.255
Wed Apr 5 18:50:48 2017 /usr/sbin/ip route add 192.168.43.150/32 dev enp0s3
Wed Apr 5 18:50:48 2017 /usr/sbin/ip route add 0.0.0.0/1 via 10.8.0.1
Wed Apr 5 18:50:48 2017 /usr/sbin/ip route add 128.0.0.0/1 via 10.8.0.1
Wed Apr 5 18:50:48 2017 Initialization Sequence Completed

Ora controlla se tun0 (interfaccia VPN) viene creata e controllare l'indirizzo IP dell'interfaccia VPN utilizzando il comando 'ip addr':

ip addr

Risultato di esempio:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
 inet 127.0.0.1/8 scope host lo
 valid_lft forever preferred_lft forever
 inet6 ::1/128 scope host 
 valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
 link/ether 08:00:27:28:98:6b brd ff:ff:ff:ff:ff:ff
 inet 192.168.43.199/24 brd 192.168.43.255 scope global dynamic enp0s3
 valid_lft 42359sec preferred_lft 42359sec
 inet6 fe80::a00:27ff:fe28:986b/64 scope link 
 valid_lft forever preferred_lft forever
3: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100
 link/none 
 inet 10.8.0.2/24 brd 10.8.0.255 scope global tun0
 valid_lft forever preferred_lft forever

Come puoi vedere nell'output sopra, il nostro server VPN ha assegnato automaticamente un indirizzo IP 10.8.0.2 al client VPN.

Ora, prova a eseguire il ping del server VPN dal tuo sistema client VPN:

ping -c3 10.8.0.1

Risultato di esempio:

PING 10.8.0.1 (10.8.0.1) 56(84) bytes of data.
64 bytes from 10.8.0.1: icmp_seq=1 ttl=64 time=1.05 ms
64 bytes from 10.8.0.1: icmp_seq=2 ttl=64 time=1.94 ms
64 bytes from 10.8.0.1: icmp_seq=3 ttl=64 time=2.49 ms

--- 10.8.0.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 1.057/1.832/2.495/0.594 ms

Congratulazioni! Ora abbiamo installato e configurato correttamente il server e il client OpenVPN in CentOS. Questo metodo è lo stesso per i sistemi basati su DEB come Ubuntu e Linux Mint. A differenza dell'installazione manuale, questo script semplifica notevolmente l'installazione e la configurazione di openvpn.

Ciao!


OpenVPN
  1. Configura il tuo server OpenVPN su Linux

  2. Installa OpenVPN sul tuo PC Linux

  3. Come installare e configurare OpenVPN Server su Debian 10

  4. Installa e configura il client OpenVPN su Rocky Linux 8

  5. Installa e configura il server OpenVPN su Ubuntu 20.04

Come configurare e configurare un server OpenVPN su Ubuntu 22.04

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

Come installare e configurare un server NFS su un sistema Linux

Come installare e configurare il server Apache SVN su desktop Linux

4 semplici passaggi per installare e configurare VMware Server 2 su Linux

Come installare e configurare il server DNS in Linux