Zanîngeh Rêbernameyên hêsan ên ku bi karûbarê Profitserver re bixebitin
Ser Zanîngeh Sazkirina servera VPN li ser Linux: PPTP an OpenVPN?

Sazkirina servera VPN li ser Linux: PPTP an OpenVPN?


Naha, teknolojiya VPN populertir dibe. Bikarhênerên asayî VPN bikar tînin da ku bi ewlehî bigihîjin Înternetê. Di heman demê de ew ji malper û karûbarên astengkirî yên herêmî re dibe alîkar û li hember behreyên xirab ên derveyî yên gengaz diparêze. Dema ku hûn bi serverek VPN ve girêdidin, di navbera komputera we û serverê de tunelek ewle heye ku ji derve nayê gihîştin, ji ber vê yekê servera VPN dibe xala gihîştina we ya Înternetê. Gelek karûbarên VPN li wir hene, hem belaş û hem jî drav, lê heke ew ji ber hin sedeman ji we re nexebitin, hûn dikarin her gav servera VPN-ya xwe mîheng bikin.

Ji bo ku hûn VPN-ya xwe bimeşînin, divê hûn kirê server VPS. Nermalava cûda heye ku dihêle hûn pêwendiyek VPN biafirînin. Ew ji hêla pergalên xebitandinê yên piştgirî û algorîtmayên ku têne bikar anîn ji hev cûda dibe. Em ê ji bo sazkirina serverek VPN du nêzîkatiyên serbixwe binihêrin. Ya yekem li ser bingeha protokola PPTP-yê ye ku jixwe kevnar û ne ewledar tê hesibandin lê bi rastî veavakirina wê hêsan e. Ya din nermalava nûjen û ewledar OpenVPN bikar tîne lê pêdivî ye ku serîlêdanek xerîdar-sêyemîn û pêvajoyek sazkirinê ya berbiçav saz bike.

Di hawîrdora ceribandina me de, em ê serverek virtual ku ji hêla Ubuntu Server 18.04 ve hatî hêzdar kirin bikar bînin. Dîwarek agir dê li ser serverê were qut kirin ji ber ku veavakirina wê gotarek cûda heq dike. Em ê pêvajoya sazkirinê li ser Windows 10 diyar bikin.

Amadekarî

Ne girîng e ku hûn kîjan servera VPN hilbijêrin, gihîştina Înternetê dê bi rêgezên yekbûyî yên pergala xebitandinê were saz kirin. Ji bo vekirina gihîştina Înternetê bi navgînek karûbarê derveyî ve divê hûn destûr bidin şandina pakêtê di navbera navberan de û wergera navnîşana torê mîheng bikin.

Ji bo veguheztina şandina pakêtê pelê vekin "/etc/sysctl.conf" û guherîn "net.ipv4.ip_forward" nirxa parametreyê nav 1.

şandina pakêtan ji bo sazkirina VPN vekin

Ji bo ku hûn guheztinan bêyî ji nû ve destpêkirina komputerê bicîh bikin, fermanê bişopînin

sudo sysctl -p /etc/sysctl.conf

Wergera navnîşana torê bi navgîniya tê vesaz kirin iptables. Pêşîn, navê navbeynkariya tora xweya derveyî ku fermanê dimeşîne kontrol bikin "nîşandana girêdana IP" - hûn ê di gava paşîn de hewce bikin. Navê me ye "ens3".

girêdana ip nîşan bide

Wergera navnîşana torê li navrûya xweya derve ji bo hemî girêkên torê yên herêmî çalak bike.

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

Bala xwe bidinê ku hûn hewce ne ku navê rastîn a navgîniya servera xwe diyar bikin, ew dikare ji ya me cûda be.

Ji hêla xwerû, hemî qaîdeyên ku ji hêla iptables ve hatî afirandin piştî destpêkirina serverê têne vesaz kirin. Ji bo pêşîlêgirtina wê, bikar bînin "iptables-persistent" bikêrhatî. Pakêta jêrîn saz bikin:

sudo apt install iptables-persistent

Di hin nuqteyan de di pêvajoya sazkirinê de, hûn ê pencereyek mîhengê bibînin ku dê ji we re pêşniyar bike ku hûn qaîdeyên heyî yên iptables hilînin. Ji ber ku qaîdeyên berê hatine diyarkirin, tenê piştrast bikin û bikirtînin "Erê" du car. Ji ber ku nuha piştî destpêkirina serverê dê rêgez bixweber werin sepandin.

Wergera navnîşanê çalak bike

Pêşkêşkara PPTP

Veavakirina server

Pakêtê saz bikin:

sudo apt install pptpd

Piştî sazkirinê qediya, pelê vekin "/etc/pptpd.conf" di her edîtorek nivîsê de û bi vî rengî biguherînin:

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

Piştî vê yekê, pelê biguherînin "/etc/ppp/pptpd-options". Piraniya pîvanan ji hêla xwerû ve têne saz kirin.

#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

Di qonaxa paşîn de, hûn ê hewce ne ku ji bo girêdanên xerîdar tomarek çêbikin. Ka em bibêjin ku hûn dixwazin bikarhênerek zêde bikin "vpnuser" bi şîfreya "1" û destûrê bide navnîşana dînamîk ji bo wî. Pelê vekin "/etc/ppp/chap-secrets" û rêza jêrîn bi pîvanên bikarhêner li dawiya pelê zêde bikin:

vpnuser pptpd 1 *

"pptpd" nirx navê karûbarê ku me di pelê de diyar kiriye ye "pptpd-vebijarkên". Di şona "*" hûn dikarin navnîşanek IP-ya sabît diyar bikin. Di encamê de, pel "çap-veşartî" divê wiha xuya bike:

Sazkirina servera VPN

Ji bo sepandina mîhengan vesaz bikin pptpd xizmetê bikin û wê li barkirina otomatîkî zêde bikin.

sudo systemctl restart pptpd
sudo systemctl enable pptpd

Veavakirina serverê qediya.

Veavakirina Client

Vekirî "Destpêkirin" - "Sîstema" - Tor & Înternet - "VPN" û click "Têkiliyek VPN lê zêde bike"

Ji bo girêdana VPN-ê xerîdar saz bikin

Di pencereya vekirî de pîvanên pêwendiyê binivîsin û bikirtînin "Rizgarkirin"

  • Pêşkêşvanê VPN: "Windows (avakirî)"
  • Navê girêdanê: "vpn_connect" (hûn dikarin her navekî hilbijêrin)
  • Navnîşan an navnîşana serverê: (navnîşana IP-ya derveyî ya serverê diyar bike)
  • Tîpa VPN: "Auto"
  • Tîpa agahdariya têketinê: "Navê bikarhêner û şîfre"
  • Navê bikarhêner: vpnuser (navê ku di pelê "chap-secrets" de li ser serverê hatî destnîşan kirin)
  • Şîfre: 1 (wek di pelê "çap-secrets" de)

Piştî tomarkirina parametreyan, hûn ê di pencereyê de pêwendiya VPN-ya nû bibînin. Li ser girêdanê çep-klîk bikin û hilbijêrin "Bihevgirêdan". Di rewşeke pêwendiyek serkeftî de, hûn ê bibînin "Girêdayî" cî.

Zêdekirina girêdana VPN

Di Vebijêrkan de, hûn ê navnîşanên navxweyî yên xerîdar û serverê bibînin. Erd "Navnîşana meqsedê" navnîşana servera derveyî nîşan dide.

Meriv çawa servera VPN bi xwe saz dike

Dema ku ve girêdayî ye, navnîşana IP-ya navxweyî ya serverê, 172.16.0.1 di rewşa me de, ji bo hemî pakêtên derketinê dibe deriyê xwerû.

Navnîşana IP-ya derveyî kontrol bikin

Bi karanîna karûbarek serhêl hûn dikarin piştrast bikin ku navnîşana IP-ya derveyî ya komputerê naha wekî navnîşana IP-ya servera VPN-ya we ye.

