Linux sistem administratorunun bilməli olduğu şeylərdən biri, şübhəsiz ki, OpenVPN Server quraşdırılmasıdır. İnanıram ki, bu məqalə verilənlərin məxfiliyi və təhlükəsizliyinin gündən-günə daha vacib olduğu günümüz şəraitində öz VPN serverini qurmaq istəyənlər üçün bələdçi olacaq.

Bu yazıda hamısı OpenVPN bu bizi düzəlişləri bir-bir əl ilə etməkdən xilas edir, Github'taki angristan Müəllif openvpn-quraşdırın adlı skriptdən istifadə edərək izahat veriləcək. 

Etməli olduğunuz ilk şey, əlbəttə ki, depoları yeniləmək və əgər varsa, yeniləmələri etməkdir. 

sudo apt update && sudo apt upgrade -yq   

İndi serverin IP ünvanını tapmaq üçün aşağıdakı əmri yazın və hər ehtimala qarşı onu qeyd edin.

ip a ip a show eth0 #Yalnız ethernet portuna təyin edilmiş ünvanları göstərir.

Nümunə çıxışı aşağıdakı kimi olmalıdır. Çünki mən serverimi virtual maşında işlədirəm eth0 yerinə enp0s3 oxşayır.

prdsmehmetstc@pardus21server:~$ ip a 1: lo: mtu 65536 qdisc noqueue dövlət naməlum qrup default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope forever lored forever valid2 :enp0s3: mtu 1500 qdisc pfifo_fast state UP qrupu default qlen 1000 link/ether 08:00:27:d9:43:f7 brd ff:ff:ff:ff:ff:ff inet 192.168.1.12/24 brd 192.168.1.255.dinamik endir. valid_lft 0sec preferred_lft 3sec

Serverin IP ünvanı yuxarıda qalın hərflərlə işarələnmişdir. Serverinizin IP ünvanı fərqli ola bilər, lakin yer təxminən eyni olmalıdır.

Serverinizin şəxsi IP və ictimai IP-si fərqli ola bilər. Serverin ümumi IP ünvanını öyrənmək üçün aşağıdakı əmri daxil edə bilərsiniz:

dig +short myip.opendns.com @resolver1.opendns.com

İndi skripti yükləyə və OpenVPN Server quraşdırma mərhələsinə keçə bilərik. Skripti yükləmək üçün aşağıdakı əmri yazın.

wget https://raw.githubusercontent.com/Angristan/openvpn-install/master/openvpn-install.sh

Sonra yüklənmiş skripti işlək etmək üçün aşağıdakı əmri daxil edin:

chmod +x openvpn-install.sh

Skripti işə salmaq üçün sadəcə aşağıdakı əmri daxil edin.

sudo ./openvpn-install.sh 

Skripti işə saldığınız zaman sizdən bəzi parametrləri daxil etməyi xahiş edəcək. Aşağıda nümunə olaraq tətbiq etdiyim dəyərləri görə bilərsiniz:

prdsmehmetstc@pardus21server:~$ sudo ./openvpn-install.sh OpenVPN quraşdırıcısına xoş gəlmisiniz! Git repozitoriyası bu ünvanda mövcuddur: https://github.com/angristan/openvpn-install Quraşdırmaya başlamazdan əvvəl sizə bir neçə sual verməliyəm. Siz standart seçimləri tərk edə bilərsiniz və əgər onlarla razısınızsa, sadəcə enter düyməsini sıxın. OpenVPN-in dinləməsini istədiyiniz şəbəkə interfeysinin IPv4 ünvanını bilməliyəm. Əgər serveriniz NAT-ın arxasında deyilsə, o sizin ictimai IPv4 ünvanınız olmalıdır. IP ünvanı: 192.168.1.12

Əgər serverinizdə birbaşa ona təyin edilmiş sabit IP yoxdursa və bu nümunədəki kimi vasitəçi vasitəsilə internetə gedirsə, skriptimiz bunu aşkarlayır, IP ünvanlarını tapır və boşluqları avtomatik doldurur. Etməli olduğunuz şey enter düyməsini sıxmaqdır.

Deyəsən bu server NAT-ın arxasındadır. Onun ictimai IPv4 ünvanı və ya host adı nədir? Müştərilərin serverə qoşulması üçün bizə lazımdır. İctimai IPv4 ünvanı və ya host adı: 85.99.177.72 IPv6 bağlantısı yoxlanılır... Hostunuzda IPv6 bağlantısı yoxdur. IPv6 dəstəyini (NAT) aktiv etmək istəyirsiniz? [y/n]: n

