İ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-ni işə salmaq üçün etməlisiniz VPS server icarəyə götürün. VPN bağlantısı yaratmağa imkan verən müxtəlif proqramlar var. Dəstəklənən əməliyyat sistemləri və istifadə olunan alqoritmlərlə 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ş hesab edilən və təhlükəsiz olmayan, lakin konfiqurasiya etmək həqiqətən asan olan PPTP protokoluna əsaslanır. Digəri 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 hərtərəfli 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 işə salmaq üçün faylı açın “/etc/sysctl.conf” və dəyişiklik “net.ipv4.ip_forward” parametr dəyəri daxil edilir 1.

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 vasitəsi ilə konfiqurasiya edilir iptables. Əvvəlcə əmrlə işləyən xarici şəbəkə interfeysinizin adını yoxlayın "ip link şousu" - növbəti addımda sizə lazım olacaq. adımızdır “ens3”.

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 istifadə edin "iptables-davamlı" kommunal. Aşağıdakı paketi quraşdırın:

sudo apt install iptables-persistent

Quraşdırma prosesinin bir nöqtəsində, cari iptables qaydalarını saxlamağı təklif edəcək bir konfiqurasiya pəncərəsi görəcəksiniz. Qaydalar artıq müəyyən olunduğundan, sadəcə təsdiqləyin və klikləyin "Bəli" iki dəfə. İndidən qaydalar server yenidən işə salındı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 faylı açın “/etc/pptpd.conf” hər hansı bir mətn redaktorunda və onu belə 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 faylı redaktə edin “/etc/ppp/pptpd-options”. Parametrlərin əksəriyyəti standart olaraq qurulur.

#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ə siz müştəri əlaqələri üçün qeyd yaratmalısınız. Tutaq ki, siz istifadəçi əlavə etmək istəyirsiniz "vpnuser" Şifrə ilə "1" və onun üçün dinamik ünvanlamağa icazə verin. Faylı açın “/etc/ppp/chap-secrets” və faylın sonuna istifadəçinin parametrləri ilə aşağıdakı sətri əlavə edin:

vpnuser pptpd 1 *

"pptpd" dəyər faylda qeyd etdiyimiz xidmətin adıdır "pptpd seçimləri". Əvəzinə "*" sabit IP ünvanı təyin edə bilərsiniz. Nəticədə, fayl "parça sirləri" bu kimi görünməlidir:

VPN serverinin qurulması

Parametrləri tətbiq etmək üçün sıfırlayın pptpd xidmət və onu avtomatik yükləməyə əlavə edin.

sudo systemctl restart pptpd
sudo systemctl enable pptpd

Server konfiqurasiyası tamamlandı.

Müştəri konfiqurasiyası

açıq "Başla" - "Ayarlar" - Şəbəkə və İnternet - "VPN" basın “VPN bağlantısı əlavə edin”

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

Açılan pəncərədə əlaqə parametrlərini daxil edin və vurun "Yadda saxla"

  • 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 saxladıqdan sonra pəncərədə yeni VPN bağlantısını görəcəksiniz. Bağlantıya sol klikləyin və seçin “Qoşul”. Uğurlu bir əlaqə halında, görəcəksiniz "Əlaqədar" status.

VPN bağlantısı əlavə edilir

Seçimlərdə siz müştəri və serverin daxili ünvanlarını tapa bilərsiniz. Sahə “Təyinat ünvanı” xarici server ünvanını göstərir.

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

Qoşulduqda serverin daxili IP ünvanı, 172.16.0.1 bizim vəziyyətimizdə 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. Bizə lazım olacaq “Asan-RSA” şifrələmə açarlarını idarə etmək üçün paket.

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/

Faylı açın “/etc/openvpn/server.conf” redaktə etmək üçün onun aşağıdakı sətirləri ehtiva etdiyinə ə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 saytına keçin "https://openvpn.net"-ə gedin “CƏMİYYƏT” bölmə.

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. Fayl uzantısını dəyişdirin “.ovpn” kopyalayarkən.

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

Kataloqun sahibini və bütün faylları dəyişdirin “~/müştəri1/” onları müştəriyə paylaya bilmək. edək "mihail" bizim vəziyyətimizdə sahibi.

chown -R mihail:mihail ~/client1

Müştəri kompüterinə gedin və məzmunu kopyalayın “~/müştəri1/” qovluq. nin köməyi ilə bunu edə bilərsiniz "PSCP" kommunal, Putty ilə gedir.

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

Siz əsas faylları saxlaya bilərsiniz "ca.crt", “client1.crt”, “client1.key” istədiyiniz yerdə. Bizim vəziyyətimizdə onlar bu qovluqdadırlar “c:\Proqram Faylları\OpenVPN\açarlar”, və biz konfiqurasiya faylını rejimə gətiririk “client.ovpn” daxil “c:\Proqram Faylları\OpenVPN\config” kataloq.

İndi müştərinin konfiqurasiyasına keçək. Faylı açın “c:\Proqram Faylları\OpenVPN\config\client.ovpn” mətn redaktorunda 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ə müştəri proqramını işə salın “OpenVPN GUI”.

VPN quraşdırması tamamlandı

Tapşırıq çubuğundakı proqram simgesini sağ klikləyin və seçin “Qoşul”. Bağlantı uğurlu olarsa, işarə 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ə Serverinizdə Wireguard VPN-ni necə qurmaq olar
Növbəti məqalə ❯ FTP serverinin qurulması

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.