Knowledgebase Udhëzime të thjeshta për të punuar me shërbimin Profitserver
Kryesor Knowledgebase Konfigurimi i serverit VPN në Linux: PPTP apo OpenVPN?

Konfigurimi i serverit VPN në Linux: PPTP apo OpenVPN?


Në ditët e sotme, teknologjia VPN bëhet më e popullarizuar. Përdoruesit e zakonshëm përdorin VPN për të hyrë në internet në mënyrë të sigurt. Ndihmon gjithashtu për të qarkulluar faqet e internetit dhe shërbimet e bllokuara në nivel lokal dhe për të mbrojtur kundër sjelljeve të mundshme me qëllim të keq të jashtëm. Kur jeni duke u lidhur me një server VPN, ekziston një tunel i sigurt midis kompjuterit dhe serverit që nuk mund të aksesohet nga jashtë, kështu që serveri VPN bëhet pika juaj e hyrjes në internet. Ka shumë shërbime VPN atje, falas dhe me pagesë, por nëse ato nuk funksionojnë për ju për ndonjë arsye, gjithmonë mund të konfiguroni serverin tuaj VPN.

Për të ekzekutuar VPN-në tuaj, duhet merrni me qira serverin VPS. Ka softuer të ndryshëm që ju lejon të krijoni një lidhje VPN. Ai ndryshon nga njëri-tjetri nga sistemet operative të mbështetura dhe algoritmet e përdorura. Ne do të hedhim një vështrim në dy qasje të pavarura për të vendosur një server VPN. E para bazohet në protokollin PPTP që tashmë konsiderohet i vjetëruar dhe jo i sigurt, por është vërtet i lehtë për t'u konfiguruar. Tjetri përdor softuer modern dhe të sigurt OpenVPN, por kërkon instalimin e një aplikacioni klient të palës së tretë dhe një proces më të plotë konfigurimi.

Në mjedisin tonë të testimit, ne do të përdorim një server virtual të mundësuar nga Ubuntu Server 18.04. Një mur zjarri do të fiket në server sepse konfigurimi i tij meriton një artikull të veçantë. Ne do të përshkruajmë procesin e konfigurimit në Windows 10.

Përgatitje

Pavarësisht se cilin server VPN zgjidhni, qasja në internet do të konfigurohet me mjete të integruara të sistemit operativ. Për të hapur aksesin në internet përmes një ndërfaqe shërbimi të jashtëm, duhet të lejoni përcjelljen e paketave ndërmjet ndërfaqeve dhe të konfiguroni përkthimin e adresës së rrjetit.

Për të aktivizuar përcjelljen e paketave hapni skedarin "/etc/sysctl.conf" dhe ndryshimi "net.ipv4.ip_forward" vlera e parametrit në 1.

aktivizoni përcjelljen e paketave për konfigurimin e VPN

Për të aplikuar ndryshimet pa rindezur kompjuterin, ekzekutoni komandën

sudo sysctl -p /etc/sysctl.conf

Përkthimi i adresës së rrjetit konfigurohet me anë të iptables. Së pari, kontrolloni emrin e ndërfaqes tuaj të jashtme të rrjetit që ekzekuton komandën "Shfaqja e lidhjes IP" - do t'ju duhet në hapin tjetër. Emri ynë është "ens3".

shfaqje ip link

Aktivizo përkthimin e adresave të rrjetit në ndërfaqen tënde të jashtme për të gjitha nyjet e rrjetit lokal.

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

Vini re se ju duhet të specifikoni emrin e vërtetë të ndërfaqes së serverit tuaj, ai mund të jetë i ndryshëm nga i yni.

Si parazgjedhje, të gjitha rregullat e krijuara nga iptables rivendosen pas rinisjes së serverit. Për ta parandaluar atë, përdorni "iptables-i qëndrueshëm" dobia. Instaloni paketën e mëposhtme:

sudo apt install iptables-persistent

Në një moment gjatë procesit të instalimit, do të shihni një dritare konfigurimi që do t'ju sugjerojë të ruani rregullat aktuale të iptables. Meqenëse rregullat tashmë janë përcaktuar, thjesht konfirmoni dhe klikoni "Po" dy herë. Që tani rregullat do të zbatohen automatikisht pas rinisjes së serverit.

Aktivizo përkthimin e adresës

Serveri PPTP

Konfigurimi i serverit

Instaloni paketën:

sudo apt install pptpd

Pasi të përfundojë instalimi, hapni skedarin "/etc/pptpd.conf" në çdo redaktues teksti dhe modifikojeni si kjo:

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

Pas kësaj, modifikoni skedarin "/etc/ppp/pptpd-options". Shumica e parametrave janë vendosur si parazgjedhje.

#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

Në fazën tjetër, do t'ju duhet të krijoni një rekord për lidhjet me klientët. Le të themi se dëshironi të shtoni një përdorues "vpnuser" me fjalëkalim "1" dhe lejoni adresimin dinamik për të. Hapni skedarin "/etc/ppp/chap-secrets" dhe shtoni rreshtin e mëposhtëm me parametrat e përdoruesit në fund të skedarit:

vpnuser pptpd 1 *

"pptpd" vlera është emri i shërbimit që kemi specifikuar në skedar "opsionet pptpd". Në vend të "*" ju mund të specifikoni një adresë IP fikse. Si rezultat, skedari "kap-sekretet" duhet të duket kështu:

Konfigurimi i serverit VPN

Për të aplikuar cilësimet, rivendosni pptpd shërbimi dhe shtojeni atë në ngarkim automatik.

sudo systemctl restart pptpd
sudo systemctl enable pptpd

Konfigurimi i serverit ka përfunduar.

Konfigurimi i klientit

hapur "Start" - "Settings" - Rrjeti dhe Interneti - "VPN" dhe klikoni "Shto një lidhje VPN"

Konfiguro klientin për lidhje VPN

Futni parametrat e lidhjes në dritaren e hapur dhe klikoni "Ruaj"

  • Ofruesi VPN: "Windows (i integruar)"
  • Emri i lidhjes: "vpn_connect" (mund të zgjidhni çdo emër)
  • Emri ose adresa e serverit: (specifikoni adresën IP të jashtme të serverit)
  • Lloji VPN: "Auto"
  • Lloji i informacionit të hyrjes: "Emri i përdoruesit dhe fjalëkalimi"
  • Emri i përdoruesit: vpnuser (emri i specifikuar në skedarin "chap-secrets" në server)
  • fjalëkalimi: 1 (si në skedarin "kap-sekretet")

Pas ruajtjes së parametrave, do të shihni lidhjen e re VPN në dritare. Klikoni me të majtën në lidhje dhe zgjidhni "Lidhu". Në rastin e një lidhjeje të suksesshme, do të shihni "Lidhur" statusit.

Shtimi i lidhjes VPN

Në Opsionet, do të gjeni adresat e brendshme të klientit dhe serverit. Fusha “Adresa e destinacionit” shfaq adresën e serverit të jashtëm.

Si të konfiguroni vetë serverin VPN

Kur lidhet, adresa IP e brendshme e serverit, 172.16.0.1 në rastin tonë, bëhet porta e paracaktuar për të gjitha paketat dalëse.

Kontrolloni adresën e jashtme IP

Duke përdorur çdo shërbim online, mund të siguroheni që adresa IP e jashtme e kompjuterit tani është e njëjtë me adresën IP të serverit tuaj VPN.

OpenVPN server

Konfigurimi i serverit

Le të promovojmë nivelin e lejeve të përdoruesit aktual sepse për konfigurimin tonë të mëtejshëm do të kemi nevojë për qasje rrënjësore.

sudo -s

Instaloni të gjitha paketat e nevojshme. do të na duhet "Easy-RSA" paketë për të menaxhuar çelësat e enkriptimit.

apt install openvpn easy-rsa iptables-persistent

Lejo lidhjet hyrëse në portin 1194 nëpërmjet protokollit UDP dhe zbato rregullat e iptables.

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

sudo netfilter-persistent save

Krijo një drejtori me skedarë të kopjuar nga paketa "Easy-RSA" dhe shko në të.

make-cadir ~/openvpn

cd ~/openvpn

Gjeneroni Infrastrukturën e Çelësit Publik (PKI).

./easyrsa init-pki

Gjeneroni certifikatën rrënjë të Autoritetit të Certifikimit (CA).

./easyrsa build-ca

Gjatë procesit të krijimit, do t'ju kërkohet të vendosni dhe të mbani mend një fjalëkalim. Gjithashtu, do t'ju duhet t'u përgjigjeni pyetjeve dhe të futni informacione rreth pronarit të çelësit. Mund t'i lini vlerat e parazgjedhura të dhëna në kllapa katrore. Shtypni "Enter" për të përfunduar të dhënat e dhëna.

Gjeneroni një çelës privat dhe një kërkesë për certifikatë. Si argument, specifikoni një emër arbitrar; në rastin tonë, është "vpn-server".

./easyrsa gen-req vpn-server nopass

Lëreni vlerën e Emrit të Përbashkët si parazgjedhje.

Nënshkruani kërkesën e gjeneruar për certifikatën e serverit.

./easyrsa sign-req server vpn-server

Në këtë hap, përgjigjuni "po" për të konfirmuar nënshkrimin, pastaj futni fjalëkalimin që u krijua gjatë gjenerimit të certifikatës rrënjë.

Gjeneroni parametrat Diffie-Hellman. Këta parametra përdoren për shkëmbim të sigurt të çelësave midis serverit dhe klientit.

./easyrsa gen-dh

Të gjithë skedarët e nevojshëm janë gjeneruar. Le të krijojmë një dosje "çelësa" në direktorinë e punës së OpenVPN për të ruajtur çelësat dhe për të kopjuar skedarët e krijuar atje.

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

Konfiguro NAT duke përdorur iptables rregullat. Krijo një skedar me emrin nat dhe hapeni atë për redaktim në /etc/openvpn/ directory.

#!/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

Ruaj skedarin dhe bëje të ekzekutueshëm.