Əgər serveriniz və şəbəkəniz IPv6-nı dəstəkləmirsə, siz "n" parametrini daxil etməlisiniz.

OpenVPN-in hansı porta qulaq asmasını istəyirsiniz? 1) Defolt: 1194 2) Fərdi 3) Təsadüfi [49152-65535] Port seçimi [1-3]: 1

Burada OpenVPN-nin işləyəcəyi portu seçə bilərsiniz. Seçim 1-də defolt olan 1194 portundan istifadə edə bilərsiniz. Əgər 1194 portu müştəri tərəfində əlçatan deyilsə və siz veb server işlətmirsinizsə, siz 2-ci variantı seçib onun 443-cü portdan işləməsini təmin edə bilərsiniz.  

OpenVPN-nin hansı protokoldan istifadə etməsini istəyirsiniz? UDP daha sürətlidir. Əgər mövcud deyilsə, TCP-dən istifadə etməməlisiniz. 1) UDP 2) TCP Protokolu [1-2]: 1

Varsayılan olaraq, UDP protokolundan istifadə etmək tövsiyə olunur, lakin UDP bir şəkildə işləmirsə, buradan TCP seçə bilərsiniz.

VPN ilə hansı DNS həlledicilərindən istifadə etmək istəyirsiniz? 1) Cari sistem həllediciləri (/etc/resolv.conf saytından) 2) Öz-özünə yerləşdirilən DNS Həlledicisi (Unbound) 3) Cloudflare (Anycast: dünya üzrə) 4) Quad9 (Anycast: dünya üzrə) 5) Quad9 senzurasız (Anycast: dünya üzrə) 6 ) FDN (Fransa) 7) DNS.WATCH (Almaniya) 8) OpenDNS (Anycast: dünya üzrə) 9) Google (Anycast: dünya üzrə) 10) Yandex Basic (Rusiya) 11) AdGuard DNS (Anycast: dünya üzrə) 12) NextDNS (Anycast) : dünya üzrə) 13) Xüsusi DNS [1-12]: 9

Skript standart olaraq 11, AdGuard DNS-dir. Google (9) və CloudFlare (3) DNS digərlərindən daha sürətlidir, onlara üstünlük vermənizi tövsiyə edirəm. Fərdi DNS seçiminiz varsa, 13-cü seçimi seçməklə onu daxil edə bilərsiniz.

Siz sıxılmadan istifadə etmək istəyirsiniz? VORACLE hücumu ondan istifadə etdiyi üçün tövsiyə edilmir. Sıxılma aktiv edilsin? [y/n]: n

Onu açmamağınız məsləhətdir. Çünki təhlükəsizlik açığı olan VORACLE hücumu sıxılmadan istifadə edir. 

Şifrələmə parametrlərini fərdiləşdirmək istəyirsiniz? Nə etdiyinizi bilmirsinizsə, skript tərəfindən verilən standart parametrlərə riayət etməlisiniz. Nəyi seçdiyinizdən asılı olmayaraq, skriptdə təqdim olunan bütün seçimlərin təhlükəsiz olduğunu unutmayın. (OpenVPN-in defoltlarından fərqli olaraq) Ətraflı məlumat üçün https://github.com/angristan/openvpn-install#security-and-encryption ünvanına baxın. Şifrələmə parametrlərini fərdiləşdirin? [y/n]: n

Şifrələmə parametrlərini dəyişdirmək istəyirsinizsə, bu mərhələdə “y” deməlisiniz. Ümumiyyətlə, defolt dəyərlər təhlükəsizliyinizi təmin etmək üçün kifayətdir, lakin nə etdiyinizi bilirsinizsə, onları dəyişdirməyiniz pisdir. 

Tamam, bu mənə lazım idi. OpenVPN serverinizi indi quraşdırmağa hazırıq. Quraşdırmanın sonunda müştəri yarada biləcəksiniz. Davam etmək üçün hər hansı düyməyə bas...

OpenVPN Server quraşdırılması tamamlandı, indi skriptimiz müştərilər tərəfindən qoşula bilməniz üçün fayllar yaradacaq. 

