Teadmistebaas Juhendvideod Lihtsad juhised Profitserveri teenusega töötamiseks
põhiline Teadmistebaas Juhendvideod VPN-serveri seadistamine Linuxis: PPTP või OpenVPN?

VPN-serveri seadistamine Linuxis: PPTP või OpenVPN?


Tänapäeval muutub VPN-tehnoloogia populaarsemaks. Tavakasutajad kasutavad turvaliseks Interneti-juurdepääsuks VPN-i. Samuti aitab see pääseda mööda lokaalselt blokeeritud veebisaitidest ja teenustest ning kaitsta võimaliku välise pahatahtliku käitumise eest. Kui loote ühenduse VPN-serveriga, on teie arvuti ja serveri vahel turvatunnel, millele väljastpoolt juurde ei pääse, nii et VPN-serverist saab teie Interneti-pöörduspunkt. Seal on palju VPN-teenuseid, nii tasuta kui ka tasulisi, kuid kui need mingil põhjusel teie jaoks ei tööta, saate alati oma VPN-serveri konfigureerida.

Oma VPN-i käitamiseks peaksite rentima VPS-serveri . VPN-ühenduse loomiseks on olemas erinevat tarkvara. Need erinevad üksteisest toetatud operatsioonisüsteemide ja kasutatavate algoritmide poolest. Vaatleme kahte sõltumatut lähenemisviisi VPN-serveri seadistamiseks. Esimene põhineb PPTP-protokollil, mida peetakse juba vananenuks ja ebaturvaliseks, kuid mida on väga lihtne seadistada. Teine kasutab kaasaegset ja turvalist OpenVPN-tarkvara, kuid nõuab kolmanda osapoole kliendirakenduse installimist ja põhjalikumat seadistusprotsessi.

Meie testkeskkonnas hakkame kasutama virtuaalserverit, mida toetab Ubuntu Server 18.04. Tulemüür lülitatakse serveris välja, kuna selle konfiguratsioon väärib eraldi artiklit. Kirjeldame Windows 10 häälestusprotsessi.

Ettevalmistamine

Olenemata sellest, millise VPN-serveri valite, luuakse Interneti-juurdepääs operatsioonisüsteemi integreeritud vahenditega. Interneti-juurdepääsu avamiseks välise teenuseliidese kaudu peate lubama liideste vahel pakettide edastamise ja konfigureerima võrguaadressi tõlkimise.

Pakettide edastamise sisselülitamiseks avage fail „/etc/sysctl.conf” ja muutke parameetri „net.ipv4.ip_forward” väärtuseks 1.

lülitage VPN-i seadistamiseks sisse pakettide edastamine

Muudatuste rakendamiseks ilma arvutit taaskäivitamata käivitage käsk

sudo sysctl -p /etc/sysctl.conf

Võrguaadresside teisendamine konfigureeritakse iptables'i abil . Esmalt kontrollige oma välise võrguliidese nime, käivitades käsu „ip link show” – seda vajate järgmises etapis. Meie nimi on „ens3”.

ip linkide saade

Lubage võrguaadresside tõlkimine oma välises liideses kõigi kohaliku võrgu sõlmede jaoks.

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

Pange tähele, et peate määrama oma serveri liidese tegeliku nime, see võib meie omast erineda.

Vaikimisi lähtestatakse kõik iptables'i loodud reeglid pärast serveri taaskäivitamist. Selle vältimiseks kasutage utiliiti „iptables-persistent” . Paigaldage järgmine pakett:

sudo apt install iptables-persistent

Installiprotsessi mingul hetkel kuvatakse konfiguratsiooniaken, mis soovitab salvestada praegused iptables'i reeglid. Kuna reeglid on juba määratletud, kinnitage lihtsalt ja klõpsake kaks korda nuppu „Jah“ . Nüüd rakendatakse reegleid automaatselt pärast serveri taaskäivitamist.

Lülitage aadressi tõlkimine sisse

PPTP-server

Serveri konfiguratsioon

Paigaldage pakett:

sudo apt install pptpd

Pärast installimise lõppu avage fail "/etc/pptpd.conf" mis tahes tekstiredaktoris ja muutke seda järgmiselt:

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

Pärast seda muutke faili „/etc/ppp/pptpd-options” . Enamik parameetreid on vaikimisi seadistatud.

#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

