İnformasiya Bankı Profitserver xidməti ilə işləmək üçün sadə təlimatlar
Əsas İnformasiya Bankı Linux-da VPN serverinin qurulması: PPTP və ya OpenVPN?

Linux-da VPN serverinin qurulması: PPTP və ya OpenVPN?


Hal-hazırda VPN texnologiyası daha populyarlaşır. Adi istifadəçilər İnternetə təhlükəsiz daxil olmaq üçün VPN-dən istifadə edirlər. O, həmçinin yerli bloklanmış veb-saytlar və xidmətlər ətrafında dolaşmağa və mümkün xarici zərərli davranışlardan qorunmağa kömək edir. VPN serverinə qoşulduqda kompüterinizlə server arasında təhlükəsiz tunel var ki, ona xaricdən daxil olmaq mümkün deyil, beləliklə VPN server sizin İnternetə giriş nöqtəniz olur. Orada həm pulsuz, həm də pullu çoxlu VPN xidmətləri var, lakin onlar nədənsə sizin üçün işləmirsə, siz həmişə öz VPN serverinizi konfiqurasiya edə bilərsiniz.

VPN-inizi işlətmək üçün VPS server icarəyə götürməlisiniz . VPN bağlantısı yaratmağa imkan verən müxtəlif proqram təminatı mövcuddur. Dəstəklənən əməliyyat sistemləri və istifadə olunan alqoritmlər bir-birindən fərqlənir. VPN serverini qurmaq üçün iki müstəqil yanaşmaya nəzər salacağıq. Birincisi, artıq köhnəlmiş və təhlükəsiz olmayan, lakin konfiqurasiya etmək çox asan olan PPTP protokoluna əsaslanır. Digəri isə müasir və təhlükəsiz OpenVPN proqram təminatından istifadə edir, lakin üçüncü tərəf müştəri tətbiqinin quraşdırılmasını və daha ətraflı quraşdırma prosesini tələb edir.

Test mühitimizdə Ubuntu Server 18.04 ilə təchiz edilmiş virtual serverdən istifadə edəcəyik. Firewall serverdə söndürüləcək, çünki onun konfiqurasiyası ayrıca məqaləyə layiqdir. Windows 10-da quraşdırma prosesini təsvir edəcəyik.

Hazırlıq

Hansı VPN serverini seçməyinizdən asılı olmayaraq, İnternetə çıxış əməliyyat sisteminin inteqrasiya olunmuş vasitələri ilə qurulacaq. Xarici xidmət interfeysi vasitəsilə İnternetə çıxışı açmaq üçün siz interfeyslər arasında paket yönləndirməyə icazə verməli və şəbəkə ünvanının tərcüməsini konfiqurasiya etməlisiniz.

Paket yönləndirməsini aktivləşdirmək üçün “/etc/sysctl.conf” faylını açın və “net.ipv4.ip_forward” parametr dəyərini 1 olaraq dəyişdirin.

VPN quraşdırması üçün paket yönləndirməsini yandırın

Kompüteri yenidən başlatmadan dəyişiklikləri tətbiq etmək üçün əmri işə salın

sudo sysctl -p /etc/sysctl.conf

Şəbəkə ünvanının tərcüməsi iptables vasitəsilə konfiqurasiya edilir . Əvvəlcə, “ip link show” əmrini işlədərək xarici şəbəkə interfeysinizin adını yoxlayın - növbəti addımda sizə lazım olacaq. Bizim adımız “ens3” -dür.

ip link şou

Bütün yerli şəbəkə qovşaqları üçün xarici interfeysinizdə şəbəkə ünvanının tərcüməsini aktivləşdirin.

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

Nəzərə alın ki, serverinizin interfeysinin əsl adını göstərməlisiniz, o, bizimkindən fərqli ola bilər.