Mənə müştəri üçün bir ad deyin. Ad hərf-rəqəm simvolundan ibarət olmalıdır. Buraya alt xətt və ya tire də daxil ola bilər. Müştəri adı: Pardus21OpenVPNServerDeme

Müştərinin adını daxil edin. Ad "alfasayısal", yəni hərf və rəqəmlərdən ibarət olmalıdır. O, həmçinin alt xətt və defisdən ibarət ola bilər. Qalın mətn müştərimə verdiyim addır.

Konfiqurasiya faylını parol ilə qorumaq istəyirsiniz? (məsələn, şəxsi açarı parol ilə şifrələyin) 1) Parolsuz müştəri əlavə edin 2) Müştəri üçün paroldan istifadə edin [1-2] seçimi seçin: 1

Müştəri üçün parol təyin etmək istəyirsinizsə, "2" seçimini seçməlisiniz. 

Qeyd: Easy-RSA konfiqurasiyasından istifadə edərək: /etc/openvpn/easy-rsa/vars SSL-dən istifadə: openssl OpenSSL 1.1.1k 25 mart 2021 '/etc/openvpn/easy-rsa/ ünvanına yeni şəxsi açar yazan EC özəl açarının yaradılması pki/easy-rsa-2034.XkDzhL/tmp.pOGFHy' ----- /etc/openvpn/easy-rsa/pki/easy-rsa-2034.XkDzhL/tmp.mUo4M7-dən konfiqurasiyadan istifadə etməklə sorğunun tələblərə uyğun olduğunu yoxlayın. imza İmza ok Subyektin Fərqlənən Adı ümumiAd kimidir:ASN.1 12:'Pardus21OpenVPNServerDeneme' Sertifikatı 15 Yanvar 08:49:38 2024 GMT (825 gün) Bali1se ilə yenilənmiş verilənlər bazasını yazın. Pardus21OpenVPNServerTrial əlavə edildi. Konfiqurasiya faylı /home/prdsmehmetstc/Pardus21OpenVPNServerDeneme.ovpn ünvanına yazılmışdır. .ovpn faylını endirin və onu OpenVPN klientinizə idxal edin.

OpenVPN Server quraşdırılması və müştəri parametrləri faylının idxalı tamamlandı, indi siz internetə təhlükəsiz şəkildə baxa bilərsiniz. Birdən çox müştəri əlavə etmək istəyirsinizsə, sadəcə olaraq skripti yenidən işə salın. 

prdsmehmetstc@pardus21server:~$ sudo ./openvpn-install.sh [sudo] prdsmehmetstc üçün parol: OpenVPN quraşdırmasına xoş gəlmisiniz! Git repozitoriyası burada mövcuddur: https://github.com/angristan/openvpn-install OpenVPN artıq quraşdırılıb. Nə etmək istəyirsən? 1) Yeni istifadəçi əlavə edin 2) Mövcud istifadəçini ləğv edin 3) OpenVPN-i silin 4) Çıxın Bir variant seçin [1-4]:

Yeni müştəri parametrləri faylı yaratmaq üçün 1-i seçmək, əvvəllər yaradılmış müştərini silmək üçün 2-ni seçmək, OpenVPN Serverini silmək üçün 3-ü seçmək və skriptdən çıxmaq üçün 4-ü seçmək. 

UFW və ya IPTABLES kimi bir firewall istifadə edirsinizsə, əvvəlcə göstərdiyiniz OpenVPN portuna icazə verməlisiniz. Aşağıda verilmiş nümunələr standart port 1194 üçündür.

UFW üçün

sudo ufw allow 1194

IPTABLES üçün (TCP protokolundan istifadə etməklə)

sudo iptables -I INPUT -p tcp -m tcp --dport 1194 -j ACCEPT

və ya

sudo iptables -A INPUT -p tcp -m tcp --dport 1194 -j ACCEPT

IPTABLES üçün (UDP protokolundan istifadə etməklə)

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

və ya

sudo iptables -A INPUT -p udp -m udp --dport 1194 -j ACCEPT

OpenVPN Serverinin vəziyyətini dayandırmaq/başlatmaq/yenidən başlamaq/yoxlamaq üçün tələb olunan əmrlər bunlardır:

sudo systemctl stop openvpn@server sudo systemctl start openvpn@server sudo systemctl yenidən başladın openvpn@server sudo systemctl status openvpn@server

Müştəri əlaqəsini necə quracağınızı bilmək istəyirsinizsə bu məqalə oxuya bilərsiniz.