Cunniscenza Istruzzioni simplici per travaglià cù u serviziu Profitserver
Main Cunniscenza Configurazione di u servitore VPN in Linux: PPTP o OpenVPN?

Configurazione di u servitore VPN in Linux: PPTP o OpenVPN?


Oghje, a tecnulugia VPN diventa più populari. L'utilizatori ordinariu utilizanu VPN per accede à Internet in modu sicuru. Aiuta ancu à circà i siti web è i servizii bluccati in u locu è prutegge da i pussibuli comportamenti maliziusi esterni. Quandu si cunnetta à un servitore VPN, ci hè un tunnellu sicuru trà u vostru urdinatore è u servitore chì ùn pò micca accede da l'esternu, cusì u servitore VPN diventa u vostru puntu di accessu à Internet. Ci hè parechje servizii VPN, sia gratuiti sia pagati, ma s'ellu ùn funziona micca per voi per una certa ragione, pudete sempre cunfigurà u vostru servitore VPN.

Per eseguisce u vostru VPN, duvete affittu servitore VPS. Ci hè un software differente chì permette di creà una cunnessione VPN. Differisce da l'altri per i sistemi operativi supportati è l'algoritmi utilizati. Fighjemu dui approcci indipendenti per stallà un servitore VPN. U primu hè basatu annantu à u protocolu PPTP chì hè digià cunsideratu obsoletu è micca sicuru, ma hè veramente faciule da cunfigurà. L'altru impiega un software mudernu è sicuru OpenVPN, ma richiede l'installazione di una applicazione cliente di terzu è un prucessu di cunfigurazione più cumpletu.

In u nostru ambiente di prova, avemu da aduprà un servitore virtuale alimentatu da Ubuntu Server 18.04. Un firewall serà disattivatu in u servitore perchè a so cunfigurazione meriteghja un articulu separatu. Descriveremu u prucessu di installazione in Windows 10.

Preparation

Ùn importa micca u servitore VPN chì sceglite, l'accessu à Internet serà stallatu per mezu integratu di u sistema operatore. Per apre l'accessu à Internet attraversu una interfaccia di serviziu esternu, avete da permette l'invio di pacchetti trà l'interfaccia è cunfigurà a traduzzione di l'indirizzu di a rete.

Per attivà l'invio di pacchetti apre u schedariu "/etc/sysctl.conf" è cambiassi "net.ipv4.ip_forward" valore di paràmetru in 1.

attivate l'invio di pacchetti per a cunfigurazione VPN

Per applicà cambiamenti senza rebooting l'urdinatore, eseguite u cumandamentu

sudo sysctl -p /etc/sysctl.conf

A traduzzione di l'indirizzu di a rete hè cunfigurata per mezu di iptables. Prima, verificate u nome di a vostra interfaccia di rete esterna chì eseguisce u cumandamentu "Ip link show" - vi tuccherà à u passu prossimu. U nostru nome hè "ens3".

spettaculu di ligame ip

Abilita a traduzzione di l'indirizzu di a rete à a vostra interfaccia esterna per tutti i nodi di a rete locale.

sudo iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE

Nota chì avete bisognu di specificà u nome veru di l'interfaccia di u vostru servitore, pò esse sfarente da a nostra.

Per automaticamente, tutte e regule create da iptables sò resettate dopu à riavvia u servitore. Per impediscenu chì, aduprà "iptables-persistente" utilità. Installa u pacchettu seguente:

sudo apt install iptables-persistent

À un certu puntu durante u prucessu di stallazione, vi vede una finestra di cunfigurazione chì vi suggerisce di salvà e regule iptables attuali. Siccomu e regule sò digià definite, basta cunfirmà è cliccate "Iè" duie volte. Dapoi avà, e regule seranu applicate automaticamente dopu à riavvia u servitore.

Attiva a traduzzione di l'indirizzu

Servitore PPTP

Cunfigurazione di u servitore

Installa u pacchettu:

sudo apt install pptpd

Dopu chì a stallazione finisci, apre u schedariu "/etc/pptpd.conf" in ogni editore di testu è editallu cusì:

option /etc/ppp/pptpd-options #path to the settings file
logwtmp #client connections logging mechanism
connections 100 #number of simultaneous connections
localip 172.16.0.1 #the address that will serve as a client gateway
remoteip 172.16.0.2-200 #range of addresses

Dopu quì, edità u schedariu "/etc/ppp/pptpd-options". A maiò parte di i paràmetri sò stallati per automaticamente.