Varsayılan olaraq, iptables tərəfindən yaradılan bütün qaydalar server yenidən başladıqdan sonra sıfırlanır. Bunun qarşısını almaq üçün “iptables-persistent” yardımçı proqramından istifadə edin. Aşağıdakı paketi quraşdırın:

sudo apt install iptables-persistent

Quraşdırma prosesinin müəyyən bir mərhələsində, cari iptables qaydalarını yadda saxlamağı təklif edən bir konfiqurasiya pəncərəsi görəcəksiniz. Qaydalar artıq müəyyən edildiyindən, sadəcə təsdiqləyin və iki dəfə "Bəli" düyməsini basın . Bundan sonra qaydalar server yenidən başladıqdan sonra avtomatik olaraq tətbiq olunacaq.

Ünvan tərcüməsini yandırın

PPTP serveri

Server konfiqurasiyası

Paketi quraşdırın:

sudo apt install pptpd

Quraşdırma başa çatdıqdan sonra istənilən mətn redaktorunda "/etc/pptpd.conf" faylını açın və aşağıdakı kimi redaktə edin:

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

Bundan sonra, “/etc/ppp/pptpd-options” faylını redaktə edin . Parametrlərin əksəriyyəti standart olaraq təyin olunur.

#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övbəti mərhələdə müştəri əlaqələri üçün bir qeyd yaratmalısınız. Tutaq ki, "1" parolu olan "vpnuser" istifadəçisi əlavə etmək və onun üçün dinamik ünvanlamaya icazə vermək istəyirsiniz. "/etc/ppp/chap-secrets" faylını açın və faylın sonunda istifadəçi parametrləri ilə aşağıdakı sətri əlavə edin:

vpnuser pptpd 1 *

“pptpd” dəyəri “pptpd-options” faylında göstərdiyimiz xidmətin adıdır . “*” əvəzinə sabit bir IP ünvanı göstərə bilərsiniz. Nəticədə, “chap-secrets” faylı belə görünməlidir:

VPN serverinin qurulması

Parametrləri tətbiq etmək üçün pptpd xidmətini yenidən qurun və avtomatik yükləməyə əlavə edin.

sudo systemctl restart pptpd
sudo systemctl enable pptpd

Server konfiqurasiyası tamamlandı.

Müştəri konfiqurasiyası

"Başlat" - "Parametrlər" - "Şəbəkə və İnternet" - "VPN" bölmələrini açın və "VPN bağlantısı əlavə et" düyməsini basın.

VPN bağlantısı üçün müştəri quraşdırın

Açılan pəncərədə əlaqə parametrlərini daxil edin və "Saxla" düyməsini basın

  • VPN provayderi: "Windows (daxili)"
  • Bağlantı adı: “vpn_connect” (istənilən ad seçə bilərsiniz)
  • Server adı və ya ünvanı: (serverin xarici IP ünvanını göstərin)
  • VPN növü: “Avtomatik”
  • Giriş məlumatının növü: “İstifadəçi adı və şifrə”
  • İstifadəçi adı: vpnuser (serverdəki "chap-secrets" faylında göstərilən ad)
  • Şifrə: 1 (“Chap-secrets” faylında olduğu kimi)

Parametrləri yadda saxladıqdan sonra pəncərədə yeni VPN bağlantısını görəcəksiniz. Bağlantıya sol klikləyin və “Qoşul” seçin . Uğurlu bağlantı halında “Qoşuldu” statusunu görəcəksiniz.

VPN bağlantısı əlavə edilir

Seçimlər bölməsində klientin və serverin daxili ünvanlarını tapa bilərsiniz. "Təyinat ünvanı" sahəsi xarici server ünvanını göstərir.

VPN serverini özünüz necə qurmaq olar

Qoşulduqda, serverin daxili IP ünvanı, bizim vəziyyətimizdə 172.16.0.1 , bütün gedən paketlər üçün standart şlüz olur.

Xarici IP ünvanını yoxlayın

