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.

VPN-i käitamiseks peaksite seda tegema rentida VPS-server. VPN-ühenduse loomiseks on erinev tarkvara. See erineb üksteisest toetatud operatsioonisüsteemide ja kasutatud algoritmide poolest. Vaatleme kahte sõltumatut lähenemisviisi VPN-serveri seadistamiseks. Esimene neist põhineb PPTP-protokollil, mida peetakse juba aegunuks ja mitte turvaliseks, kuid mida on tõesti lihtne konfigureerida. Teine kasutab kaasaegset ja turvalist tarkvara OpenVPN, kuid nõuab kolmanda osapoole kliendirakenduse installimist ja põhjalikumat häälestusprotsessi.

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 muutuda "net.ipv4.ip_forward" parameetri väärtus sisse 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õrguaadressi tõlkimine on konfigureeritud iptables. Esmalt kontrollige käsu käivitava välise võrguliidese nime "IP-lingi saade" - vajate seda 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 pärast serveri taaskäivitamist kõik iptablesi loodud reeglid. Selle vältimiseks kasutage "iptables-püsiv" kasulikkust. Installige järgmine pakett:

sudo apt install iptables-persistent

Installimise ajal näete mingil hetkel konfiguratsiooniakent, mis soovitab salvestada kehtivad iptablesi reeglid. Kuna reeglid on juba määratletud, kinnitage ja klõpsake "Yes" kaks korda. Nüüdsest 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 redigeerige 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 redigeerige 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 ühenduste jaoks kirje. Oletame, et soovite lisada kasutaja "vpkasutaja" parooliga "1" ja võimaldama tema jaoks dünaamilist adresseerimist. Avage fail "/etc/ppp/chap-secrets" ja lisage faili lõppu järgmine rida kasutaja parameetritega:

vpnuser pptpd 1 *

"pptpd" väärtus on failis määratud teenuse nimi "pptpd-suvandid". Selle asemel "*" saate määrata fikseeritud IP-aadressi. Tulemuseks on fail “Puu-saladused” peaks välja nägema selline:

VPN-serveri seadistamine

Seadete rakendamiseks lähtestage pptpd teenust ja lisage see automaatlaadimisse.

sudo systemctl restart pptpd
sudo systemctl enable pptpd

Serveri seadistamine on lõpetatud.

Kliendi konfiguratsioon

avatud "Start" - "Seaded" - Võrk ja Internet - „VPN” ja kliki "Lisa VPN-ühendus"

Seadistage VPN-ühenduse klient

Sisestage avanenud aknasse ü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 ühendust ja valige "Connect". Eduka ühenduse korral näete „Ühendatud” status.

VPN-ühenduse lisamine

Suvanditest leiate kliendi ja serveri sisemised aadressid. Väli "Sihtkoha aadress" kuvab välise serveri aadressi.

Kuidas VPN-serverit ise seadistada

Ühenduse korral serveri sisemine IP-aadress, 172.16.0.1 meie puhul saab sellest kõigi väljuvate pakettide vaikelüüsiks.

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

Installige kõik vajalikud paketid. Meil läheb vaja "Lihtne-RSA" pakett krüpteerimisvõtmete haldamiseks.

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/

Avage fail "/etc/openvpn/server.conf" redigeerimiseks veenduge, et see sisaldab järgmisi ridu, ja vajadusel muutke 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”, minge lehele "KOGUKOND" sektsiooni.

Заходим на официальный сайт проекта “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/

Kopeerige kliendi konfiguratsioonifaili mall samasse kataloogi. Muutke faililaiendiks ".ovpn" kopeerimise ajal.

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

Muutke kataloogi ja kõigi failide omanikku "~/klient1/" et oleks võimalik neid kliendile levitada. Teeme "Mihail" meie puhul omanik.

chown -R mihail:mihail ~/client1

Minge kliendi arvutisse ja kopeerige selle sisu "~/klient1/" kausta. Saate seda teha abiga "PSCP" utiliit, mis käib Puttyga.

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

Saate salvestada võtmefaile "ca.crt", "klient1.crt", "klient1.võti" kuhu tahad. Meie puhul on need selles kaustas "c:\Program Files\OpenVPN\keys"ja me konfigureerime konfiguratsioonifaili "klient.ovpn" sisse "c:\Program Files\OpenVPN\config" kataloog.

Nüüd asume kliendi seadistamise juurde. Avage fail "c:\Program Files\OpenVPN\config\client.ovpn" tekstiredaktoris ja redigeerige 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 ikoonil ja valige "Connect". 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.