Knowledgebase Istruzzjonijiet sempliċi biex taħdem mas-servizz Profitserver
Main Knowledgebase Setup tas-server VPN fuq Linux: PPTP jew OpenVPN?

Setup tas-server VPN fuq Linux: PPTP jew OpenVPN?


Illum il-ġurnata, it-teknoloġija VPN issir aktar popolari. Utenti ordinarji jużaw VPN biex jaċċessaw l-Internet b'mod sikur. Tgħin ukoll biex tgħaddi minn websajts u servizzi mblukkati lokalment u tipproteġi kontra mġiba malizzjuża esterna possibbli. Meta tkun qed tikkonnettja ma' server VPN, hemm mina sigura bejn il-kompjuter tiegħek u s-server li ma tistax tiġi aċċessata minn barra, u għalhekk is-server VPN isir il-punt ta 'aċċess għall-Internet tiegħek. Hemm ħafna servizzi VPN hemmhekk, kemm b'xejn kif ukoll imħallsa, imma jekk ma jaħdmux għalik għal xi raġuni, dejjem tista 'tikkonfigura s-server VPN tiegħek stess.

Biex tmexxi l-VPN tiegħek, għandek kera server VPS. Hemm softwer differenti li jippermettilek toħloq konnessjoni VPN. Hija differenti minn xulxin bis-sistemi operattivi appoġġjati u l-algoritmi użati. Se nagħtu ħarsa lejn żewġ approċċi indipendenti biex inwaqqfu server VPN. L-ewwel wieħed huwa bbażat fuq protokoll PPTP li huwa diġà meqjus skadut u mhux sigur iżda huwa verament faċli biex jiġi kkonfigurat. L-oħra timpjega softwer modern u sigur OpenVPN iżda teħtieġ l-installazzjoni ta 'applikazzjoni ta' klijent ta 'parti terza u proċess ta' setup aktar bir-reqqa.

Fl-ambjent tat-test tagħna, se nużaw server virtwali mħaddem minn Ubuntu Server 18.04. Firewall se jintefa fuq is-server minħabba li l-konfigurazzjoni tiegħu jistħoqqilha artiklu separat. Aħna ser niddeskrivu l-proċess ta 'setup fuq Windows 10.

Preparazzjoni

Irrispettivament minn liema server VPN tagħżel, l-aċċess għall-Internet se jiġi stabbilit b'mezzi integrati tas-sistema operattiva. Sabiex tiftaħ l-aċċess għall-Internet permezz ta' interface ta' servizz estern trid tippermetti t-trażmissjoni tal-pakketti bejn l-interfaces u tikkonfigura t-traduzzjoni tal-indirizz tan-netwerk.

Biex tixgħel it-trażmissjoni tal-pakkett iftaħ il-fajl “/etc/sysctl.conf” u bidla “net.ipv4.ip_forward” valur tal-parametru fi 1.

ixgħel it-trażmissjoni tal-pakketti għas-setup tal-VPN

Sabiex tapplika l-bidliet mingħajr ma terġa 'tibda l-kompjuter, mexxi l-kmand

sudo sysctl -p /etc/sysctl.conf

It-traduzzjoni tal-indirizz tan-netwerk hija kkonfigurata permezz ta' iptables. L-ewwel, iċċekkja l-isem tal-interface tan-netwerk estern tiegħek li tħaddem il-kmand "wiri ip link" - ser ikollok bżonnha fil-pass li jmiss. Isimna hu “ens3”.

wirja tal-link ip

Ippermetti t-traduzzjoni tal-indirizz tan-netwerk fl-interface esterna tiegħek għan-nodi tan-netwerk lokali kollha.

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

Innota li għandek bżonn tispeċifika l-isem reali tal-interface tas-server tiegħek, jista 'jkun differenti minn tagħna.

B'mod awtomatiku, ir-regoli kollha maħluqa minn iptables huma reset wara li s-server jerġa' jibda. Sabiex tevita dan, uża "iptables-persistenti" utilità. Installa l-pakkett li ġej:

sudo apt install iptables-persistent

F'xi punt matul il-proċess ta 'installazzjoni, se tara tieqa ta' konfigurazzjoni li tissuġġerixxi li tfaddal ir-regoli attwali ta 'iptables. Peress li r-regoli huma diġà definiti, sempliċement ikkonferma u kklikkja "Iva" darbtejn. Peress li issa r-regoli se jiġu applikati awtomatikament wara li s-server jerġa 'jibda.

Ixgħel it-traduzzjoni tal-indirizz

Server PPTP

Konfigurazzjoni tas-server

Installa l-pakkett:

sudo apt install pptpd

Wara li tispiċċa l-installazzjoni, iftaħ il-fajl “/etc/pptpd.conf” fi kwalunkwe editur tat-test u editjah bħal dan:

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

Wara dan, editja l-fajl “/etc/ppp/pptpd-options”. Ħafna mill-parametri huma stabbiliti awtomatikament.

#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

Fl-istadju li jmiss, ser ikollok bżonn toħloq rekord għall-konnessjonijiet tal-klijenti. Ejja ngħidu li trid iżżid utent “vpnuser” bil-password "1" u jippermettu indirizzar dinamiku għalih. Iftaħ il-fajl “/etc/ppp/chap-secrets” u żid il-linja li ġejja mal-parametri tal-utent fl-aħħar tal-fajl:

vpnuser pptpd 1 *

“pptpd” valur huwa l-isem tas-servizz li speċifikajna fil-fajl “opzjonijiet-pptpd”. Minflok "*" tista' tispeċifika indirizz IP fiss. Fir-riżultat, il-fajl "chap-sigrieti" għandu jidher bħal dan:

Setup tas-server VPN

Biex tapplika l-issettjar reset l- pptpd servizz u żidha ma 'awtoloading.

sudo systemctl restart pptpd
sudo systemctl enable pptpd

Il-konfigurazzjoni tas-server hija lesta.

Konfigurazzjoni tal-klijent

miftuħa "Ibda" - "Settings" - Netwerk u Internet - "VPN" u kklikkja "Żid konnessjoni VPN"

Setup klijent għal konnessjoni VPN