İstənilən onlayn xidmətdən istifadə edərək kompüterin xarici IP ünvanının VPN serverinizin IP ünvanı ilə eyni olduğuna əmin ola bilərsiniz.

OpenVPN server

Server konfiqurasiyası

Gəlin cari istifadəçinin icazə səviyyəsini təşviq edək, çünki sonrakı konfiqurasiyamız üçün kök girişinə ehtiyacımız olacaq.

sudo -s

Bütün lazımi paketləri quraşdırın. Şifrələmə açarlarını idarə etmək üçün bizə "Easy-RSA" paketi lazım olacaq.

apt install openvpn easy-rsa iptables-persistent

UDP protokolu vasitəsilə 1194 portunda daxil olan əlaqələrə icazə verin və iptables qaydalarını tətbiq edin.

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

sudo netfilter-persistent save

“Easy-RSA” paketindən kopyalanmış faylları olan bir kataloq yaradın və ona keçin.

make-cadir ~/openvpn

cd ~/openvpn

Açıq Açar İnfrastrukturunu (PKI) yaradın.

./easyrsa init-pki

Sertifikat Təşkilatının (CA) kök sertifikatını yaradın.

./easyrsa build-ca

Yaratma prosesi zamanı sizdən parol təyin etmək və yadda saxlamaq təklif olunacaq. Siz həmçinin suallara cavab verməli və açar sahibi haqqında məlumat daxil etməlisiniz. Siz kvadrat mötərizədə verilmiş standart dəyərləri tərk edə bilərsiniz. Daxiletməni yekunlaşdırmaq üçün "Enter" düyməsini basın.

Şəxsi açar və sertifikat sorğusu yaradın. Arqument olaraq, ixtiyari bir ad göstərin; bizim vəziyyətimizdə "vpn-server" dir.

./easyrsa gen-req vpn-server nopass

Ümumi ad dəyərini standart olaraq buraxın.

Yaradılmış server sertifikatı sorğusunu imzalayın.

./easyrsa sign-req server vpn-server

Bu addımda imzanı təsdiqləmək üçün "bəli" cavabını verin, sonra kök sertifikatın yaradılması zamanı yaradılmış parolu daxil edin.

Diffie-Hellman parametrlərini yaradın. Bu parametrlər server və müştəri arasında təhlükəsiz açar mübadiləsi üçün istifadə olunur.

./easyrsa gen-dh

Bütün lazımi fayllar yaradıldı. Açarları saxlamaq və yaradılmış faylları oraya köçürmək üçün OpenVPN iş kataloqunda “açarlar” qovluğu yaradaq.

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

NAT-ı istifadə edərək konfiqurasiya edin iptables qaydalar. adlı fayl yaradın nat və redaktə etmək üçün açın /etc/openvpn/ kataloq.

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

Faylı yadda saxlayın və icra edilə bilən hala gətirin.

sudo chmod 755 /etc/openvpn/nat

Server konfiqurasiya şablonunu kopyalayın.

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

Redaktə etmək üçün “/etc/openvpn/server.conf” faylını açın , aşağıdakı sətirlərin olduğundan əmin olun və lazım olduqda onları redaktə edin:

#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

Serverdə trafik yönləndirməsini aktivləşdirin.

sudo sysctl -w net.ipv4.ip_forward=1

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

Konfiqurasiyanı tətbiq etmək üçün OpenVPN-i işə salın.

systemctl restart openvpn@server

Server konfiqurasiyası tamamlandı!

Müştəri konfiqurasiyası

OpenVPN-in rəsmi veb saytı olan " https://openvpn.net "ə, "İCMA" bölməsinə keçin.

Zaxodim “https://openvpn.net” adlı rəsmi saytın proektində, “COMUNITY” bölməsində.

Aşağı diyirləyin və əməliyyat sisteminizin versiyası üçün quraşdırıcını endirin. Bizim vəziyyətimizdə bu, Windows 11 ARM64-dir.

