Маълумотнома Дастурҳои оддӣ барои кор бо хидмати Profitserver
асосӣ Маълумотнома Танзими сервери VPN дар Linux: PPTP ё OpenVPN?

Танзими сервери VPN дар Linux: 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-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" арзиш номи хидматест, ки мо дар файл нишон додем "Options 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-и берунаи компютер ҳоло бо суроғаи IP-и сервери VPN-и шумо яксон аст.

Сервери OpenVPN

Конфигуратсияи сервер

Биёед сатҳи иҷозатҳои корбари кунуниро пешбарӣ кунем, зеро барои конфигуратсияи минбаъдаи мо дастрасии реша лозим мешавад.

sudo -s

Ҳама бастаҳои заруриро насб кунед. ба мо лозим мешавад "Осон-RSA" баста барои идоракунии калидҳои рамзгузорӣ.

apt install openvpn easy-rsa iptables-persistent

Ба пайвастҳои воридотӣ дар порти 1194 тавассути протоколи UDP иҷозат диҳед ва қоидаҳои 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

Шаҳодатномаи решаи Authority Certificate (CA) -ро эҷод кунед.

./easyrsa build-ca

Дар ҷараёни эҷод, аз шумо хоҳиш карда мешавад, ки паролро насб кунед ва дар хотир нигоҳ доред. Шумо инчунин бояд ба саволҳо ҷавоб диҳед ва маълумотро дар бораи соҳиби калид ворид кунед. Шумо метавонед арзишҳои пешфарзро, ки дар қавсҳои мураббаъ оварда шудаанд, тарк кунед. Барои анҷом додани воридот "Enter" -ро пахш кунед.

Калиди хусусӣ ва дархости сертификат тавлид кунед. Ҳамчун далел, номи ихтиёриро нишон диҳед; дар ҳолати мо, он "vpn-server" аст.

./easyrsa gen-req vpn-server nopass

Қимати Номи умумиро ҳамчун пешфарз гузоред.

Дархости сертификати серверро имзо кунед.

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

Рамзеро, ки мо ҳангоми сохтани шаҳодатномаи реша муқаррар кардем, ворид кунед ва арзиши Номи умумиро ҳамчун пешфарз гузоред.

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

Дархости сертификати муштарии тавлидшударо имзо кунед.

./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/" ки онхоро ба мизочон таксим карда тавонанд. биёед созем "михайл" соҳиби дар ҳолати мо.

chown -R mihail:mihail ~/client1

Ба компютери муштарӣ равед ва мундариҷаи онро нусхабардорӣ кунед "~/client1/" папка. Шумо метавонед ин корро бо ёрии "PSCP" коммуналӣ, ки бо Putty мувофиқ аст.

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

Шумо метавонед файлҳои калидиро захира кунед "ca.crt", "client1.crt", "client1.key" ҳар ҷо, ки мехоҳед. Дар мавриди мо, онҳо дар ин ҷузвдон ҳастанд "c: \ Files Program \ OpenVPN \ калидҳо", ва мо файли конфигуратсияро танзим мекунем "client.ovpn" ба дар "c: \ Files Program \ OpenVPN \ config" феҳристи.

Акнун биёед ба танзими муштарӣ равем. Файлро кушоед "c:\Файлҳои барнома\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

Боқимондаро дастнорас гузоред.

Файлро захира кунед ва барномаи муштариро оғоз кунед "GUI OpenVPN".

Насби VPN анҷом ёфт

Ба тасвири барнома дар панели супоришҳо рост клик кунед ва интихоб кунед "Пайваст". Агар пайвастшавӣ муваффақ бошад, нишона сабз мешавад.

Ҳама гуна хидмати онлайнро истифода баред, то боварӣ ҳосил кунед, ки суроғаи IP-и шумо тағир ёфтааст ва ҳоло бо суроғаи IP-и сервер яксон аст.

❮ Мақолаи қаблӣ Танзими сервери FTP
Мақолаи навбатӣ ❯ Чӣ тавр Wireguard VPN-ро дар сервери худ насб кардан мумкин аст

Дар бораи VPS аз мо пурсед

Мо ҳамеша омодаем ба саволҳои шумо дар ҳар вақти шабу рӯз ҷавоб диҳем.