Järgmises etapis peate looma kliendiühenduste kirje. Oletame, et soovite lisada kasutaja „vpnuser” parooliga „1” ja lubada talle dünaamilise adresseerimise. Avage fail „/etc/ppp/chap-secrets” ja lisage faili lõppu järgmine rida kasutaja parameetritega:

vpnuser pptpd 1 *

„pptpd” väärtus on teenuse nimi, mille me määrasime failis „pptpd-options” . „*” asemel võite määrata fikseeritud IP-aadressi. Tulemuseks peaks fail „chap-secrets” välja nägema selline:

VPN-serveri seadistamine

Sätete rakendamiseks lähtestage pptpd teenus ja lisage see automaatse laadimise hulka.

sudo systemctl restart pptpd
sudo systemctl enable pptpd

Serveri seadistamine on lõpetatud.

Kliendi konfiguratsioon

Avage „Start” - „Seaded” - „Võrk ja Internet” - „VPN” ja klõpsake nuppu „Lisa VPN-ühendus”.

Seadistage VPN-ühenduse klient

Avanevas aknas sisestage ühenduse parameetrid ja klõpsake nuppu "Salvesta".

  • VPN-i pakkuja: "Windows (sisseehitatud)"
  • Ühenduse nimi: "vpn_connect" (saate valida mis tahes nime)
  • Serveri nimi või aadress: (määrake serveri väline IP-aadress)
  • VPN-i tüüp: "Automaatne"
  • Sisselogimisteabe tüüp: "Kasutajanimi ja parool"
  • Kasutaja nimi: vpkasutaja (nimi on määratud serveri failis "chap-secrets")
  • Salasõna: 1 (nagu failis "chap-secrets")

Pärast parameetrite salvestamist näete aknas uut VPN-ühendust. Vasakklõpsake ühendusel ja valige „Ühenda“ . Eduka ühenduse korral näete olekut „Ühendatud“.

VPN-ühenduse lisamine

Valike alt leiad kliendi ja serveri sisemised aadressid. Väli „Sihtkoha aadress“ kuvab välise serveri aadressi.

Kuidas VPN-serverit ise seadistada

Pärast ühenduse loomist saab serveri sisemine IP-aadress, meie puhul 172.16.0.1 , kõigi väljaminevate pakettide vaikeväravaks.

Kontrollige välist IP-aadressi

Mis tahes võrguteenust kasutades saate veenduda, et arvuti väline IP-aadress on nüüd sama, mis teie VPN-serveri IP-aadress.

OpenVPN server

Serveri konfiguratsioon

Edendagem praeguse kasutaja õiguste taset, sest edasiseks seadistamiseks vajame juurjuurdepääsu.

sudo -s

Paigalda kõik vajalikud paketid. Krüpteerimisvõtmete haldamiseks vajame paketti „Easy-RSA” .

apt install openvpn easy-rsa iptables-persistent

Luba sissetulevad ühendused pordi 1194 kaudu UDP protokolli kaudu ja rakenda iptables'i reegleid.

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

sudo netfilter-persistent save

Looge kataloog „Easy-RSA” paketist kopeeritud failidega ja navigeerige sinna.

make-cadir ~/openvpn

cd ~/openvpn

Avaliku võtme infrastruktuuri (PKI) loomine.

./easyrsa init-pki

Genereerige sertifitseerimisasutuse (CA) juursertifikaat.

./easyrsa build-ca

Loomisprotsessi käigus palutakse teil parool määrata ja meelde jätta. Samuti peate vastama küsimustele ja sisestama teabe võtme omaniku kohta. Võite jätta nurksulgudes olevad vaikeväärtused. Sisestuse lõpetamiseks vajutage sisestusklahvi (Enter).

Genereerige privaatvõti ja sertifikaaditaotlus. Argumendina määrake suvaline nimi; meie puhul on see „vpn-server”.

./easyrsa gen-req vpn-server nopass

Jätke väärtus „Üldnimi” vaikesäteteks.

Allkirjastage genereeritud serveri sertifikaaditaotlus.

./easyrsa sign-req server vpn-server

Selles etapis vastake allkirja kinnitamiseks "jah" ja sisestage seejärel juursertifikaadi genereerimise ajal loodud parool.

Diffie-Hellmani parameetrite genereerimine. Neid parameetreid kasutatakse serveri ja kliendi vaheliseks turvaliseks võtmevahetuseks.

