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.

Saját VPN futtatásához VPS szervert kell bérelned . Különböző szoftverek léteznek, amelyek lehetővé teszik VPN-kapcsolat létrehozását. Ezek a támogatott operációs rendszerekben és a használt algoritmusokban különböznek egymástól. Két független megközelítést fogunk megvizsgálni egy VPN szerver beállításához. Az első a PPTP protokollon alapul, amelyet már elavultnak és nem biztonságosnak tartanak, de nagyon könnyen konfigurálható. A másik modern és biztonságos OpenVPN szoftvert használ, de egy harmadik féltől származó kliensalkalmazás telepítését és alaposabb beállítási folyamatot igényel.

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 az „/etc/sysctl.conf” fájlt , és módosítsa a „net.ipv4.ip_forward” paraméter értékét 1 -re.

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 az iptables segítségével konfigurálható . Először ellenőrizze a külső hálózati interfész nevét az „ip link show” parancs futtatásával - a következő lépésben szüksége lesz rá. A mi 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 az eredeti állapotába a szerver újraindítása után. Ennek megakadályozására használja az „iptables-persistent” segédprogramot. Telepítse a következő csomagot:

sudo apt install iptables-persistent

A telepítési folyamat során egy konfigurációs ablak jelenik meg, amely felajánlja az aktuális iptables szabályok mentését. Mivel a szabályok már definiálva vannak, csak erősítse meg őket, és kattintson kétszer az „Igen” gombra . Mivel most a szabályok a szerver újraindítása után automatikusan érvénybe lépnek.

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 nyisd meg az „/etc/pptpd.conf” fájlt egy tetszőleges szövegszerkesztőben, és szerkeszd így:

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

Ezután szerkessze az „/etc/ppp/pptpd-options” fájlt . A paraméterek többsége 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 a klienskapcsolatokhoz. Tegyük fel, hogy hozzá szeretne adni egy „vpnuser” felhasználót „1” jelszóval , és engedélyezni szeretné a dinamikus címzést számára. Nyissa meg az „/etc/ppp/chap-secrets” fájlt , és adja hozzá a felhasználó paramétereit tartalmazó következő sort a fájl végéhez:

vpnuser pptpd 1 *

A „pptpd” érték a szolgáltatás neve, amelyet a „pptpd-options” fájlban adtunk meg. A „*” helyett fix IP-címet is megadhatunk. Ennek eredményeként a „chap-secrets” fájlnak így kell kinéznie:

VPN szerver beállítása

A beállítások alkalmazásához állítsa alaphelyzetbe 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ó

Nyissa meg a „Start” - „Beállítások” - „Hálózat és internet” - „VPN” menüpontot , majd kattintson a „VPN-kapcsolat hozzáadása” gombra.

Kliens beállítása VPN-kapcsolathoz

A megnyíló ablakban adja meg a csatlakozási paramétereket, majd kattintson a „Mentés” gombra.

  • 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 látni fogja az új VPN-kapcsolatot. Kattintson a bal egérgombbal a kapcsolatra, és válassza a „Csatlakozás” lehetőséget . Sikeres kapcsolat esetén a „Csatlakoztatva” állapot jelenik meg.

VPN-kapcsolat hozzáadása

A Beállítások részben megtalálja a kliens és a szerver belső címét. A „Célcím” mezőben a külső szerver címe látható.

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

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

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 az „Easy-RSA” csomagra 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/

Nyisd meg szerkesztésre az „/etc/openvpn/server.conf” fájlt , győződj meg róla, hogy tartalmazza a következő sorokat, és szükség esetén szerkeszd őket:

#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ó

Látogasson el az OpenVPN hivatalos weboldalára: „ https://openvpn.net ”, majd a „KÖZÖSSÉG” részhez.

Заходим на официальный сайт проекта „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ásold át a kliens konfigurációs fájl sablonját ugyanabba a könyvtárba. Másolás közben változtasd meg a fájlkiterjesztést „.ovpn” -re.

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

Változtasd meg a könyvtár és az összes „~/client1/” fájl tulajdonosát , hogy terjeszteni lehessen őket a kliensnek. Esetünkben legyen a tulajdonos „mihail” .

chown -R mihail:mihail ~/client1

Menj a kliens számítógépre és másold át a „~/client1/” mappa tartalmát . Ezt a Puttyhoz tartozó „PSCP” segédprogrammal teheted meg .

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

A „ca.crt” , „client1.crt” és „client1.key” kulcsfájlokat bárhol tárolhatod . Esetünkben ezek a „c:\Program Files\OpenVPN\keys” mappában találhatók, mi pedig a „client.ovpn” konfigurációs fájlt a „c:\Program Files\OpenVPN\config” könyvtárba másoltuk.

Most pedig térjünk rá a kliens konfigurálására. Nyissuk meg a „c:\Program Files\OpenVPN\config\client.ovpn” fájlt egy szövegszerkesztőben, és szerkesszük 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 „OpenVPN GUI” kliensalkalmazást.

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

Kattintson jobb gombbal az alkalmazás ikonjára a tálcán, és válassza a „Csatlakozás” lehetőséget . 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 FTP szerver beállítása
Következő cikk ❯ A Wireguard VPN beállítása a szerveren

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.