Knowledgebase Profitserver кызматы менен иштөө үчүн жөнөкөй көрсөтмөлөр
негизги Knowledgebase 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 link show" буйругун иштетип, тышкы тармак интерфейсиңиздин атын текшериңиз - ал сизге кийинки кадамда керек болот. Биздин атыбыз "ens3".

ip шилтемесин көрсөтүү

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

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

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

Демейки боюнча, iptables тарабынан түзүлгөн бардык эрежелер сервер кайра жүктөлгөндөн кийин баштапкы абалга келтирилет. Мунун алдын алуу үчүн, "iptables-persistent" утилитасын колдонуңуз. Төмөнкү пакетти орнотуңуз:

sudo apt install iptables-persistent

Орнотуу процессинин кайсы бир учурунда, сиз учурдагы iptables эрежелерин сактоону сунуштаган конфигурация терезесин көрөсүз. Эрежелер мурунтан эле аныкталгандыктан, жөн гана ырастап, "Ооба" баскычын эки жолу басыңыз. Эми сервер кайра жүктөлгөндөн кийин эрежелер автоматтык түрдө колдонулат.

Дарек которууну күйгүзүңүз

PPTP сервери

Server тарам

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

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-options" файлын түзөтүңүз . Көпчүлүк параметрлер демейки боюнча орнотулат.

#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

Кийинки этапта, сиз кардар байланыштары үчүн жазуу түзүшүңүз керек болот. Мисалы, сиз "1" сырсөзү бар "vpnuser" колдонуучусун кошуп, ага динамикалык дарек берүүгө уруксат бергиңиз келет. "/etc/ppp/chap-secrets" файлын ачып , файлдын аягына колдонуучунун параметрлери менен төмөнкү сапты кошуңуз:

vpnuser pptpd 1 *

“pptpd” мааниси – бул “pptpd-options” файлында көрсөтүлгөн кызматтын аталышы . “*” ордуна сиз туруктуу IP дарегин көрсөтө аласыз. Натыйжада, “chap-secrets” файлы төмөнкүдөй көрүнүшү керек:

VPN серверин орнотуу

Жөндөөлөрдү колдонуу үчүн, pptpd кызматын баштапкы абалга келтирип, аны автоматтык түрдө жүктөөгө кошуңуз.

sudo systemctl restart pptpd
sudo systemctl enable pptpd

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

Кардардын конфигурациясы

"Баштоо" - "Орнотуулар" - "Тармак жана Интернет" - "VPN" бөлүмүн ачып , "VPN туташуусун кошуу" баскычын чыкылдатыңыз.

VPN туташуусу үчүн кардарды орнотуу

Ачылган терезеде туташуу параметрлерин киргизип, "Сактоо" баскычын чыкылдатыңыз.

  • VPN камсыздоочу: "Windows (курулган)"
  • Туташуу аты: “vpn_connect” (сиз каалаган аталышты тандай аласыз)
  • Сервердин аты же дареги: (сервердин тышкы IP дарегин көрсөтүңүз)
  • VPN түрү: "Авто"
  • Кирүү маалыматынын түрү: "Колдонуучунун аты жана сырсөз"
  • Колдонуучунун аты: vpnuser (сервердеги "чап сырлары" файлында көрсөтүлгөн аталыш)
  • Купуя сөз: 1 ("Chap-secrets" файлындагыдай)

Параметрлерди сактагандан кийин, терезеде жаңы VPN туташуусун көрөсүз. Туташууну сол баскыч менен чыкылдатып, "Туташуу" дегенди тандаңыз. Ийгиликтүү туташуу болгон учурда, "Туташты" абалын көрөсүз.

VPN байланышы кошулууда

"Опциялар" бөлүмүндө кардардын жана сервердин ички даректерин таба аласыз. "Багытталган дарек" талаасында тышкы сервердин дареги көрсөтүлөт.

VPN серверин өз алдынча кантип орнотсо болот

Туташкан учурда, биздин учурда сервердин ички IP дареги 172.16.0.1 бардык чыгуучу пакеттер үчүн демейки шлюз болуп калат.

Тышкы IP дарегин текшерүү

Каалаган онлайн кызматты колдонуп, компьютердин тышкы IP дареги VPN сервериңиздин IP дареги менен бирдей экенине ынанууга болот.

OpenVPN сервери

Server тарам

Келгиле, учурдагы колдонуучунун уруксаттар деңгээлин көтөрөлү, анткени биздин мындан аркы конфигурациябыз үчүн бизге тамыр мүмкүнчүлүгү керек болот.

sudo -s

Бардык керектүү пакеттерди орнотуңуз. Шифрлөө ачкычтарын башкаруу үчүн бизге "Easy-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

Common Name маанисин демейки катары калтырыңыз.

Түзүлгөн сервер сертификатынын сурамына кол коюу.

./easyrsa sign-req server vpn-server

Бул кадамда колду ырастоо үчүн "ооба" деп жооп бериңиз, андан кийин түпкү сертификатты түзүү учурунда түзүлгөн сырсөздү киргизиңиз.

Diffie-Hellman параметрлерин түзүү. Бул параметрлер сервер менен кардар ортосунда коопсуз ачкыч алмашуу үчүн колдонулат.

./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

Каталогдун жана бардык файлдардын ээсин "~/client1/" өзгөртүп , аларды кардарга таратыңыз. Биздин учурда ээси катары "mihail" жасайлы.

chown -R mihail:mihail ~/client1

Кардардын компьютерине өтүп, "~/client1/" папкасынын мазмунун көчүрүңүз. Муну Putty менен бирге колдонулган "PSCP" утилитасын колдонуп жасай аласыз .

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

Сиз "ca.crt" , "client1.crt" , "client1.key" негизги файлдарын каалаган жерде сактай аласыз . Биздин учурда, алар "c:\Program Files\OpenVPN\keys" папкасында жайгашкан, ал эми биз "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 дареги менен бирдей экенине ынануу үчүн каалаган онлайн кызматты колдонуңуз.

❮ Мурунку макала FTP серверин орнотуу
Кийинки макала ❯ Сервериңизде Wireguard VPNди кантип орнотсо болот

Бизден VPS жөнүндө сураңыз

Биз сиздин суроолоруңузга күнү-түнү каалаган убакта жооп берүүгө даярбыз.