./easyrsa gen-dh

Kõik vajalikud failid on genereeritud. Loome OpenVPN-i töökataloogi kausta "võtmed", kuhu võtmed salvestada, ja kopeerime loodud failid sinna.

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-i seadistamine, kasutades iptables reeglid. Looge fail nimega nat ja avage see redigeerimiseks /etc/openvpn/ kataloog.

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

Salvesta fail ja tee see käivitatavaks.

sudo chmod 755 /etc/openvpn/nat

Kopeeri serveri konfiguratsioonimall.

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

Ava redigeerimiseks fail „/etc/openvpn/server.conf” , veendu, et see sisaldab järgmisi ridu ja vajadusel redigeeri neid:

#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

Luba serveris liikluse edastamine.

sudo sysctl -w net.ipv4.ip_forward=1

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

Konfiguratsiooni rakendamiseks käivitage OpenVPN.

systemctl restart openvpn@server

Serveri seadistamine on lõpetatud!

Kliendi konfiguratsioon

Minge OpenVPN-i ametlikule veebisaidile „ https://openvpn.net ” ja minge jaotisse „KOGUKOND”.

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

Kerige alla ja laadige alla oma operatsioonisüsteemi versioonile vastav installer. Meie puhul on see Windows 11 ARM64.

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

Installige rakendus, jättes vaikimisi kõik parameetrid.

Järgmises etapis peate serveris ette valmistama järgmise faili ja edastama need klientarvutisse:

  • avalikud ja privaatvõtmed;
  • sertifitseerimiskeskuse võtme koopia;
  • konfiguratsioonifaili mall.

Loo ühendus serveriga, tõsta privileegid ja navigeeri meie loodud kataloogi. "~/openvpn".

sudo -s

cd ~/openvpn

Genereerige kliendile privaatvõti ja sertifikaaditaotlus. Argumendina määrake suvaline nimi; meie puhul on see „klient1”.

./easyrsa gen-req client1 nopass

Sisestage parool, mille me juursertifikaadi loomisel määrasime, ja jätke tavalise nime väärtus vaikeväärtuseks.

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

Allkirjastage genereeritud kliendisertifikaadi taotlus.

./easyrsa sign-req client client1

Selles etapis vastake allkirja kinnitamiseks "jah" ja sisestage seejärel juursertifikaadi genereerimise ajal loodud parool.

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

Mugavuse huvides loome kodukataloogi kausta nimega 'client1' ja kopeerime sinna kõik kliendiarvutisse edastamiseks mõeldud failid.

mkdir ~/client1

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

Kopeeri kliendi konfiguratsioonifaili mall samasse kataloogi. Muuda kopeerimise ajal faililaiendiks „.ovpn”.

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

Kliendile levitamiseks muutke kataloogi ja kõigi failide „~/client1/” omanikku. Meie puhul teeme omanikuks „mihail” .

chown -R mihail:mihail ~/client1

Mine kliendiarvutisse ja kopeeri kausta „~/client1/” sisu. Seda saad teha Putty juurde kuuluva utiliidi „PSCP” abil .

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

Võtmefaile „ca.crt” , „client1.crt” ja „client1.key” saab salvestada kuhu iganes. Meie puhul asuvad need kaustas „c:\Program Files\OpenVPN\keys” ja konfiguratsioonifail „client.ovpn” paigutatakse kataloogi „c:\Program Files\OpenVPN\config”.

Nüüd asume kliendi seadistamise juurde. Avage tekstiredaktoris fail „c:\Program Files\OpenVPN\config\client.ovpn” ja muutke järgmisi ridu:

#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

Ülejäänu jätke puutumata.

Salvestage fail ja käivitage kliendirakendus „OpenVPN GUI”.

VPN-i seadistamine on lõpetatud

Paremklõpsake tegumiribal rakenduse ikooni ja valige „Ühenda“ . Kui ühendus õnnestub, muutub ikoon roheliseks.

Kasutage mis tahes võrguteenust, et veenduda, et teie avalik IP-aadress on muutunud ja on nüüd sama, mis serveri IP-aadress.

❮ Eelmine artikkel FTP serveri seadistamine
Järgmine artikkel ❯ Kuidas oma serveris Wireguard VPN-i seadistada

Küsige meilt VPS-i kohta

Oleme alati valmis vastama teie küsimustele igal kellaajal päeval või öösel.