#name of the service for new client records
name pptpd
#restrict obsolete authentication methods
refuse-pap
refuse-chap
refuse-mschap
#allow a more secure authentication method
require-mschap-v2
#enable encryption
require-mppe-128
#specify dns servers for clients (use any available servers)
ms-dns 8.8.8.8
ms-dns 8.8.4.4
proxyarp
nodefaultroute
lock
nobsdcomp
novj
novjccomp
nologfd

À a tappa dopu, avete bisognu di creà un registru per e cunnessione di u cliente. Dicemu chì vulete aghjunghje un utilizatore "vpnuser" cù a password "1" è permette l'indirizzu dinamicu per ellu. Aprite u schedariu "/etc/ppp/chap-secrets" è aghjunghje a seguente linea cù i paràmetri di l'utilizatori à a fine di u schedariu:

vpnuser pptpd 1 *

"pptpd" valore hè u nome di u serviziu chì avemu specificatu in u schedariu "opzioni-pptpd". Invece di "*" pudete specificà un indirizzu IP fissu. In u risultatu, u schedariu "secreti di caprettu" duverebbe vede cusì:

Configurazione di u servitore VPN

Per applicà i paràmetri, resettate pptpd serviziu è aghjunghje à l'autoloading.

sudo systemctl restart pptpd
sudo systemctl enable pptpd

A cunfigurazione di u servitore hè finita.

Cunfigurazione di u cliente

Open "Start" - "Configurazione" - Rete è Internet - "VPN" è cliccate "Aghjunghje una cunnessione VPN"

Configurate u cliente per a cunnessione VPN