sudo chmod 755 /etc/openvpn/nat

Kopjoni shabllonin e konfigurimit të serverit.

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

Hapni skedarin "/etc/openvpn/server.conf" për redaktim, sigurohuni që të përmbajë rreshtat e mëposhtëm dhe modifikojini nëse është e nevojshme:

#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

Aktivizo ridrejtimin e trafikut në server.

sudo sysctl -w net.ipv4.ip_forward=1

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

Nisni OpenVPN për të aplikuar konfigurimin.

systemctl restart openvpn@server

Konfigurimi i serverit ka përfunduar!

Konfigurimi i klientit

Shkoni në faqen zyrtare të OpenVPN "https://openvpn.net”, shkoni në "KOMUNITETI" seksion.

Hyni në faqen zyrtare të projektit "https://openvpn.net", kaloni në ndarjen "COMUNITY".

Zbritni poshtë dhe shkarkoni instaluesin për versionin e sistemit tuaj operativ. Në rastin tonë, është Windows 11 ARM64.

пролистываем вниз и скачиваем instalues për versionin e tij operacional të sistemit. Në këtë version të Windows 11 ARM64.

Instaloni aplikacionin duke lënë të gjithë parametrat si parazgjedhje.

Në fazën tjetër do t'ju duhet të përgatisni skedarin e mëposhtëm në server dhe t'i transferoni ato në kompjuterin e klientit:

  • çelësat publikë dhe privatë;
  • kopje e çelësit të qendrës së certifikimit;
  • shablloni i skedarit të konfigurimit.

Lidhu me serverin, rrit privilegjet dhe lundro në direktorinë tonë të krijuar "~/openvpn".

sudo -s

cd ~/openvpn

Gjeneroni një çelës privat dhe një kërkesë për certifikatë për klientin. Si argument, specifikoni një emër arbitrar; në rastin tonë, është "klient1".

./easyrsa gen-req client1 nopass

Vendosni fjalëkalimin që vendosëm kur krijuam certifikatën rrënjë dhe lëreni vlerën e Emrit të Përbashkët si parazgjedhje.

Вводим пароль, который мы устанавливали ka krijuar çertifikatë kornevogo dhe përcaktimi i kuptimit Emri i përbashkët по умолчанию.

Nënshkruani kërkesën e gjeneruar për certifikatë klienti.

./easyrsa sign-req client client1

Në këtë hap, përgjigjuni "po" për të konfirmuar nënshkrimin, pastaj futni fjalëkalimin që u krijua gjatë gjenerimit të certifikatës rrënjë.

Nëse kjo do të thotë "po" për nënshkrimin e plotë, pasi që ka dhënë një palë, që ka krijuar një certifikatë të tillë.

Për lehtësi, le të krijojmë një dosje me emrin 'client1' në direktorinë kryesore dhe të kopjojmë të gjitha skedarët e destinuar për transferim në kompjuterin klient në të.

mkdir ~/client1

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

Kopjoni shabllonin e skedarit të konfigurimit të klientit në të njëjtën direktori. Ndrysho shtrirjen e skedarit në ".ovpn" gjatë kopjimit.

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

Ndryshoni pronarin e drejtorisë dhe të gjithë skedarët "~/klient1/" të jetë në gjendje t'i shpërndajë ato te klienti. Le të bëjmë "mihail" pronari në rastin tonë.

chown -R mihail:mihail ~/client1

Shkoni te kompjuteri i klientit dhe kopjoni përmbajtjen e "~/klient1/" dosje. Ju mund ta bëni atë me ndihmën e "PSCP" dobi, që shkon me Putty.

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

Ju mund të ruani skedarët kryesorë "ca.crt", "client1.crt", "client1.key" ku të duash. Në rastin tonë, ato janë në këtë dosje "c:\Skedarët e programit\OpenVPN\çelësat", dhe ne modalizojmë skedarin e konfigurimit "client.ovpn""c:\Program Files\OpenVPN\config" directory.

Tani le të kalojmë te konfigurimi i klientit. Hapni skedarin "c:\Program Files\OpenVPN\config\client.ovpn" në një redaktues teksti dhe modifikoni rreshtat e mëposhtëm:

#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

Lëreni pjesën tjetër të paprekur.

Ruani skedarin dhe hapni aplikacionin e klientit “GUI OpenVPN”.

Konfigurimi i VPN-së përfundoi

Klikoni me të djathtën në ikonën e aplikacionit në shiritin e detyrave dhe zgjidhni "Lidhu". Nëse lidhja është e suksesshme, ikona do të kthehet në jeshile.

Përdorni çdo shërbim online për t'u siguruar që adresa juaj IP publike ka ndryshuar dhe tani është e njëjtë me adresën IP të serverit.

❮ Artikulli i mëparshëm Si të konfiguroni Wireguard VPN në serverin tuaj
Artikulli tjetër ❯ Konfigurimi i serverit FTP

Na pyesni për VPS

Ne jemi gjithmonë të gatshëm t'u përgjigjemi pyetjeve tuaja në çdo kohë të ditës apo natës.