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 serverek VPS kirê bikin . Nermalavên cûda hene ku dihêle hûn girêdanek VPN-ê biafirînin. Ew ji hev cuda ne bi pergalên xebitandinê yên piştgirîkirî û algorîtmayên ku têne bikar anîn. Em ê li du rêbazên serbixwe ji bo sazkirina serverek VPN-ê binêrin. Ya yekem li ser protokola PPTP-ê ye ku jixwe kevnar û ne ewle tê hesibandin lê mîhengkirina wê pir hêsan e. Ya din nermalava nûjen û ewledar OpenVPN-ê bikar tîne lê sazkirina serîlêdanek xerîdar a partiya sêyemîn û pêvajoyek sazkirinê ya berfirehtir hewce dike.

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 vekirina şandina pakêtan pelê "/etc/sysctl.conf" veke û nirxa parametreya "net.ipv4.ip_forward" biguherîne 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

Wergerandina navnîşana torê bi rêya iptables tê mîhengkirin . Pêşî, navê navrûya tora xwe ya derveyî kontrol bikin dema ku fermana "ip link show" tê xebitandin - hûn ê di gava din de hewceyê wê bin. Navê me "ens3" e.

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.

Bi xwerû, hemû qaîdeyên ku ji hêla iptables ve hatine afirandin piştî ji nû ve destpêkirina serverê ji nû ve tên sazkirin. Ji bo pêşîgirtina li vê yekê, amûra "iptables-persistent" bikar bînin . Pakêta jêrîn saz bikin:

sudo apt install iptables-persistent

Di demekê de di pêvajoya sazkirinê de, hûn ê pencereyek mîhengkirinê bibînin ku dê pêşniyar bike ku hûn qaîdeyên iptables-ê yên heyî tomar bikin. Ji ber ku qaîde berê hatine destnîşankirin, tenê piştrast bikin û du caran li "Erê" bikirtînin . Ji niha û pê ve, qaîde dê piştî ji nû ve destpêkirina serverê bixweber werin sepandin.

Wergera navnîşanê çalak bike

Pêşkêşkara PPTP

Veavakirina server

Pakêtê saz bikin:

sudo apt install pptpd

Piştî ku sazkirin bi dawî dibe, pelê "/etc/pptpd.conf" di her edîtorek nivîsê de veke û bi vî rengî biguherîne:

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î wê, pelê "/etc/ppp/pptpd-options" biguherîne . Piraniya parametreyan bi xwerû hatine mîheng 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 bê de, hûn ê hewce bikin ku ji bo girêdanên xerîdar qeydek çêbikin. Ferz bikin ku hûn dixwazin bikarhênerek "vpnuser" bi şîfreya "1" zêde bikin û navnîşana dînamîk ji bo wî destûr bidin. Pelê "/etc/ppp/chap-secrets" vekin û rêza jêrîn bi parametreyên bikarhêner li dawiya pelê zêde bikin:

vpnuser pptpd 1 *

Nirxa "pptpd" navê xizmeta ku me di pelê "pptpd-options" de destnîşan kiriye ye . Li şûna "*" hûn dikarin navnîşana IP-ya sabît diyar bikin. Di encamê de, pelê "chap-secrets" divê bi vî rengî xuya bike:

Sazkirina servera VPN

Ji bo sepandina mîhengan, karûbarê pptpd-ê sifir bikin û wê li barkirina otomatîkî zêde bikin.

sudo systemctl restart pptpd
sudo systemctl enable pptpd

Veavakirina serverê qediya.

Veavakirina Client

"Destpêk" - "Mîheng" - "Torgel û Înternet" - "VPN" vekin û li ser "Girêdana VPN zêde bike" bikirtînin.

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

Parametreyên pêwendiyê di pencereya ku vebûye de binivîse û bikirtîne "Save".

  • 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 ê girêdana VPN-ya nû di pencereyê de bibînin. Bişkojka çepê li ser girêdanê bikirtînin û "Girêdan" hilbijêrin . Di rewşa girêdanek serketî de, hûn ê rewşa "Girêdayî" bibînin.

Zêdekirina girêdana VPN

Di Vebijarkan de, hûn ê navnîşanên navxweyî yên xerîdar û serverê bibînin. Qada "Navnîşana armancê" navnîşana servera derveyî nîşan dide.

Meriv çawa servera VPN bi xwe saz dike

Dema ku tê girêdan, navnîşana IP ya navxweyî ya serverê, di rewşa me de 172.16.0.1 , ji bo hemî pakêtên derketî 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. Ji bo birêvebirina mifteyên şîfrekirinê, em ê hewceyê pakêta "Easy-RSA" bin.

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ê "/etc/openvpn/server.conf" ji bo sererastkirinê veke, piştrast bike ku ew rêzên jêrîn tê de hene, û heke pêwîst 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

Herin malpera fermî ya OpenVPN " https://openvpn.net ", biçin beşa "COMUNITY".

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îhengkirina xerîdar li heman peldankê kopî bike. Dema kopîkirinê dirêjkirina pelê biguherîne ".ovpn" .

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

Xwediyê pelrêç û hemû pelên "~/client1/" biguherînin da ku hûn bikaribin wan li xerîdar belav bikin. Werin em di rewşa xwe de "mihail" bikin xwediyê wê.

chown -R mihail:mihail ~/client1

Biçe ser komputerê xerîdar û naveroka peldanka "~/client1/" kopî bike . Tu dikarî vê yekê bi alîkariya bernameya "PSCP" bikî , ku bi Putty re tê.

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

Hûn dikarin pelên sereke "ca.crt" , "client1.crt" , "client1.key" li her deverê ku hûn bixwazin hilînin. Di rewşa me de, ew di vê peldanka "c:\Program Files\OpenVPN\keys" de ne , û em pelê mîhengkirinê "client.ovpn" di peldanka "c:\Program Files\OpenVPN\config" de diguherînin.

Niha em dest bi mîhengkirina xerîdar bikin. Pelê "c:\Program Files\OpenVPN\config\client.ovpn" di edîtorek nivîsê de vekin û rêzê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ê tomar bike û sepana xerîdar "OpenVPN GUI" bide destpêkirin.

Sazkirina VPN qediya

Li ser îkona sepanê ya li ser panela peywirê rast-klîk bikin û "Girêdan" hilbijêrin . 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ê Sazkirina servera FTP
Nivîsa din ❯ Meriv çawa Wireguard VPN li ser servera xwe saz dike

Li ser VPS-ê ji me bipirsin

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