Daħħal il-parametri tal-konnessjoni fit-tieqa miftuħa u kklikkja "Issejvja"

  • Fornitur VPN: "Windows (inkorporat)"
  • Isem tal-konnessjoni: "vpn_connect" (tista' tagħżel kwalunkwe isem)
  • Isem jew indirizz tas-server: (speċifika l-indirizz IP estern tas-server)
  • Tip VPN: "Auto"
  • Tip ta’ informazzjoni ta’ dħul: “Isem tal-utent u password”
  • Isem l-utent: vpnuser (isem speċifikat fil-fajl “chap-secrets” fuq is-server)
  • password: 1 (bħal fil-fajl "chap-sigrieti")

Wara li tissejvja l-parametri, tara l-konnessjoni VPN ġdida fit-tieqa. Ikklikkja xellug il-konnessjoni u agħżel "Qabbad". Fil-każ ta 'konnessjoni ta' suċċess, se tara "Konness" istatus.

Żieda ta 'konnessjoni VPN

Fl-Għażliet, issib indirizzi interni tal-klijent u tas-server. Qasam “Indirizz tad-destinazzjoni” juri l-indirizz estern tas-server.

Kif issettja s-server VPN waħdek

Meta konness, l-indirizz IP intern tas-server, 172.16.0.1 fil-każ tagħna, isir il-portal default għall-pakketti kollha ħerġin.

Iċċekkja l-indirizz IP estern

Bl-użu ta 'kwalunkwe servizz onlajn tista' tiżgura li l-indirizz IP estern tal-kompjuter issa huwa l-istess bħall-indirizz IP tas-server VPN tiegħek.

Server OpenVPN

Konfigurazzjoni tas-server

Ejja nippromwovu l-livell tal-permessi tal-utent attwali għaliex għall-konfigurazzjoni ulterjuri tagħna ser ikollna bżonn aċċess għall-għeruq.

sudo -s

Installa l-pakketti kollha meħtieġa. Ikollna bżonn "Faċli-RSA" pakkett biex jimmaniġġja ċwievet ta 'encryption.

apt install openvpn easy-rsa iptables-persistent

Ippermetti konnessjonijiet deħlin fuq il-port 1194 permezz tal-protokoll UDP u applika r-regoli tal-iptables.

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

sudo netfilter-persistent save

Oħloq direttorju bil-fajls ikkupjati mill-pakkett “Easy-RSA” u naviga fih.

make-cadir ~/openvpn

cd ~/openvpn

Iġġenera Infrastruttura taċ-Ċavetta Pubblika (PKI).

./easyrsa init-pki

Iġġenera ċ-ċertifikat ewlieni tal-Awtorità taċ-Ċertifikazzjoni (CA).

./easyrsa build-ca

Matul il-proċess tal-ħolqien, int se tintalab tissettja u tiftakar password. Ikollok bżonn ukoll twieġeb mistoqsijiet u ddaħħal informazzjoni dwar is-sid taċ-ċavetta. Tista' tħalli l-valuri awtomatiċi pprovduti fil-parentesi kwadri. Agħfas "Enter" biex tiffinalizza l-input.

Iġġenera ċavetta privata u talba għal ċertifikat. Bħala argument, speċifika isem arbitrarju; fil-każ tagħna, huwa “vpn-server”.

./easyrsa gen-req vpn-server nopass

Ħalli l-valur tal-Isem Komuni bħala default.

Iffirma t-talba taċ-ċertifikat tas-server iġġenerata.

./easyrsa sign-req server vpn-server

F'dan il-pass, wieġeb "iva" biex tikkonferma l-firma, imbagħad daħħal il-password li nħolqot waqt il-ġenerazzjoni taċ-ċertifikat ewlieni.

Iġġenera parametri Diffie-Hellman. Dawn il-parametri jintużaw għall-iskambju sigur taċ-ċwievet bejn is-server u l-klijent.

./easyrsa gen-dh

Il-fajls meħtieġa kollha ġew iġġenerati. Ejja noħolqu fowlder "keys" fid-direttorju tax-xogħol tal-OpenVPN biex naħżnu ċ-ċwievet u nikkopjaw il-fajls maħluqa hemmhekk.

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

Ikkonfigura n-NAT billi tuża iptables regoli. Oħloq fajl bl-isem nat u iftaħha għall-editjar fil- /etc/openvpn/ direttorju.

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

Issejvja l-fajl u agħmlu eżegwibbli.

sudo chmod 755 /etc/openvpn/nat

Ikkopja l-mudell tal-konfigurazzjoni tas-server.

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

Iftaħ il-fajl “/etc/openvpn/server.conf” għall-editjar, kun żgur li fih il-linji li ġejjin, u editjahom jekk meħtieġ:

#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

Ippermetti t-trażmissjoni tat-traffiku fuq is-server.

sudo sysctl -w net.ipv4.ip_forward=1

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

Ibda OpenVPN biex tapplika l-konfigurazzjoni.

systemctl restart openvpn@server

Il-konfigurazzjoni tas-server hija lesta!

Konfigurazzjoni tal-klijent

Mur fil-websajt uffiċjali ta 'OpenVPN "https://openvpn.net”, mur fil- “KOMUNITÀ” taqsima.

Заходим на официальный сайт проекта “https://openvpn.net”, переходим в раздел “KOMUNITÀ”.

Skrolla 'l isfel u niżżel l-installatur għall-verżjoni tas-sistema operattiva tiegħek. Fil-każ tagħna, huwa Windows 11 ARM64.

пролистываем вниз и скачиваем инсталлятор для своей версии операционной системы. В нашем случае это Windows 11 ARM64.

Installa l-applikazzjoni billi tħalli l-parametri kollha awtomatikament.

Fl-istadju li jmiss ser ikollok bżonn tipprepara l-fajl li ġej fuq is-server u ttrasferihom fuq il-kompjuter tal-klijent:

  • ċwievet pubbliċi u privati;
  • kopja taċ-ċavetta taċ-ċentru taċ-ċertifikazzjoni;
  • mudell tal-fajl tal-konfigurazzjoni.

Qabbad mas-server, żid il-privileġġi, u innaviga lejn id-direttorju li ħloqna "~/openvpn".

sudo -s

cd ~/openvpn

Iġġenera ċavetta privata u talba għal ċertifikat għall-klijent. Bħala argument, speċifika isem arbitrarju; fil-każ tagħna, huwa “klijent1”.

./easyrsa gen-req client1 nopass

Daħħal il-password li waqqafna meta ħloqna ċ-ċertifikat ewlieni u ħalli l-valur tal-Isem Komuni bħala default.

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

Iffirma t-talba taċ-ċertifikat tal-klijent iġġenerata.

./easyrsa sign-req client client1

F'dan il-pass, wieġeb "iva" biex tikkonferma l-firma, imbagħad daħħal il-password li nħolqot waqt il-ġenerazzjoni taċ-ċertifikat ewlieni.

На этом шаге отвечаем "iva" для подтверждения подписи, после чего водим пароль, которлай бироры создании корневого сертификата.

Għal konvenjenza, ejja noħolqu folder bl-isem 'client1' fid-direttorju tad-dar u nikkopjaw il-fajls kollha maħsuba għat-trasferiment lejn il-kompjuter tal-klijent fih.

mkdir ~/client1

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

Ikkopja l-mudell tal-fajl tal-konfigurazzjoni tal-klijent fl-istess direttorju. Ibdel l-estensjoni tal-fajl għal ".ovpn" waqt li tikkopja.

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

Ibdel is-sid tad-direttorju u l-fajls kollha “~/client1/” biex ikunu jistgħu jqassmuhom lill-klijent. Ejja nagħmlu "mihail" is-sid fil-każ tagħna.

chown -R mihail:mihail ~/client1

Mur fil-kompjuter tal-klijent u kkopja l-kontenut tal- “~/client1/” folder. Tista 'tagħmel dan bl-għajnuna ta' "PSCP" utilità, li tmur ma 'Putty.

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

Tista 'taħżen fajls ewlenin “ca.crt”, “client1.crt”, “client1.key” fejn trid. Fil-każ tagħna, huma f'dan il-folder "c:\Program Files\OpenVPN\keys", u aħna mod il-fajl tal-konfigurazzjoni “client.ovpn” fil- "c:\Program Files\OpenVPN\config" direttorju.

Issa ejja nikkonfiguraw il-klijent. Iftaħ il-fajl "c:\Program Files\OpenVPN\config\client.ovpn" f'editur tat-test u editja l-linji li ġejjin:

#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

Ħalli l-bqija mhux mittiefsa.

Issejvja l-fajl u tniedi l-applikazzjoni tal-klijent “OpenVPN GUI”.

Setup VPN lest

Ikklikkja bil-lemin fuq l-ikona tal-app fit-taskbar u agħżel "Qabbad". Jekk il-konnessjoni tirnexxi l-ikona ssir ħadra.

Uża kwalunkwe servizz onlajn biex tiżgura li l-indirizz IP pubbliku tiegħek inbidel u issa huwa l-istess bħall-indirizz IP tas-server.

❮ Artiklu preċedenti Kif twaqqaf Wireguard VPN fuq is-server tiegħek
Artiklu li jmiss ❯ Setup tas-server FTP

Staqsi magħna dwar VPS

Aħna dejjem lesti li nwieġbu l-mistoqsijiet tiegħek fi kwalunkwe ħin tal-ġurnata jew tal-lejl.