A WireGuard VPN-kiszolgáló és kliens beállítása az Ubuntu 20.04-en

Állítson be egy saját üzemeltetésű VPN-t a Wireguard segítségével

A VPN (virtuális magánhálózat) lehetővé teszi a felhasználó számára, hogy távolról csatlakozzon egy privát hálózathoz, mintha a felhasználó számítógépe közvetlenül csatlakozna a magánhálózathoz. A technológiát eredetileg azért fejlesztették ki, hogy lehetővé tegye a távoli hozzáférést a vállalat belső magánhálózatához azon alkalmazottak számára, akik ténylegesen nincsenek jelen a belső hálózat helyén.

A VPN-kiszolgálót a belső hálózat helyén telepítik. Ez a szerver a nyilvános hálózaton van, és az alkalmazott VPN-kliens segítségével érheti el. A VPN-kiszolgálóhoz való csatlakozáshoz hitelesítés szükséges. A VPN-kiszolgáló és a VPN-kliens közötti kommunikációt alagútkezelési protokoll biztosítja. Vegye figyelembe, hogy ez a kommunikáció lehet titkosított vagy nem, de általában a legtöbb VPN-protokollban titkosítva van.

A VPN másik felhasználási módja az névtelenséget szerezhet az internet elérésekor vagy bizonyos webhelyek elérése során bevezetett földrajzi korlátozások megkerülésére. Ilyen esetekben a hálózat, amelyhez a felhasználó csatlakozni szeretne, nem magánhálózat, hanem az internet.

Az évek során számos VPN-protokollt fejlesztettek ki. Ezek a protokollok különböző alagútkezelési protokollokat és titkosítási algoritmusokat használnak a szerver és a kliens közötti kommunikációhoz.

Az egyik ilyen protokoll, amely a közelmúltban egyre szélesebb körben elterjedt, az Huzalvédő. A Wireguard könnyebb, egyszerűbb és nagyobb teljesítményű, mint a jól ismert, hagyományosan használt VPN-protokollok, mint például az OpenVPN, az IPSec. Már implementálva van Windowsra, Mac OS-re és számos Linux disztribúcióra. Linuxban kernelmodulként van megvalósítva. Elérhető az Ubuntu 20.04 hivatalos lerakataiban.

Ebben a cikkben látni fogjuk, hogyan állíthat be Wireguard VPN-kiszolgálót és klienst az Ubuntu 20.04-ben.

Telepítés

Ehhez a cikkhez beállítok egy Wireguard kiszolgálót egy Ubuntu 20.04 Linode és Wireguard Client eszközön a helyi gépemen Ubuntu 20.04 rendszerrel.

A csomag vezetékvédő telepíti a Wireguard kiszolgálót és a klienst is. Futtassa a következő parancsot a Szerver gépen és a Kliens gépen is.

sudo apt install wireguard

Szerver konfigurációja

Biztonsági kulcsok

Nyilvános/privát kulcspárokat kell létrehoznunk a Wireguard kapcsolat hitelesítése és biztonsága érdekében. Ezt a következő parancsokkal lehet megtenni:

sudo su cd /etc/wireguard umask 077 wg genkey | tee private_key | wg pubkey > public_key

Vegye figyelembe, hogy az összes konfigurációs feladatot szuperfelhasználóként végezzük. Ennek oka a könyvtárhoz való hozzáférés /etc/wireguard normál felhasználók számára le van tiltva, és a címtárhoz való hozzáférés nem érhető el pusztán sudo jogosultságokkal normál felhasználók számára.

Ezután beállítjuk a fájllétrehozási maszkot 077. Ez azt jelenti, hogy amikor bármilyen folyamat új fájlt hoz létre ebben a mappában, annak engedélyeit automatikusan 077 maszkolja. Pl. ha ebben a mappában hoz létre egy fájlt a 777-es jogosultságokkal, akkor az automatikusan maszkolásra kerül, és az engedélyek gyakorlatilag 700-ra változnak. Ez úgy történik, hogy csak a fájl tulajdonosa rendelkezik minden jogosultsággal a fájlhoz, és mindenki másnak nincs engedélye.

A következő sorban, létrehozzuk a nyilvános/privát kulcspárt a szerver számára. Fájlokban vannak elmentve privát_kulcs és nyilvános_kulcs. A kulcsok megtekintéséhez futtassa:

cat private_key cat public_key

Másolja ki a privát kulcsot, szükségünk lesz rá a következő lépésben.

Jegyzet: Soha ne ossza meg privát kulcsát nyilvánosan!

Konfigurációs fájl

