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 шилтеме көрсөтүү" - кийинки кадамда сизге керек болот. Биздин ат "ens3".

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

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

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

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

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

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

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

vpnuser pptpd 1 *

"pptpd" value - бул биз файлда көрсөткөн кызматтын аталышы "pptpd параметрлери". Ордуна "*" туруктуу IP дарегин көрсөтө аласыз. Натыйжада, файл "Сырлар" мындай болушу керек:

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

Бардык керектүү пакеттерди орнотуңуз. Бизге керек болот "Оңой-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

Каталогдун ээсин жана бардык файлдарды өзгөртүңүз “~/клиент1/” аларды кардарга тарата билуу. жасайбыз "михайл" биздин учурда ээси.

chown -R mihail:mihail ~/client1

Кардардын компьютерине барып, анын мазмунун көчүрүү “~/клиент1/” папка. Сиз мунун жардамы менен жасай аласыз "PSCP" утилита, бул Putty менен коштолот.

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 дареги менен бирдей экенине ынануу үчүн каалаган онлайн кызматты колдонуңуз.

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

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

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