əməliyyat sistemi üçün xüsusi versiya üçün quraşdırıcı və skachivaem. Windows 11 ARM64-ə daxil olun.

Defolt olaraq bütün parametrləri tərk edərək proqramı quraşdırın.

Növbəti mərhələdə serverdə aşağıdakı faylı hazırlamalı və onları müştəri kompüterinə köçürməli olacaqsınız:

  • açıq və gizli açarlar;
  • sertifikatlaşdırma mərkəzinin açarının surəti;
  • konfiqurasiya faylı şablonu.

Serverə qoşulun, imtiyazları artırın və yaradılmış kataloqumuza keçin "~/openvpn".

sudo -s

cd ~/openvpn

Müştəri üçün şəxsi açar və sertifikat sorğusu yaradın. Arqument olaraq, ixtiyari bir ad göstərin; bizim vəziyyətimizdə bu, “müştəri1” dir.

./easyrsa gen-req client1 nopass

Kök sertifikatı yaratarkən təyin etdiyimiz parolu daxil edin və Common Name dəyərini standart olaraq buraxın.

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

Yaradılmış müştəri sertifikatı sorğusunu imzalayın.

./easyrsa sign-req client client1

Bu addımda imzanı təsdiqləmək üçün "bəli" cavabını verin, sonra kök sertifikatın yaradılması zamanı yaradılmış parolu daxil edin.

Bunun üçün podtverjdeniya podpisi üçün "bəli" cavabını verin, sonra bir şərtlə ki, korneva sertifikatı alınsın.

Rahatlıq üçün gəlin ev kataloqunda 'client1' adlı qovluq yaradaq və müştəri kompüterinə ötürmək üçün nəzərdə tutulan bütün faylları ora köçürük.

mkdir ~/client1

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

Müştəri konfiqurasiya faylı şablonunu eyni qovluğa kopyalayın. Kopyalayarkən fayl uzantısını “.ovpn” olaraq dəyişdirin.

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

Kataloqun və bütün “~/client1/” fayllarının sahibini dəyişdirərək onları klientə paylaya bilərsiniz. Bizim vəziyyətimizdə sahibi “mihail” edək.

chown -R mihail:mihail ~/client1

Klient kompüterinə gedin və “~/client1/” qovluğunun məzmununu kopyalayın. Bunu Putty ilə birlikdə gedən “PSCP” yardımçı proqramından istifadə edərək edə bilərsiniz .

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

“ca.crt” , “client1.crt” , “client1.key” açar fayllarını istədiyiniz yerdə saxlaya bilərsiniz . Bizim vəziyyətimizdə onlar “c:\Program Files\OpenVPN\keys” qovluğundadır və “client.ovpn” konfiqurasiya faylını “c:\Program Files\OpenVPN\config” qovluğuna yerləşdiririk.

İndi isə klienti konfiqurasiya etməyə keçək. “c:\Program Files\OpenVPN\config\client.ovpn” faylını mətn redaktorunda açın və aşağıdakı sətirləri redaktə edin:

#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

Qalanını toxunulmaz buraxın.

Faylı yadda saxlayın və “OpenVPN GUI” müştəri tətbiqini işə salın.

VPN quraşdırması tamamlandı

Tapşırıq panelindəki tətbiq simgesini sağ klikləyin və "Qoşul" seçin . Bağlantı uğurlu olarsa, simge yaşıl rəngə çevriləcək.

İctimai IP ünvanınızın dəyişdiyinə və indi serverin IP ünvanı ilə eyni olduğuna əmin olmaq üçün istənilən onlayn xidmətdən istifadə edin.

❮ Əvvəlki məqalə FTP serverinin qurulması
Növbəti məqalə ❯ Serverinizdə Wireguard VPN-ni necə qurmaq olar

Bizdən VPS haqqında soruşun

Günün və ya gecənin istənilən vaxtında suallarınızı cavablandırmağa hər zaman hazırıq.