Hozzon létre egy konfigurációs fájlt a Wireguard Server számára. A fájlnak tetszőleges nevet választhat. Létrehozunk egy fájlt wg0.conf ebben a példában.

vim wg0.conf

Adja hozzá a következőt a fájlhoz.

[Interfész] Cím = 10.20.43.1/24 SaveConfig = true ListenPort = 51190 PrivateKey = PostUp = iptables -A ELŐRE -i wg0 -j ELFOGADÁS; iptables -t nat -A POSTROUTING -o -j MASQUERADE; ip6tables -A ELŐRE -i wg0 -j ELFOGADÁS; ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown = iptables -D ELŐRE -i wg0 -j ELFOGADÁS; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE; ip6tables -D ELŐRE -i wg0 -j ELFOGADÁS; ip6tables -t nat -D POSTROUTING -o -j MASQUERADE 

Illessze be a privát kulcsot, amelyet korábban a fenti kód 5. sorába másoltunk.

A Wireguard-ot egy másik (virtuális) alhálózaton kell konfigurálnunk mint a szerver IP-címe. Itt a 10.20.43.1-et használtam a szerverhez, és a 10.20.43.2-t fogom használni a klienshez. Itt bármilyen alhálózat használható. A szerver és az interfész IP-címének lekéréséhez futtassa:

ifconfig

Jegyezze fel a szerver IP-címét. Erre az ügyfélkonfiguráció során van szükség.

A szerver által használt felület, amint az a fenti képen is látható, az eth0. Az interfész neve a felhasználó hálózatától függően változhat, lehet wlan0 vagy wlp2s0 abban az esetben, ha a felhasználó vezeték nélküli kártya segítségével csatlakozik WiFi hálózathoz.

Helyettesíteni a ban ben Tegye fel és PostDown az Ön felületével; ebben a példában az eth0.Tegye fel és PostDown direktívák segítségével határozható meg, hogy mely parancsokat kell futtatni a kiszolgáló indításakor és leállásakor. Példánkban a iptables parancsot az IP-szabályok beállításához úgy, hogy a kiszolgáló IP-címét megosszák az ügyfelek. A szabályok megszűnnek, ha a szerver leáll.

Mentse el és lépjen ki a fájlból. Vim használatakor nyomja meg a gombot Kilépés, majd írja be :wq és nyomja meg Belép menteni és kilépni.

Ha Ön a ufw tűzfal a kiszolgálón, engedélyeznünk kell az UDP-kapcsolatokat a VPN-kiszolgáló 51190-es portjához.

ufw engedélyezése 51190/udp

A szolgáltatás elindítása

Most, hogy a konfiguráció kész, elindíthatjuk a Wireguard VPN szolgáltatást.

Engedélyezni a rendszerindításkor induló szolgáltatás futtassa:

systemctl enable wg-quick@wg0

Jegyezze meg, hogy itt wg0 a konfigurációs fájl neve.

Kezdeni a szolgáltatás, futtassa:

szolgáltatás wg-quick@wg0 start

Ellenőrizze hogy a szolgáltatás sikeresen elindult:

szolgáltatás wg-quick@wg0 állapota

Ellenőrizze, hogy az interfész általunk létrehozott konfigurációs fájlban elindult, az IP paranccsal.

ip egy show wg0

A Wireguard VPN Server most be van állítva és fut. Most állítsuk be a klienst.

Kliens konfigurációja

A Wireguard ügyfélkonfigurációja többé-kevésbé megegyezik a kiszolgáló konfigurációjával. Létrehozzuk a kulcsokat az ügyfél számára, majd létrehozunk egy konfigurációs fájlt.

Biztonsági kulcsok

A nyilvános/privát kulcs létrehozása párosítás az ügyfél számára, futtassa:

sudo su cd /etc/wireguard umask 077 wg genkey | tee client_private_key | wg pubkey > client_public_key

A kliens nyilvános és privát kulcsa most fájlokban jön létre client_private_key és ügyfél_nyilvános_kulcs.

Ellenőrizze, hogy létrejött-e a használatával macska parancs.

cat client_private_key cat client_public_key

Másolja ki a megjelenített privát kulcsot, mert hozzá kell adnunk az ügyfél konfigurációs fájljához.

Konfigurációs fájl

Hozza létre a konfigurációs fájlt tetszőleges névvel. A névvel fogjuk létrehozni wg0-kliens ehhez a példához.

vim wg0-client.conf

Adja hozzá a következő konfigurációt.

[Interfész] # Az ügyfélcím IP-címe és privát kulcsa = 10.20.43.2/24 PrivateKey = [Peer] # A szerver nyilvános kulcsa, IP-címe és portja PublicKey = Végpont = :51190 AllowedIPs = 0.0.0.0/0, : :/0