Servera OpenVPN

Veavakirina server

Ka em asta destûrên bikarhênerê heyî pêşve bixin ji ber ku ji bo veavakirina meya din em ê hewceyê gihîştina root bin.

sudo -s

Hemû pakêtên pêwîst saz bikin. Em ê hewce ne "Easy-RSA" pakêtek ji bo birêvebirina mifteyên şîfrekirinê.

apt install openvpn easy-rsa iptables-persistent

Destûrê bide girêdanên hatinî li ser porta 1194 bi rêya protokola UDP û qaîdeyên iptables bicîh bîne.

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

sudo netfilter-persistent save

Peldankek bi pelên kopîkirî yên ji pakêta "Easy-RSA" biafirînin û tê de bigerin.

make-cadir ~/openvpn

cd ~/openvpn

Binesaziya Mifteya Giştî (PKI) çêbike.

./easyrsa init-pki

Sertîfîkaya root a Desteya Sertîfîkayê (CA) çêbikin.

./easyrsa build-ca

Di dema pêvajoya afirandinê de, dê ji we were xwestin ku şîfreyekê saz bikin û bi bîr bînin. Her wiha hûn ê hewce bikin ku bersiva pirsan bidin û agahdariya li ser xwediyê mifteyê binivîsin. Hûn dikarin nirxên xwerû yên ku di nav parantezên çargoşe de hatine dayîn bihêlin. Ji bo qedandina têketinê "Enter" bikirtînin.

Mifteyek taybet û daxwazek sertîfîkayê çêbike. Wek argumanek, navekî kêfî diyar bike; di rewşa me de, ew "vpn-server" e.

./easyrsa gen-req vpn-server nopass

Nirxa Common Name wekî xwerû bihêle.

Daxwaza sertîfîkaya serverê ya çêkirî îmze bike.

./easyrsa sign-req server vpn-server

Di vê gavê de, ji bo piştrastkirina îmzeyê bersiva "erê" bidin, dûv re şîfreya ku di dema çêkirina sertîfîkaya root de hatî afirandin binivîsin.

Parametreyên Diffie-Hellman çêbikin. Ev parametre ji bo danûstandina mifteyê ya ewle di navbera server û xerîdar de têne bikar anîn.

./easyrsa gen-dh

Hemû pelên pêwîst hatine çêkirin. Werin em di navnîşana xebatê ya OpenVPN-ê de peldankek "kilît" çêbikin da ku mifteyan hilînin û pelên çêkirî li wir kopî bikin.

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 bi karanîna mîheng bike iptables qaîdeyan. Pelêk bi navê çêke nat û wê ji bo sererastkirinê di pelê de veke /etc/openvpn/ Peldanka

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

Pelê tomar bike û wê bike ku bibe çalakbar.

sudo chmod 755 /etc/openvpn/nat

Şablona mîhengkirina serverê kopî bike.

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

Pelê vekin "/etc/openvpn/server.conf" ji bo guherandinê, pê ewle bine ku ew rêzikên jêrîn dihewîne, û ger hewce be wan biguherîne:

#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

Pêşvebirina trafîkê li ser serverê çalak bike.

sudo sysctl -w net.ipv4.ip_forward=1

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

Ji bo sepandina mîhengkirinê OpenVPN-ê bidin destpêkirin.

systemctl restart openvpn@server

Veavakirina serverê qediya!

Veavakirina Client

Biçe malpera fermî ya OpenVPN "https://openvpn.net", biçin "CIVAK" liq.

Têkeve ser malpera fermî ya projeya "https://openvpn.net", derbas dibe di nav de "COMUNITY".

Ber bi jêr ve biçin û bernameya sazkirinê ya guhertoya pergala xebitandinê ya xwe dakêşin. Di rewşa me de, ew Windows 11 ARM64 e.

prolistыvaem vniz and skachivaem installer dlya xwey guhertoya operasyonê ya pergalê. Vê gavê ev Windows 11 ARM64 ye.

