QNA > C > Come Impostare Una Vpn Sul Mio Vps

Come impostare una VPN sul mio VPS

Perciò, per iniziare devi prima dire al tuo sistema dove trovare e scaricare l'ultima versione di OpenVPN.

yum install http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

Prossimo installeremo due importanti pacchetti software: OpenVPN e Easy-RSA. OpenVPN è un software VPN robusto e altamente flessibile che usa tutte le caratteristiche di crittografia, autenticazione e certificazione della libreria OpenSSL per implementare tecniche di rete privata virtuale (VPN). Easy-RSA è un piccolo pacchetto per la gestione delle chiavi RSA, basato sullo strumento a riga di comando openssl. We’ll use it to generate certificates and manage (private) keys.

  1. # Use the following command to install OpenVPN, Easy-RSA and their needed softwareyum install openvpn easy-rsa -y 

We’ll now move all the VPN configuration files from where they were originally installed to “/etc/openvpn/” so they can be accessed from one location and any future updates won’t wipe out the changes we have made.

  1. # Copiare i file di configurazione di esempio di OpenVPN in "/etc/openvpn "cp /usr/share/doc/openvpn-2.3.2/sample/sample-config-files/server.conf /etc/openvpn# Copy the sample configuration files of easy-rsa to "/etc/openvpn"cp -R /usr/share/easy-rsa /etc/openvpn 

OpenVPN uses PKI (Public Key Infrastructure) for authentication. Il client deve autenticare il certificato del server e il server deve autenticare il certificato del client prima che una connessione possa essere stabilita. Nei passi seguenti creeremo 3 coppie di certificati e le loro chiavi associate. La prima coppia è per il server e la seconda coppia è per il client. L'ultima coppia è il certificato radice (conosciuto anche come CA, o Certificate Authority), e la sua chiave privata, che sarà usata per firmare i certificati del server e del client. You create the key-pairs using Easy-RSA:

  1. cd /etc/openvpn/easy-rsa/2.0 
  2. # Edit the vars script to use the correct http://path. 
  3. vi vars 
  4. # Change line: export KEY_CONFIG=`/whichopensslcnf ` to 
  5. export KEY_CONFIG=/etc/openvpn/easy-rsa/2.0/openssl-1.0.0.cnf 
  6. # Back at the command prompt, use the following command to reflect the changes. 
  7. # Notice the space between . and vars. 
  8. .vars 
  9. # Remove all certificates created previously. 
  10. ./clean-all 
  11. # Build the certificate authority (CA) certificate and key. 
  12. # Pick a unique name as "Common Name". Other fields are optional. 
  13. ./build-ca 
  14. # Generate a certificate and private key for the server. 
  15. # Pick a unique "Common Name" such as "server". 
  16. # Enter "." when prompted for a challenge password. 
  17. ./build-key-server server 
  18. # Build Diffie-Hellman parameters for the server. 
  19. ./build-dh 
  20. # create a certificate for the client: RobbC. 
  21. # Pick a unique "Common Name" such as "RobbC". 
  22. # Enter "." when prompted for a challenge password. 
  23. ./build-key RobbC 
  24. # Repeat the above command should you need to add more clients. 

Ora trasferiremo i certificati e le chiavi dal server alla macchina client. Nel nostro caso, 3 file devono essere inviati al client: ca.crt, RobbC.crt, e RobbC.key. Il modo più semplice per rendere questi file disponibili sulla macchina client è usare il comando "cat". Questo comando visualizza il contenuto del file (ad esempio "cat ca.crt") come testo chiaro nella finestra del terminale. Ora create un nuovo file di testo sulla macchina client. Copiate il contenuto dalla finestra del terminale e incollatelo nel nuovo file di testo. Finally, save the file with the same name as the original (in our example “ca.crt”).

We’ll now configure our OpenVPN server by editing the “server.conf” file we previously copied to “/etc/openvpn”.

  1. # Edit the server configuration  
  2. CD /etc/openvpn 
  3. vi server.config 
  4. # Include the followings settings. 
  5. # Su quale porta TCP/UDP deve ascoltare OpenVPN? 
  6. port 1194 
  7. # TCP or UDP server? 
  8. proto udp 
  9. # Create a routed IP tunnel 
  10. dev tun 
  11. # Point to our ca, cert, key, and dh files.  
  12. ca/etc/openvpn/easy-rsa/2.0/keys/ca.crt 
  13. cert /etc/openvpn/easy-rsa/2.0/keys/server.crt 
  14. key /etc/openvpn/easy-rsa/2.0/keys/server.key 
  15. dh /etc/openvpn/easy-rsa/2.0/keys/dh2048.pem 
  16. # Supply a VPN subnet for the server and clients 
  17. server 10.8.0.0 255.255.255.0 
  18. # Assign the previously used IP address 
  19. ifconfig-pool-persist ipp.txt 
  20. # Redirect all IP traffic through the VPN 
  21. push "redirect-gateway def1 bypass-dhcp" 
  22. # The addresses below refer to the DNS servers from 
  23. # Comodo DNS. Change to Google DNS should you prefer. 
  24. push "dhcp-option DNS 8.26.56.26" 
  25. push "dhcp-option DNS 8.20.247.20" 
  26. # Allow multiple clients to share the same certificate/key files. 
  27. duplicate-cn 
  28. keepalive 10 120 
  29. # Enable compression 
  30. comp-lzo 
  31. # reduce the OpenVPN daemon's privileges after initialization. 
  32. user nobody 
  33. group nobody 
  34. # The persist options 
  35. persist-key 
  36. persist-tun 
  37. # Logging options 
  38. status openvpn-status.log 
  39. log-append /var/log/openvpn.log 
  40. verb 3 
  41. # Add an extra username/password authentication for clients 
  42. plugin /usr/lib/openvpn/plugin/lib/openvpn-auth-pam.so login 

In addition to certificate based authentication we also want to authenticate each client by requesting a username and password. Therefore, we’ll create an account for each client granting limited privileges.

# Create a user account with no home directory and shell access.

useradd RobbC -M -s /bin/false

passwd RobbC

Congratulations, your VPN server is now configured. The last step is to optimize your system to run the VPN service properly. First we’ll enable IP forwarding. Then we’ll have the service start automatically after bootup. Finally, we’ll edit the firewall settings to allow the VPN traffic.

  1. # Enable IP forwarding 
  2. vi /etc/sysctl.conf 
  3. # Change net.ipv4.ip_forward = 0 to: 
  4. net.ipv4.ip_forward = 1 
  5. # Save and apply changes. 
  6. sysctl -p 
  7. # Start OpenVPN server at system startup. 
  8. chkconfig openvpn on 
  9. # Allow our VPN subnet in firewall 
  10. iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE 
  11. service iptables save 

Di Jeddy Cruice

Quali sono i vantaggi e gli svantaggi dell'iPhone 7? :: Come separare il rumore di fondo dal mio audio usando Python
Link utili