Білім қоры Profitserver қызметімен жұмыс істеуге арналған қарапайым нұсқаулар
басты Білім қоры Linux жүйесінде VPN серверін орнату: PPTP немесе OpenVPN?

Linux жүйесінде VPN серверін орнату: PPTP немесе OpenVPN?


Қазіргі уақытта VPN технологиясы танымал бола бастады. Қарапайым пайдаланушылар Интернетке қауіпсіз кіру үшін VPN пайдаланады. Ол сондай-ақ жергілікті бұғатталған веб-сайттар мен қызметтерді айналып өтуге және ықтимал сыртқы зиянды әрекеттерден қорғауға көмектеседі. VPN серверіне қосылған кезде, компьютер мен сервер арасында қауіпсіз туннель болады, оған сырттан кіру мүмкін емес, сондықтан VPN сервері Интернетке кіру нүктесі болады. Мұнда тегін және ақылы көптеген VPN қызметтері бар, бірақ олар қандай да бір себептермен сіз үшін жұмыс істемесе, әрқашан өзіңіздің VPN серверіңізді конфигурациялай аласыз.

VPN жүйесін іске қосу үшін сізге қажет VPS серверін жалға алу. VPN қосылымын жасауға мүмкіндік беретін әртүрлі бағдарламалық құрал бар. Ол бір-бірінен қолдау көрсетілетін операциялық жүйелермен және қолданылатын алгоритмдермен ерекшеленеді. Біз VPN серверін орнатудың екі тәуелсіз әдісін қарастырамыз. Біріншісі ескірген және қауіпсіз емес деп саналатын, бірақ конфигурациялау өте оңай PPTP протоколына негізделген. Екіншісі заманауи және қауіпсіз OpenVPN бағдарламалық құралын пайдаланады, бірақ үшінші тарап клиенттік қолданбасын орнатуды және неғұрлым мұқият орнату процесін талап етеді.

Біздің сынақ ортамызда біз Ubuntu Server 18.04 арқылы жұмыс істейтін виртуалды серверді қолданамыз. Брандмауэр серверде өшіріледі, себебі оның конфигурациясы бөлек мақалаға лайық. Біз Windows 10 жүйесінде орнату процесін сипаттаймыз.

дайындау

Қай VPN серверін таңдасаңыз да, Интернетке кіру операциялық жүйенің біріктірілген құралдары арқылы орнатылады. Сыртқы қызмет интерфейсі арқылы Интернетке кіруді ашу үшін интерфейстер арасында пакетті қайта жіберуге рұқсат беру және желі мекенжайының аудармасын конфигурациялау қажет.

Пакетті қайта жіберуді қосу үшін файлды ашыңыз “/etc/sysctl.conf” және өзгерту “net.ipv4.ip_forward” параметр мәніне 1.

VPN орнату үшін пакеттерді қайта жіберуді қосыңыз

Өзгерістерді компьютерді қайта жүктемей қолдану үшін пәрменді іске қосыңыз

sudo sysctl -p /etc/sysctl.conf

Желілік мекенжай аудармасы арқылы конфигурацияланады iptables. Алдымен пәрменді орындайтын сыртқы желі интерфейсінің атын тексеріңіз «IP сілтемесін көрсету» - бұл сізге келесі қадамда қажет болады. Біздің атымыз «ens3».

ip сілтеме көрсетуі

Барлық жергілікті желі түйіндері үшін сыртқы интерфейсте желі мекенжайының аудармасын қосыңыз.

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

Сервер интерфейсінің нақты атын көрсету керек екенін ескеріңіз, ол біздікінен өзгеше болуы мүмкін.

Әдепкі бойынша, iptables арқылы жасалған барлық ережелер серверді қайта іске қосқаннан кейін қалпына келтіріледі. Бұған жол бермеу үшін пайдаланыңыз «iptables-тұрақты» утилита. Келесі пакетті орнатыңыз:

sudo apt install iptables-persistent

Орнату процесінің бір нүктесінде ағымдағы iptables ережелерін сақтауды ұсынатын конфигурация терезесін көресіз. Ережелер әлдеқашан анықталғандықтан, растап, басыңыз «Иә» екі рет. Енді ережелер серверді қайта іске қосқаннан кейін автоматты түрде қолданылады.

Мекенжай аудармасын қосыңыз

PPTP сервері

Сервер конфигурациясы

Пакетті орнату:

sudo apt install pptpd

Орнату аяқталғаннан кейін файлды ашыңыз “/etc/pptpd.conf” кез келген мәтіндік редакторда және оны келесідей өңдеңіз:

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

Осыдан кейін файлды өңдеңіз “/etc/ppp/pptpd-опциялар”. Параметрлердің көпшілігі әдепкі бойынша орнатылады.

#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

Келесі кезеңде клиент қосылымдары үшін жазба жасау керек. Сіз пайдаланушыны қосқыңыз келеді делік «vpnuser» құпия сөзбен «1» және оған динамикалық адресацияға мүмкіндік береді. Файлды ашыңыз “/etc/ppp/chap-secrets” және файлдың соңына пайдаланушы параметрлерімен келесі жолды қосыңыз:

vpnuser pptpd 1 *

«pptpd» мән - файлда біз көрсеткен қызметтің атауы «pptpd-опциялар». Орнына «*» тіркелген IP мекенжайын көрсетуге болады. Нәтижесінде файл «құпиялар» келесідей болуы керек:

VPN серверін орнату

Параметрлерді қолдану үшін қалпына келтіріңіз pptpd қызмет көрсету және оны автоматты жүктеуге қосыңыз.

sudo systemctl restart pptpd
sudo systemctl enable pptpd

Сервер конфигурациясы аяқталды.

Клиент конфигурациясы

ашық «Бастау» - «Параметрлер» - Желі және Интернет - «VPN» және нұқыңыз «VPN қосылымын қосу»

VPN қосылымы үшін клиентті орнату

Ашылған терезеде қосылым параметрлерін енгізіп, түймесін басыңыз «Сақтау»

  • VPN провайдері: «Windows (кіріктірілген)»
  • Қосылым атауы: «vpn_connect» (кез келген атауды таңдауға болады)
  • Сервер атауы немесе мекенжайы: (сервердің сыртқы IP мекенжайын көрсетіңіз)
  • VPN түрі: «Авто»
  • Кіру ақпаратының түрі: «Пайдаланушы аты мен құпия сөз»
  • Пайдаланушының аты: vpnuser (сервердегі «chap-secrets» файлында көрсетілген атау)
  • Құпия сөз: 1 («Chap-secrets» файлындағы сияқты)

Параметрлерді сақтағаннан кейін терезеде жаңа VPN қосылымын көресіз. Қосылымды тінтуірдің сол жақ түймешігімен басып, таңдаңыз «Қосылу». Сәтті қосылым болған жағдайда сіз көресіз «Жалғанған» мәртебесі.

VPN қосылымы қосылуда

Параметрлерде сіз клиент пен сервердің ішкі мекенжайларын табасыз. Өріс «Тағайындалған мекенжай» сыртқы сервер мекенжайын көрсетеді.

VPN серверін өзіңіз қалай орнатуға болады

Қосылған кезде сервердің ішкі IP мекенжайы, 172.16.0.1 біздің жағдайда барлық шығыс пакеттер үшін әдепкі шлюз болады.

Сыртқы IP мекенжайын тексеріңіз

Кез келген онлайн қызметті пайдалана отырып, компьютердің сыртқы IP мекенжайы VPN серверіңіздің IP мекенжайымен бірдей екеніне көз жеткізе аласыз.

OpenVPN сервері

Сервер конфигурациясы

Ағымдағы пайдаланушының рұқсаттар деңгейін көтерейік, себебі әрі қарай конфигурациялау үшін бізге түбірлік қатынас қажет болады.

sudo -s

Барлық қажетті пакеттерді орнатыңыз. Бізге керек болады «Оңай-RSA» шифрлау кілттерін басқаруға арналған пакет.

apt install openvpn easy-rsa iptables-persistent

UDP протоколы арқылы 1194 портындағы кіріс қосылымдарға рұқсат беріңіз және iptables ережелерін қолданыңыз.

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

sudo netfilter-persistent save

«Easy-RSA» бумасынан көшірілген файлдармен каталог жасаңыз және оған өтіңіз.

make-cadir ~/openvpn

cd ~/openvpn

Ашық кілттер инфрақұрылымын (PKI) жасаңыз.

./easyrsa init-pki

Сертификаттау орталығының (CA) түбірлік куәлігін жасаңыз.

./easyrsa build-ca

Жасау барысында құпия сөзді орнату және есте сақтау сұралады. Сондай-ақ сұрақтарға жауап беріп, кілт иесі туралы ақпаратты енгізуіңіз керек. Шаршы жақшаға берілген әдепкі мәндерді қалдыра аласыз. Енгізуді аяқтау үшін «Enter» түймесін басыңыз.

Жеке кілт пен сертификат сұрауын жасаңыз. Аргумент ретінде ерікті атауды көрсетіңіз; біздің жағдайда бұл «vpn-сервер».

./easyrsa gen-req vpn-server nopass

Жалпы атау мәнін әдепкі ретінде қалдырыңыз.

Жасалған сервер сертификатының сұрауына қол қойыңыз.

./easyrsa sign-req server vpn-server

Бұл қадамда қолтаңбаны растау үшін «иә» деп жауап беріңіз, содан кейін түбірлік куәлікті жасау кезінде жасалған құпия сөзді енгізіңіз.

Диффи-Хеллман параметрлерін жасаңыз. Бұл параметрлер сервер мен клиент арасында қауіпсіз кілт алмасу үшін пайдаланылады.

./easyrsa gen-dh

Барлық қажетті файлдар жасалды. Кілттерді сақтау және сол жерде жасалған файлдарды көшіру үшін OpenVPN жұмыс каталогында «кілттер» қалтасын жасайық.

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 конфигурациялау iptables ережелер. атты файлды жасаңыз nat және оны өңдеу үшін ашыңыз /etc/openvpn/ каталогы.

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