Serlêdanê saz bikin ku hemî parameteran ji hêla xwerû ve dihêle.

Di qonaxa paşîn de hûn ê hewce bikin ku pelê jêrîn li ser serverê amade bikin û wan veguhezînin komputera xerîdar:

  • keys giştî û taybet;
  • kopiyek mifteya navenda pejirandinê;
  • şablonê pelê mîhengê.

Bi serverê ve girêbide, îmtiyazan bilind bike, û biçe pelrêça me ya çêkirî "~/openvpn".

sudo -s

cd ~/openvpn

Mifteyek taybet û daxwazek sertîfîkayê ji bo xerîdar çêbike. Wek argumanek, navekî kêfî diyar bike; di rewşa me de, ew "client1" e.

./easyrsa gen-req client1 nopass

Şîfreya ku me dema çêkirina sertîfîkaya root danî binivîse û nirxa Common Name wekî xwerû bihêle.

Navnîşana parol'ê, ku ev yek ji bo sertîfîkaya kornevogo ava dike û navê Common Name ji bo umolchaniyu-ê destnîşan dike.

Daxwaza sertîfîkaya xerîdar a çêkirî îmze bike.

./easyrsa sign-req client client1

Di vê gavê de, ji bo piştrastkirina îmzeyê bersiva "erê" bidin, dûv re şîfreya ku di dema çêkirina sertîfîkaya root de hatî afirandin binivîsin.

Li ser vê yekê "erê" ji bo sertîfîkaya nû ya nû vebû, piştî ku ew ji bo sertîfîkaya sertîfîkayê çêkiribû.

Ji bo rehetiyê, em di navnîşana malê de peldankek bi navê 'client1' biafirînin û hemû pelên ku ji bo veguheztina kompîtura xerîdar têne xwestin tê de kopî bikin.

mkdir ~/client1

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

Şablona pelê mîhengê ya xerîdar li heman pelrêça kopî bikin. Berfirehkirina pelê biguherînin ".ovpn" dema kopîkirinê.

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

Xwediyê pelrêça û hemî pelan biguherînin "~/client1/" da ku bikaribe wan li ser xerîdar belav bike. Ka em çêkin "mihaîl" xwedî li doza me.

chown -R mihail:mihail ~/client1

Herin ser komputera xerîdar û naveroka wê kopî bikin "~/client1/" pêçek. Hûn dikarin bi alîkariya wê bikin "PSCP" bikêrhatî, ku bi Putty re derbas dibe.

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

Hûn dikarin pelên sereke hilînin "ca.crt", "client1.crt", "client1.key" li ku derê hûn dixwazin. Di rewşa me de, ew di vê peldankê de ne "c: \ Pelên Bernameyê \ OpenVPN \ bişkok", û em pelê mîhengê modê dikin "client.ovpn" nav "c: \ Pelên Bernameyê \ OpenVPN \ config" Peldanka

Naha em werin ser mîhengkirina xerîdar. Pelê vekin "c:\Pelên Bernameyê\OpenVPN\config\client.ovpn" di edîtorek nivîsê de û rêzikên jêrîn biguherînin:

#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

Yên mayî bihêlin.

Pelê hilînin û serîlêdana xerîdar dest pê bikin "GUI OpenVPN".

Sazkirina VPN qediya

Li ser îkona sepanê ya di barika peywirê de rast-klîk bikin û hilbijêrin "Bihevgirêdan". Ger girêdan serketî be îkon dê kesk bibe.

Xizmetek serhêl bikar bînin da ku pê ewle bibin ku navnîşana IP-ya weya giştî guherî ye û naha wekî navnîşana IP-ya serverê ye.

❮ Gotara berê Meriv çawa Wireguard VPN li ser servera xwe saz dike
Nivîsa din ❯ Sazkirina servera FTP

Li ser VPS-ê ji me bipirsin

Em her dem amade ne ku di her wextê rojê û şevê de bersiva pirsên we bidin.