Adja meg az ügyfél alhálózati címét. A korábban leírtak szerint használjuk 10.20.43.2 az ügyfél számára ebben a példában.

Adja hozzá az ügyfél privát kulcsát az előző lépésben generált a fenti konfigurációs kód 4. sorába.

A „Peer” részben információkat adunk meg a Wireguard VPN-kiszolgálóról hez szeretnénk kapcsolódni.

Adja meg a szerver nyilvános kulcsát. Írd be a szerver IP-címe, amit korábban megjegyeztünk, és port az adott formátumban ellene Végpont. Ez az a port, amelyet a kiszolgáló konfigurációs fájljában adtunk meg, és amelyen a kiszolgáló VPN-szolgáltatása elindult.

Az engedélyezett IP-címeket a megadottak szerint (0.0.0.0/0) kell megadni, hogy a kliens által használt dinamikus nyilvános IP-címekre vonatkozó kérések mindig a VPN-kiszolgálóhoz kerüljenek.

Mentse el és lépjen ki a fájlból. Vim használatakor nyomja meg a gombot Kilépés, majd írja be :wq és nyomja meg Belép menteni és kilépni.

Engedélyezze az ügyfélszolgálatot minden boottal futni, és elindítani.

systemctl engedélyezése wg-quick@wg-client service wg-quick@wg-client start

Ellenőrizze ha a szolgáltatás elindult.

szolgáltatás wg-quick@wg-kliens állapota

Peer hozzáadása a szerverhez

Most már a VPN-kiszolgáló és a kliens is működik és fut. A kettő között azonban nem jön létre biztonságos alagút, hacsak nem hozunk létre peer-to-peer kapcsolatot a szerver és az ügyfél között.

Menjen vissza a szerverre. Első, állítsa le a VPN szolgáltatást.

szolgáltatás wg-quick@wg0 stop

Ezután nyissa meg a konfigurációs fájlt konfiguráció hozzáadása a társhoz (ügyfél).

vim /etc/wireguard/wg0.conf

Mellékel a következő sorokat a fájlhoz.

[Peer] PublicKey = AllowedIPs = 10.20.43.2/32

Most, indítsa újra a VPN szolgáltatást.

szolgáltatás wg-quick@wg0 start

Ez az! Ez az összes konfiguráció, amely a Wireguard VPN kliens és szerver beállításához szükséges. Teszteljük most a VPN-ünket.

A VPN tesztelése

Először is végezzünk egy egyszerű ping-et az ügyféltől a szerverig, hogy megbizonyosodjunk arról, hogy a VPN alagút kommunikációja működik. Futtassa a következőt az ügyfélen:

ping 10.20.43.1

Következő, nyisson meg egy webböngészőt, és nyissa meg bármelyik webhelyet annak ellenőrzésére, hogy tud-e csatlakozni az internethez az ügyfélgépről. Az internetkapcsolatot a parancssorból is ellenőrizheti a használatával wget.

wget 

Most ellenőriztük az alagút- és az internetkapcsolatot. Ha mindkettő működik, most meg kell győződnünk arról, hogy az ügyfélhez érkező összes internetes forgalom a szerveren halad át.

Ehhez egyszerűen ellenőriznünk kell a kliens IP-címét az interneten. Ennek egyik módja a whatsmyip.org webhely megnyitása. Vagy a parancssorból lekérdezhetünk egy másik, IP info nevű szolgáltatást a Curl segítségével.

Futtassa a következőt az ügyfélgépen

curl //ipinfo.io/ip

Igen. Ez annak a Linode-nak a nyilvános IP-címe, ahol a VPN-kiszolgáló található. Így érhető el az anonimitás a VPN használatával, mivel az egész interneten a VPN-kiszolgáló IP-címe látható, nem a számítógépé.

Következtetés

A könnyű beállítás a Wireguard egyik legfontosabb előnye a hagyományos VPN-szoftverekkel, például az OpenVPN-nel szemben, amelynek beállításához magasabb szintű hálózati és útválasztási ismeretekre van szükség. Azonban hiányzik a Wireguard részletes hivatalos dokumentációja, amely problémákat okozhat, ha a Wireguard beállítása hibákat dob ​​fel, vagy nem működik a várt módon.

Ennek ellenére a Wireguard kiváló választás, ha önálló VPN-t szeretne az interneten keresztüli biztonságos kommunikációhoz. Ha többet szeretne megtudni a Wireguardról, valamint az általa használt protokollokról és technológiákról, látogassa meg a hivatalos webhelyet.