Tudásbázis Egyszerű utasítások a Profitserver szolgáltatással való együttműködéshez
Tudásbázis VPN-kiszolgáló beállítása Linuxon: PPTP vagy OpenVPN?

VPN-kiszolgáló beállítása Linuxon: PPTP vagy OpenVPN?


Manapság a VPN technológia egyre népszerűbb. A hétköznapi felhasználók VPN-t használnak az internet biztonságos eléréséhez. Ezenkívül segít megkerülni a helyileg blokkolt webhelyeket és szolgáltatásokat, és megvédi az esetleges külső rosszindulatú viselkedést. Amikor VPN-kiszolgálóhoz csatlakozik, biztonságos alagút van a számítógép és a szerver között, amely kívülről nem érhető el, így a VPN-kiszolgáló válik az Ön internet-hozzáférési pontjává. Rengeteg VPN-szolgáltatás létezik, ingyenes és fizetős is, de ha ezek valamilyen okból nem működnek az Ön számára, bármikor beállíthatja saját VPN-kiszolgálóját.

Az oun VPN futtatásához meg kell tennie béreljen VPS szervert. Különféle szoftverek léteznek, amelyek lehetővé teszik VPN-kapcsolat létrehozását. A támogatott operációs rendszerek és a használt algoritmusok szerint különbözik egymástól. Megvizsgálunk két független megközelítést a VPN-kiszolgáló beállításához. Az első PPTP protokollon alapul, amely már elavultnak tekinthető, és nem biztonságos, de nagyon könnyen konfigurálható. A másik modern és biztonságos OpenVPN szoftvert használ, de ehhez egy harmadik féltől származó kliens alkalmazás telepítése és alaposabb telepítési folyamat szükséges.

Tesztkörnyezetünkben egy virtuális szervert fogunk használni, amelyet Ubuntu Server 18.04 hajt. A tűzfalat ki fogjuk kapcsolni a szerveren, mert a konfigurációja külön cikket érdemel. Leírjuk a Windows 10 telepítési folyamatát.

Előkészítés

Függetlenül attól, hogy melyik VPN-kiszolgálót választja, az internet-hozzáférést az operációs rendszer integrált eszközeivel állítják be. Ahhoz, hogy egy külső szolgáltatási interfészen keresztül meg lehessen nyitni az internet-hozzáférést, engedélyezni kell a csomagtovábbítást az interfészek között, és be kell állítani a hálózati címfordítást.

A csomagtovábbítás bekapcsolásához nyissa meg a fájlt "/etc/sysctl.conf" és változtatni "net.ipv4.ip_forward" paraméter értékét be 1.

kapcsolja be a csomagtovábbítást a VPN beállításához

Ha a módosításokat a számítógép újraindítása nélkül szeretné alkalmazni, futtassa a parancsot

sudo sysctl -p /etc/sysctl.conf

A hálózati címfordítás konfigurálása a iptables. Először ellenőrizze a parancsot futtató külső hálózati interfész nevét "IP link show" - a következő lépésben szüksége lesz rá. A nevünk "ens3".

ip link show

Engedélyezze a hálózati cím fordítását a külső interfészen az összes helyi hálózati csomópont számára.

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

Vegye figyelembe, hogy meg kell adnia a szerver interfészének valódi nevét, ez eltérhet a miénktől.

Alapértelmezés szerint az iptables által létrehozott összes szabály visszaáll a kiszolgáló újraindítása után. Ennek megelőzése érdekében használja „iptables-persistent” hasznosság. Telepítse a következő csomagot:

sudo apt install iptables-persistent

A telepítési folyamat egy bizonyos pontján megjelenik egy konfigurációs ablak, amely az aktuális iptables-szabályok mentését javasolja. Mivel a szabályok már meg vannak határozva, csak erősítse meg, és kattintson "Igen" kétszer. Mostantól a szabályok automatikusan alkalmazásra kerülnek a szerver újraindítása után.

Kapcsolja be a címfordítást

PPTP szerver

Szerver konfiguráció

Telepítse a csomagot:

sudo apt install pptpd

A telepítés befejezése után nyissa meg a fájlt „/etc/pptpd.conf” bármelyik szövegszerkesztőben, és módosítsa a következőképpen:

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

Ezt követően szerkessze a fájlt „/etc/ppp/pptpd-options”. A legtöbb paraméter alapértelmezés szerint be van állítva.

#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

A következő lépésben létre kell hoznia egy rekordot az ügyfélkapcsolatokhoz. Tegyük fel, hogy szeretne hozzáadni egy felhasználót "vpnuser" jelszóval "1" és lehetővé teszi számára a dinamikus címzést. Nyissa meg a fájlt „/etc/ppp/chap-secrets” és adja hozzá a következő sort a felhasználó paramétereivel a fájl végéhez:

vpnuser pptpd 1 *

"pptpd" Az érték a fájlban megadott szolgáltatás neve "pptpd-opciók". Ahelyett "*" fix IP-címet adhat meg. Az eredményben a fájl „Titkosok” így kell kinéznie:

VPN szerver beállítása

A beállítások alkalmazásához állítsa vissza a pptpd szolgáltatást, és adja hozzá az automatikus betöltéshez.

sudo systemctl restart pptpd
sudo systemctl enable pptpd

A szerver konfigurálása befejeződött.

Kliens konfiguráció

Nyisd ki "Rajt" - "Beállítások" - Hálózat és Internet - „VPN” és kattintson „VPN-kapcsolat hozzáadása”

Kliens beállítása VPN-kapcsolathoz

A megnyíló ablakban adja meg a kapcsolat paramétereit, és kattintson a gombra "Megment"

  • VPN-szolgáltató: „Windows (beépített)”
  • Kapcsolat neve: „vpn_connect” (bármilyen nevet választhat)
  • Szerver neve vagy címe: (adja meg a szerver külső IP-címét)
  • VPN típusa: „Automatikus”
  • Bejelentkezési adatok típusa: „Felhasználónév és jelszó”
  • Felhasználónév: vpnuser (a szerver „chap-secrets” fájljában megadott név)
  • Jelszó: 1 (mint a „chap-secrets” fájlban)

A paraméterek mentése után az ablakban megjelenik az új VPN kapcsolat. Kattintson a bal gombbal a kapcsolatra, és válassza ki „Csatlakozás”. Sikeres kapcsolat esetén látni fogja "Csatlakoztatva" állapotát.

VPN-kapcsolat hozzáadása

A Beállításokban megtalálja a kliens és a szerver belső címeit. Mező „Célcím” megjeleníti a külső szerver címét.

Hogyan állíthat be saját maga a VPN-kiszolgálót

Csatlakozáskor a szerver belső IP-címe, 172.16.0.1 esetünkben az összes kimenő csomag alapértelmezett átjárója lesz.

Ellenőrizze a külső IP-címet

Bármely online szolgáltatás használatával megbizonyosodhat arról, hogy a számítógép külső IP-címe most megegyezik a VPN-kiszolgáló IP-címével.

OpenVPN szerver

Szerver konfiguráció

Növeljük az aktuális felhasználó jogosultsági szintjét, mert további beállításunkhoz root hozzáférésre lesz szükségünk.

sudo -s

Telepítse az összes szükséges csomagot. Szükségünk lesz „Easy-RSA” csomag a titkosítási kulcsok kezeléséhez.

apt install openvpn easy-rsa iptables-persistent

Engedélyezze a bejövő kapcsolatokat az 1194-es porton UDP protokollon keresztül, és alkalmazza az iptables szabályokat.

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

sudo netfilter-persistent save

Hozz létre egy könyvtárat az „Easy-RSA” csomagból másolt fájlokkal, és navigálj bele.

make-cadir ~/openvpn

cd ~/openvpn

Nyilvános kulcsú infrastruktúra (PKI) létrehozása.

./easyrsa init-pki

Hozza létre a hitelesítésszolgáltató (CA) főtanúsítványát.

./easyrsa build-ca

A létrehozási folyamat során a rendszer kérni fogja, hogy állítson be és jegyezzen meg egy jelszót. Ezenkívül kérdésekre is válaszolnia kell, és meg kell adnia a kulcs tulajdonosával kapcsolatos információkat. A szögletes zárójelben megadott alapértelmezett értékeket meghagyhatja. A bevitel véglegesítéséhez nyomja meg az „Enter” billentyűt.

Generáljon egy privát kulcsot és egy tanúsítványkérelmet. Argumentumként adjon meg egy tetszőleges nevet; esetünkben ez „vpn-szerver”.

./easyrsa gen-req vpn-server nopass

A Közös név értéket hagyja alapértelmezettként.

Írja alá a létrehozott szervertanúsítvány-kérelmet.

./easyrsa sign-req server vpn-server

Ebben a lépésben válaszoljon „igennel” az aláírás megerősítéséhez, majd adja meg a gyökértanúsítvány létrehozásakor létrehozott jelszót.

Diffie-Hellman paraméterek generálása. Ezeket a paramétereket a szerver és a kliens közötti biztonságos kulcscserére használják.

./easyrsa gen-dh

Minden szükséges fájl generálva lett. Hozzunk létre egy "keys" mappát az OpenVPN munkakönyvtárában a kulcsok tárolásához, és másoljuk oda a létrehozott fájlokat.

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 konfigurálása a következővel: iptables szabályok. Hozz létre egy fájlt, melynek neve nat és nyissa meg szerkesztésre a /etc/openvpn/ könyvtárban.

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

