Маълумотнома Дастурҳои оддӣ барои кор бо хидмати 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 link show" санҷед - он дар қадами оянда ба шумо лозим мешавад. Номи мо "ens3" аст.

нишонаи ip

Тарҷумаи суроғаҳои шабакаро дар интерфейси берунии худ барои ҳама гиреҳҳои шабакаи маҳаллӣ фаъол созед.

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

Дар хотир доред, ки шумо бояд номи воқеии интерфейси сервери худро муайян кунед, он метавонад аз мо фарқ кунад.

Бо нобаёнӣ, ҳамаи қоидаҳои аз ҷониби iptables эҷодшуда пас аз бозоғоз кардани сервер аз нав танзим карда мешаванд. Барои пешгирӣ аз ин, аз утилитаи "iptables-persistent" истифода баред . Бастаи зеринро насб кунед:

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" номи хидматест, ки мо дар файли "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 (ном, ки дар файли "chap-secrets" дар сервер нишон дода шудааст)
  • Рамз: 1 (чунон ки дар файли "chap-secrets")

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

Илова кардани пайвасти VPN

Дар "Танзимотҳо" шумо суроғаҳои дохилии муштарӣ ва серверро хоҳед ёфт. Майдони "Суроғаи таъинот" суроғаи сервери берунаро нишон медиҳад.

Чӣ тавр сервери VPN-ро худатон танзим кунед

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

Суроғаи IP-и берунаро тафтиш кунед

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

Сервери OpenVPN

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

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

sudo -s

Ҳамаи бастаҳои заруриро насб кунед. Барои идоракунии калидҳои рамзгузорӣ ба мо бастаи "Easy-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/"- ро иваз кунед , то онҳоро ба муштарӣ тақсим карда тавонед. Биёед дар ҳолати мо соҳиби онро "mihail" кунем.

chown -R mihail:mihail ~/client1

Ба компютери муштарӣ равед ва мундариҷаи папкаи "~/client1/"- ро нусхабардорӣ кунед . Шумо метавонед ин корро бо ёрии утилитаи "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-и сервер яксон аст.

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

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

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