Á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.