Mentse el a fájlt, és tegye futtathatóvá.

sudo chmod 755 /etc/openvpn/nat

Másolja a kiszolgáló konfigurációs sablonját.

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

Nyissa meg a fájlt „/etc/openvpn/server.conf” szerkesztéshez győződjön meg arról, hogy tartalmazza a következő sorokat, és szükség esetén szerkessze azokat:

#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

Engedélyezze a forgalom továbbítását a szerveren.

sudo sysctl -w net.ipv4.ip_forward=1

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

Indítsa el az OpenVPN-t a konfiguráció alkalmazásához.

systemctl restart openvpn@server

A szerver konfigurálása befejeződött!

Kliens konfiguráció

Nyissa meg az OpenVPN hivatalos webhelyét "https://openvpn.net”, lépjen a „KÖZÖSSÉG” szakasz.

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

Görgess lejjebb, és töltsd le az operációs rendszered verziójának megfelelő telepítőt. Esetünkben ez a Windows 11 ARM64.

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

Telepítse az alkalmazást úgy, hogy alapértelmezés szerint minden paramétert meghagy.

A következő lépésben elő kell készítenie a következő fájlt a szerveren, és át kell vinnie azokat a kliens számítógépre:

  • nyilvános és privát kulcsok;
  • a hitelesítési központ kulcsának másolata;
  • konfigurációs fájl sablon.

Csatlakozz a szerverhez, emeld a jogosultságaidat, és navigálj a létrehozott könyvtárba. "~/openvpn".

sudo -s

cd ~/openvpn

Generáljon egy privát kulcsot és egy tanúsítványkérelmet a kliens számára. Argumentumként adjon meg egy tetszőleges nevet; esetünkben ez „kliens1”.

./easyrsa gen-req client1 nopass

Adja meg a gyökértanúsítvány létrehozásakor beállított jelszót, és hagyja meg a Common Name értéket alapértelmezettként.

Вводим пароль, который мы устанавливали при создании корневого сертификата и оставляем значение Köznapi név по униюлча.

Írja alá a létrehozott klienstanúsítvány-kérelmet.

./easyrsa sign-req client client1

Ebben a lépésben válaszoljon „igennel” az aláírás megerősítéséhez, majd adja meg a gyökértanúsítvány létrehozásakor létrehozott jelszót.

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

A kényelem kedvéért hozzunk létre egy 'client1' nevű mappát a kezdőkönyvtárban, és másoljuk ide az összes, a kliens számítógépre átvinni kívánt fájlt.

mkdir ~/client1

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

Másolja az ügyfél konfigurációs fájlsablonját ugyanabba a könyvtárba. Módosítsa a fájl kiterjesztését erre ".ovpn" másolás közben.

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

Módosítsa a könyvtár és az összes fájl tulajdonosát "~/kliens1/" hogy ezeket ki tudja terjeszteni az ügyfélnek. Készítsünk "Mihail" esetünkben a tulajdonos.

chown -R mihail:mihail ~/client1

Lépjen az ügyfélszámítógépre, és másolja ki a fájl tartalmát "~/kliens1/" mappát. A segítségével ezt megteheti "PSCP" segédprogram, ez megy a Putty-hoz.

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

Tárolhat kulcsfájlokat „ca.crt”, "client1.crt", „kliens1.kulcs” ahol csak akarod. Esetünkben ebben a mappában vannak „c:\Program Files\OpenVPN\keys”, és módosítjuk a konfigurációs fájlt „client.ovpn” be a "c:\Program Files\OpenVPN\config" könyvtárban.

Most térjünk rá a kliens konfigurálására. Nyissa meg a fájlt "c:\Program Files\OpenVPN\config\client.ovpn" szövegszerkesztőben, és szerkessze a következő sorokat:

#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

A többit hagyd érintetlenül.

Mentse el a fájlt, és indítsa el az ügyfélalkalmazást „OpenVPN GUI”.

A VPN beállítása befejeződött

Kattintson a jobb gombbal az alkalmazás ikonjára a tálcán, és válassza a lehetőséget „Csatlakozás”. Ha a kapcsolat sikeres, az ikon zöldre vált.

Bármely online szolgáltatás segítségével győződjön meg arról, hogy nyilvános IP-címe megváltozott, és most megegyezik a szerver IP-címével.

❮ Előző cikk A Wireguard VPN beállítása a szerveren
Következő cikk ❯ FTP szerver beállítása

Kérdezzen meg minket a VPS-ről

Mindig készséggel válaszolunk kérdéseire a nap és az éjszaka bármely szakában.