Файлды сақтаңыз және оны орындалатын етіп жасаңыз.

sudo chmod 755 /etc/openvpn/nat

Сервер конфигурациясының үлгісін көшіріңіз.

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

Файлды ашыңыз “/etc/openvpn/server.conf” өңдеу үшін оның келесі жолдар бар екеніне көз жеткізіңіз және қажет болса оларды өңдеңіз:

#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

Серверде трафикті бағыттауды қосыңыз.

sudo sysctl -w net.ipv4.ip_forward=1

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

Конфигурацияны қолдану үшін OpenVPN іске қосыңыз.

systemctl restart openvpn@server

Сервер конфигурациясы аяқталды!

Клиент конфигурациясы

OpenVPN ресми веб-сайтына өтіңіз «https://openvpn.net”, бөліміне өтіңіз «ҚОҒАМ» бөлім.

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

Төмен жылжып, амалдық жүйе нұсқасы үшін орнатушыны жүктеп алыңыз. Біздің жағдайда бұл Windows 11 ARM64.

операциялық жүйенің своей нұсқасы үшін пролистываем вниз және скачиваем орнатушы. Бұл Windows 11 ARM64 жүйесіне арналған.

Барлық параметрлерді әдепкі бойынша қалдырып, қолданбаны орнатыңыз.

Келесі кезеңде серверде келесі файлды дайындау және оларды клиенттік компьютерге тасымалдау қажет:

  • ашық және жабық кілттер;
  • сертификаттау орталығының кілтінің көшірмесі;
  • конфигурация файлының үлгісі.

Серверге қосылыңыз, артықшылықтарды арттырыңыз және біздің құрылған каталогқа өтіңіз "~/openvpn".

sudo -s

cd ~/openvpn

Клиент үшін жеке кілт пен сертификат сұрауын жасаңыз. Аргумент ретінде ерікті атауды көрсетіңіз; біздің жағдайда бұл «клиент1».

./easyrsa gen-req client1 nopass

Түбірлік куәлікті жасау кезінде біз орнатқан құпия сөзді енгізіңіз және Common Name мәнін әдепкі ретінде қалдырыңыз.

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

Жасалған клиент сертификатының сұрауына қол қойыңыз.

./easyrsa sign-req client client1

Бұл қадамда қолтаңбаны растау үшін «иә» деп жауап беріңіз, содан кейін түбірлік куәлікті жасау кезінде жасалған құпия сөзді енгізіңіз.

Ол үшін подтверждения подписисі үшін "иә" деп жауап беремін, содан кейін сіз оны растайсыз, содан кейін оны растаңыз.

Ыңғайлы болу үшін үй каталогында 'client1' деп аталатын қалтаны жасап, оған клиенттік компьютерге тасымалдауға арналған барлық файлдарды көшірейік.

mkdir ~/client1

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

Клиент конфигурация файлының үлгісін сол каталогқа көшіріңіз. Файл кеңейтімін келесіге өзгертіңіз “.ovpn” көшіру кезінде.

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

Каталогтың және барлық файлдардың иесін өзгертіңіз “~/клиент1/” оларды клиентке тарата білу. Жасайық «Михайл» біздің жағдайда иесі.

chown -R mihail:mihail ~/client1

Клиенттік компьютерге өтіп, мазмұнын көшіріңіз “~/клиент1/” қалта. Сіз мұны көмегімен жасай аласыз «PSCP» утилита, бұл Putty-мен бірге жүреді.

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

Негізгі файлдарды сақтауға болады “ca.crt”, "client1.crt", «клиент1.кілт» қалаған жерде. Біздің жағдайда олар осы қалтада “c:\Program Files\OpenVPN\кілттері”, және біз конфигурация файлын режимге келтіреміз «client.ovpn» ішіне “c:\Program Files\OpenVPN\config” каталогы.

Енді клиентті конфигурациялауға көшейік. Файлды ашыңыз “c:\Program Files\OpenVPN\config\client.ovpn” мәтіндік редакторда және келесі жолдарды өңдеңіз:

#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

Қалғанын қол тигізбей қалдырыңыз.

Файлды сақтаңыз және клиенттік қолданбаны іске қосыңыз «OpenVPN GUI».

VPN орнату аяқталды

Тапсырмалар тақтасындағы қолданба белгішесін тінтуірдің оң жақ түймешігімен басып, таңдаңыз «Қосылу». Қосылым сәтті болса, белгіше жасыл түске боялады.

Қоғамдық IP мекенжайыңыз өзгергеніне және қазір сервердің IP мекенжайымен бірдей екеніне көз жеткізу үшін кез келген онлайн қызметті пайдаланыңыз.

❮ Алдыңғы мақала Серверде Wireguard VPN қалай орнатуға болады
Келесі мақала ❯ FTP серверін орнату

Бізден VPS туралы сұраңыз

Біз сіздің сұрақтарыңызға күннің немесе түннің кез келген уақытында жауап беруге дайынбыз.