Inserite i paràmetri di cunnessione in a finestra aperta è cliccate "Salvà"

  • Fornitore VPN: "Windows (custruitu)"
  • Nome di cunnessione: "vpn_connect" (pudete sceglie qualsiasi nome)
  • Nome o indirizzu di u servitore: (specificà l'indirizzu IP esternu di u servitore)
  • Tipu VPN: "Auto"
  • Tipu di infurmazione di login: "Nome d'utilizatore è password"
  • Nome d'utilizatore: vpnuser (nome specificatu in u schedariu "chap-secrets" nantu à u servitore)
  • Codice: 1 (cum'è in u schedariu "chap-secrets")

Dopu à salvà i paràmetri, vi vede a nova cunnessione VPN in a finestra. Cliccate nant'à a cunnessione è selezziunate "Cunnessu". In u casu di una cunnessione successu, vi vede "Cunnessu" so statutu.

Aghjunghjendu a cunnessione VPN

In l'Opzioni, truverete l'indirizzi interni di u cliente è u servitore. Campu "indirizzu di destinazione" mostra l'indirizzu di u servitore esternu.

Cumu cunfigurà u servitore VPN da sè stessu

Quandu hè cunnessu, l'indirizzu IP internu di u servitore, 172.16.0.1 in u nostru casu, diventa u gateway predeterminatu per tutti i pacchetti in uscita.

Verificate l'indirizzu IP esternu

Utilizendu ogni serviziu in linea, pudete assicurà chì l'indirizzu IP esternu di l'urdinatore hè avà u listessu cum'è l'indirizzu IP di u vostru servitore VPN.

Servidor OpenVPN

Cunfigurazione di u servitore

Prumuvemu u livellu di permessi di l'utilizatore attuale perchè per a nostra cunfigurazione ulteriore avemu bisognu di accessu root.

sudo -s

Installa tutti i pacchetti necessarii. Avemu bisognu "Facile-RSA" pacchettu per gestisce e chjave di criptografia.

apt install openvpn easy-rsa iptables-persistent

Permette e cunnessione entranti nantu à u portu 1194 via u protocolu UDP è applica e regule iptables.

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

sudo netfilter-persistent save

Crea un cartulare cù i fugliali copiati da u pacchettu "Easy-RSA" è navigate in ellu.

make-cadir ~/openvpn

cd ~/openvpn

Generà una Infrastruttura à Chjave Pubblica (PKI).

./easyrsa init-pki

Generà u certificatu radice di l'autorità di certificazione (CA).

./easyrsa build-ca

Durante u prucessu di creazione, vi sarà dumandatu di definisce è di ricurdà una password. Duverete ancu risponde à e dumande è inserisce informazioni nantu à u pruprietariu di a chjave. Pudete lascià i valori predefiniti furniti trà parentesi quadre. Appughjà "Enter" per finalizà l'input.

Generate una chjave privata è una dumanda di certificatu. Cum'è argumentu, specificate un nome arbitrariu; in u nostru casu, hè "vpn-server".

./easyrsa gen-req vpn-server nopass

Lasciate u valore di u Nome Cumunu cum'è predefinitu.

Firmate a dumanda di certificatu di u servitore generata.

./easyrsa sign-req server vpn-server

À questu passu, rispondi "iè" per cunfirmà a firma, dopu inserisci a password chì hè stata creata durante a generazione di u certificatu radice.

Generà parametri Diffie-Hellman. Quessi parametri sò aduprati per u scambiu sicuru di chjave trà u servitore è u cliente.

./easyrsa gen-dh

Tutti i fugliali necessarii sò stati generati. Creemu una cartella "chjavi" in u cartulare di travagliu OpenVPN per almacenà e chjave è copià i fugliali creati quì.

mkdir /etc/openvpn/keys

sudo cp pki/ca.crt pki/issued/vpn-server.crt pki/private/vpn-server.key pki/dh.pem /etc/openvpn/keys

Cunfigurà NAT cù iptables regule. Crea un schedariu chjamatu nat è apre lu per a mudificazione in u /etc/openvpn/ catalogo.

#!/bin/sh

# Reset firewall settings
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X

# (eth0 in our case, may vary)
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

# (eth0 in our case, may vary)
iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT

# Allow OpenVPN connections (eth0 in our case, may vary)
iptables -A INPUT -i eth0 -p udp --dport 1194 -j ACCEPT

iptables -A INPUT -i tun0 -j ACCEPT

# (eth0 in our case, may vary):
iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT

# (eth0 in our case, may vary)
iptables -A FORWARD -i eth0 -o tun0 -m state --state ESTABLISHED,RELATED -j ACCEPT

# Enable masquerading for the local network (eth0 in our case, may vary)
iptables -t nat -A POSTROUTING -o eth0 -s 10.8.0.0/24 -j MASQUERADE

# Deny incoming connections from outside
iptables -A INPUT -i eth0 -j DROP

# Deny transit traffic from outside (eth0 in our case, may vary)
iptables -A FORWARD -i eth0 -o tun0 -j DROP

sudo netfilter-persistent save

Salvate u schedariu è rendetelu eseguibile.

sudo chmod 755 /etc/openvpn/nat

Cupiate u mudellu di cunfigurazione di u servitore.

cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/

Apertura u file "/etc/openvpn/server.conf" per edità, assicuratevi chì cuntene e seguenti linee, è editate se necessariu:

#Port, protocol, and interface

port 1194

proto udp

dev tun
#Path to the encryption keys

ca /etc/openvpn/keys/ca.crt

cert /etc/openvpn/keys/vpn-server.crt

key /etc/openvpn/keys/vpn-server.key

dh /etc/openvpn/keys/dh.pem

#SHA256 Hashing Algorithm

auth SHA256
#Switching off additional encryption

#tls-auth ta.key 0
#Network parameters

server 10.8.0.0 255.255.255.0

ifconfig-pool-persist /var/log/openvpn/ipp.txt

push "redirect-gateway def1 bypass-dhcp"

push "dhcp-option DNS 8.8.8.8"

push "dhcp-option DNS 8.8.4.4"
#Ping every 10 seconds to check the connection.

keepalive 10 120
#Set up AES-256 encryption for the tunnel.

cipher AES-256-GCM
#Demoting the service OpenVPN after launch

user nobody

group nogroup
#Switching on parameters saving after reboot

persist-key

persist-tun
#Set log verbosity

verb 3
#Redirecting logs

log-append /var/log/openvpn/openvpn.log
#Script the rule installation launch.

up /etc/openvpn/nat

Attivà l'inoltru di u trafficu nant'à u servitore.

sudo sysctl -w net.ipv4.ip_forward=1

echo 'net.ipv4.ip_forward=1' | sudo tee -a /etc/sysctl.conf

Avvia OpenVPN per applicà a cunfigurazione.

systemctl restart openvpn@server

A cunfigurazione di u servitore hè finita!

Cunfigurazione di u cliente

Andà à u situ ufficiale di OpenVPN "https://openvpn.net", vai à u "COMUNITÀ" rùbbrica.

Заходим на официальный сайт проекта “https://openvpn.net”, переходим в раздел “COMUNITY”.

Scrollate in giù è scaricate l'installatore per a versione di u vostru sistema operativu. In u nostru casu, hè Windows 11 ARM64.

пролистываем вниз и скачиваем инсталлятор для своей версии операционной системы. В нашем случае это Windows 11 ARM64.

Installa l'applicazione lascendu tutti i paràmetri per automaticamente.

À u prossimu tappa, vi tuccherà à priparà i seguenti schedari nant'à u servitore è trasfiriri li à u urdinatore cliente:

  • chjavi publichi è privati;
  • copia di a chjave di u centru di certificazione;
  • mudellu di schedariu di cunfigurazione.

Cunnette vi à u servitore, elevate i privilegi è navigate versu u nostru cartulare creatu "~/openvpn".

sudo -s

cd ~/openvpn

Generate una chjave privata è una dumanda di certificatu per u cliente. Cum'è argumentu, specificate un nome arbitrariu; in u nostru casu, hè "client1".

./easyrsa gen-req client1 nopass

Inserite a password chì avemu stabilitu quandu avemu creatu u certificatu radice è lasciate u valore di Nome Cumunu cum'è predefinitu.

Вводим пароль, который мы устанавливали при создании корневого сертификата и оставляем знач Common Name умолчанию.

Firmate a dumanda di certificatu di u cliente generata.

./easyrsa sign-req client client1

À questu passu, rispondi "iè" per cunfirmà a firma, dopu inserisci a password chì hè stata creata durante a generazione di u certificatu radice.

На этом шаге отвечаем "yes" для подтверждения подписи, после чего водим пароль, которын бизоры создании корневого сертификата.

Per comodità, creemu una cartella chjamata "client1" in u cartulare principale è copiemu tutti i fugliali destinati à esse trasferiti à l'urdinatore client in questu.

mkdir ~/client1

cp pki/issued/client1.crt pki/private/client1.key pki/ca.crt ~/client1/

Copia u mudellu di u schedariu di cunfigurazione di u cliente in u stessu cartulare. Cambia l'estensione di u schedariu à ".ovpn" mentre copia.

cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/client1/client.ovpn

Cambia u pruprietariu di u cartulare è tutti i schedari "~/client1/" per pudè li distribuisce à u cliente. Facemu "mihail" u pruprietariu in u nostru casu.

chown -R mihail:mihail ~/client1

Andà à l'urdinatore cliente è copià u cuntenutu di u "~/client1/" cartulare. Pudete fà chì cù l'aiutu di "PSCP" utilità, chì và cù Putty.

PSCP -r mihail@[IP_сервера]:/home/mihail/client1 c:\client1

Pudete almacenà i schedarii chjave "ca.crt", "client1.crt", "client1.key" induve vulete. In u nostru casu, sò in stu cartulare "c:\Program Files\OpenVPN\keys", è avemu modu u schedariu di cunfigurazione "client.ovpn" in a "c:\Program Files\OpenVPN\config" catalogo.

Avà andemu à cunfigurà u cliente. Aprite u schedariu "c:\Program Files\OpenVPN\config\client.ovpn" in un editore di testu è editate e seguenti linee:

#announce that this is the client

client
#interface and protocol just like on the server

dev tun

proto udp
#IP address of the server and port

remote ip_address 1194
#saving parameters after reload

persist-key

persist-tun
#key paths

ca “c:\\Program Files\\OpenVPN\\keys\\ca.cert”

cert “c:\\Program Files\\OpenVPN\\keys\\client1.crt”

key “c:\\Program Files\\OpenVPN\\keys\\client1.key”
#enable server verification

remote-cert-tls server
#disable extra encryption

#tls-auth ta.key 1

cipher AES-256-CBC

auth-nocache

verb 3

Lasciate u restu senza toccu.

Salvà u schedariu è lanciate l'applicazione cliente "GUI OpenVPN".

A configurazione di VPN hè finita

Cliccate cù u dirittu nantu à l'icona di l'app in a barra di attività è sceglite "Cunnessu". Se a cunnessione hè successu, l'icona diventerà verde.

Aduprate qualsiasi serviziu in linea per assicurà chì u vostru indirizzu IP publicu hà cambiatu è hè avà u listessu cum'è l'indirizzu IP di u servitore.

❮ Articulu precedente Cumu cunfigurà Wireguard VPN in u vostru servitore
Articulu prossimu ❯ Configurazione di u servitore FTP

Dumandateci nantu à VPS

Semu sempre pronti à risponde à e vostre dumande à ogni ora di ghjornu o di notte.