A WireGuard egy általános célú VPN (virtuális magánhálózat), amely a legmodernebb titkosítást használja. Más népszerű VPN megoldásokhoz, mint például az IPsec és az OpenVPN, a WireGuard általában gyorsabb, könnyebben konfigurálható, és kisebb az alapterülete. Platformokon átívelő és szinte bárhol futtatható, beleértve a Linuxot, a Windowsot, az Androidot és a MacOS-t is.
A Wireguard egy peer-to-peer VPN; nem használja a kliens-szerver modellt. A konfigurációtól függően egy társ működhet hagyományos szerverként vagy kliensként. Úgy működik, hogy minden alagútként működő társ eszközön létrehoz egy hálózati interfészt. A társak hitelesítik egymást nyilvános kulcsok cseréjével és érvényesítésével, utánozva az SSH modellt. A nyilvános kulcsok az alagútban engedélyezett IP-címek listájával vannak feltérképezve. A VPN forgalom UDP-be van zárva.
Ez a cikk elmagyarázza a WireGuard telepítését és konfigurálását a Debian 10-en, amely VPN-kiszolgálóként fog működni. Azt is megmutatjuk, hogyan konfigurálhatja a WireGuard-ot kliensként Linuxon, Windowson és macOS-on. Az ügyfél forgalmát a Debian 10 szerveren keresztül továbbítja.
Ez a beállítás védelemként szolgálhat a Man in the Middle támadásokkal szemben, névtelenül böngészhet az interneten, megkerülheti a földrajzilag korlátozott tartalmakat, vagy lehetővé teheti otthonról dolgozó kollégáinak, hogy biztonságosan csatlakozzanak a vállalati hálózathoz.
Előfeltételek #
Az útmutató követéséhez szüksége lesz egy gépre, amelyre telepítve van a Debian 10. Szüksége van root vagy [sudo hozzáférésre] (https: // linuxize.com / post / how-to-a-sudo-user-on-debian / csomagok telepítéséhez és a rendszer megváltoztatásához.
A WireGuard szerver beállítása #
Kezdjük azzal, hogy telepítjük a WireGuard csomagot a Debian gépre, és beállítjuk, hogy szerverként működjön. Konfiguráljuk a rendszert az ügyfelek forgalmának átirányítására is.
Telepítse a WireGuard alkalmazást a Debian 10-re #
A WireGuard elérhető a Debian backports tárolókból. A lerakat hozzáadásához futtassa a következőt:
echo 'deb http: // ftp.debian.org / debian buster-backports main '| sudo tee / etc / apt / sources.lista.d / buster-backports.lista
Amint a lerakat engedélyezve van, frissítse az apt gyorsítótárat, és telepítse a WireGuard modult és eszközöket:
A WireGuard kernelmodulként fut.sudo apt frissítés
sudo apt install wireguard
A WireGuard # beállítása
Konfigurálhatja és kezelheti a WireGuard interfészeket a wg
és wg-gyors
parancssori eszközök.
A WireGuard VPN hálózat minden eszközének rendelkeznie kell privát és nyilvános kulccsal. Futtassa a következő parancsot a kulcspár előállításához:
wg genkey | sudo tee / etc / wireguard / privatekey | wg pubkey | sudo tee / etc / wireguard / publickey
A fájlok a / etc / wireguard
Könyvtár. Használja a macska
vagy Kevésbé
parancsokat a fájlok tartalmának megtekintéséhez. A privát kulcsot soha nem szabad megosztani senkivel, és mindig biztonságban kell tartani.
A Wireguard egy előre megosztott kulcsot is támogat, amely további szimmetrikus kulcsú titkosítási réteget ad hozzá. Ez a kulcs nem kötelező, és egyedinek kell lennie minden társ pár esetében.
A következő lépés az alagút eszköz konfigurálása, amely a VPN forgalmat irányítja.
Az eszközt a parancssorból állíthatja be a ip
és wg
parancsokat, vagy manuálisan létrehozva a konfigurációs fájlt. Létrehozzuk a konfigurációt egy szövegszerkesztővel.
Nyissa meg a szerkesztőt, és hozzon létre egy új nevű fájlt wg0.konf
a következő tartalommal:
sudo nano / etc / wireguard / wg0.konf
/ etc / wireguard / wg0.konf[Interfész] Cím = 10.0.0.1/24 SaveConfig = true ListenPort = 51820 PrivateKey = SERVER_PRIVATE_KEY PostUp = iptables -A FORWARD -i% i -j ACCEPT; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE PostDown = iptables -D FORWARD -i% i -j ACCEPT; iptables -t nat -D POSTROUTING -o ens3 -j MASZKERÁD
Bármire megnevezheti a felületet, amit csak akar. Ennek ellenére ajánlott valami hasonlót használni wg0
vagy wgvpn0
.
Az interfész szakasz beállításainak jelentése a következő:
Cím - vesszővel elválasztott lista a v4 vagy v6 IP-címekről a
wg0
felület. Megadhat egy IP-címet a magánhálózatok számára fenntartott tartományból (10.0.0.0/8, 172.16.0.0/12 vagy 192.168.0.0/16).ListenPort - A hallgatási port.
PrivateKey - A. Által generált magánkulcs
wg genkey
parancs. (A fájltípus tartalmának megtekintéséhez:sudo cat / etc / wireguard / privatekey
)SaveConfig - Ha igazra van állítva, akkor az interfész aktuális állapota leállításkor a konfigurációs fájlba kerül.
PostUp - Parancs vagy parancsfájl, amelyet az interfész előhívása előtt hajtanak végre. Ebben a példában az iptables segítségével engedélyezzük a maszkolást. Ez lehetővé teszi a forgalom elhagyását a szerverről, így a VPN kliensek hozzáférhetnek az internethez.
Ne felejtse el kicserélni
ens3
utána-POSTROUTING
hogy megfeleljen a nyilvános hálózati felület nevének. A kezelőfelületet könnyen megtalálhatja:ip -o -4 útvonal megjelenítése alapértelmezettként | awk 'print $ 5'
PostDown - Egy parancs vagy szkript, amelyet az interfész lehúzása előtt hajtanak végre. Az iptables szabályok eltávolításra kerülnek, ha a felület leáll.
A wg0.konf
és privatekey
a fájlok nem lehetnek olvashatók a normál felhasználók számára. Használat chmod
a fájlok engedélyeinek beállításához 600
:
sudo chmod 600 / etc / wireguard / privatekey, wg0.conf
Ha elkészült, hozza a wg0
interfész a konfigurációs fájlban megadott attribútumok használatával:
sudo wg-gyors fel wg0
A kimenet így néz ki:
[#] ip link wg0 típusú drótvédő hozzáadása [#] wg setconf wg0 / dev / fd / 63 [#] ip -4 cím hozzáadása 10.0.0.1/24 dev wg0 [#] ip link set mtu 1420 up dev wg0 [#] iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ens3 -j MASZKERÁD
Az interfész állapotának és konfigurációjának ellenőrzéséhez futtassa:
sudo wg show wg0
interfész: wg0 nyilvános kulcs: + Vpyku + gjVJuXGR / OXXt6cmBKPdc06Qnm3hpRhMBtxs = magánkulcs: (rejtett) hallgatási port: 51820
A felület állapotát a következővel is ellenőrizheti ip a show wg0
:
ip a show wg0
4: wg0: mtu 1420 qdisc noqueue state Ismeretlen csoport alapértelmezett qlen 1000 link / none inet 10.0.0.1/24 hatókör globális wg0 érvényes_lft örökre preferált_lft örökké
A WireGuard a Systemd segítségével kezelhető. A WireGuard felület indításakor történő futtatásához futtassa a következő parancsot:
sudo systemctl engedélyezze a wg-quick @ wg0 parancsot
Kiszolgáló hálózati és tűzfalkonfigurációja #
A NAT működéséhez engedélyezni kell az IP-továbbítást. Nyissa meg a / etc / sysctl.konf
fájlt, és adja hozzá vagy törölje a következő sort:
sudo nano / etc / sysctl.konf
/ etc / sysctl.konfháló.ipv4.ip_forward = 1
Mentse a fájlt, és alkalmazza a módosítást:
sudo sysctl -p
háló.ipv4.ip_forward = 1
Ha a tűzfal kezeléséhez UFW-t használ, akkor meg kell nyitnia az UDP forgalmat a porton 51820
:
sudo ufw allow 51820 / udp
Ez az. A Debian társ, amely szerverként fog működni, fel lett állítva.
Linux és macOS kliensek beállítása #
Az összes támogatott platform telepítési útmutatója elérhető a https: // wireguard oldalon.com / install / . Linux rendszereken telepítheti a csomagot a terjesztési csomagkezelő használatával és a macOS-ra a sörfőzés
.
A telepítés után kövesse az alábbi lépéseket az ügyféleszköz konfigurálásához.
A Linux és a macOS kliens beállításának folyamata nagyjából megegyezik a szerverrel. Először hozza létre a nyilvános és a magánkulcsot:
wg genkey | sudo tee / etc / wireguard / privatekey | wg pubkey | sudo tee / etc / wireguard / publickey
Hozza létre a fájlt wg0.konf
és adja hozzá a következő tartalmat:
sudo nano / etc / wireguard / wg0.konf
/ etc / wireguard / wg0.konf[Interface] PrivateKey = CLIENT_PRIVATE_KEY Address = 10.0.0.2/24 [Peer] PublicKey = SERVER_PUBLIC_KEY Végpont = SERVER_IP_ADDRESS: 51820 EngedélyezettIPs = 0.0.0.0/0
Az interfész szakasz beállításainak jelentése ugyanaz, mint a szerver beállításakor:
- Cím - vesszővel elválasztott lista a v4 vagy v6 IP-címekről a
wg0
felület. - PrivateKey - A fájl tartalmának megtekintéséhez az ügyfélgépen futtassa:
sudo cat / etc / wireguard / privatekey
A peer szakasz a következő mezőket tartalmazza:
- PublicKey - A társ létrehozásának nyilvános kulcsa. (A szerver tartalma
/ etc / wireguard / publickey
fájl). - Végpont - annak a társnak az IP-címe vagy gazdagépneve, amelyhez csatlakozni szeretne, majd kettőspont, majd egy portszám, amelyre a távoli partner hallgat.
- AllowedIPs - vesszővel elválasztott lista azokról a v4 vagy v6 IP-címekről, amelyekről megengedett a bejövő forgalom a társ számára, és amelyekre a társ kimenő forgalma irányul. 0-t használunk.0.0.0/0, mert átirányítjuk a forgalmat, és azt akarjuk, hogy a kiszolgáló társ bármilyen csomag IP-t küldjön.
Ha további ügyfeleket kell konfigurálnia, csak ismételje meg ugyanazokat a lépéseket egy másik privát IP-cím használatával.
Windows kliensek beállítása #
Töltse le és telepítse a Windows MSI csomagot a WireGuard webhelyéről .
A telepítés után nyissa meg a WireGuard alkalmazást, és kattintson az "Alagút hozzáadása" -> "Üres alagút hozzáadása ..." gombra az alábbi képen látható módon:
A nyilvános kulcs pár automatikusan létrejön, és megjelenik a képernyőn.
Írja be az alagút nevét, és a következőképpen szerkessze a konfigurációt:
[Interface] PrivateKey = CLIENT_PRIVATE_KEY Address = 10.0.0.2/24 [Peer] PublicKey = SERVER_PUBLIC_KEY Végpont = SERVER_IP_ADDRESS: 51820 EngedélyezettIPs = 0.0.0.0/0
Az interfész szakaszban adjon hozzá egy új sort az ügyfélalagút címének meghatározásához.
A peer szakaszban adja hozzá a következő mezőket:
- PublicKey - A Debian szerver nyilvános kulcsa (
/ etc / wireguard / publickey
fájl). - Végpont - A Debian-kiszolgáló IP-címe, amelyet kettőspont és WireGuard port követ (51820).
- Engedélyezett IP-k - 0.0.0.0/0
Ha elkészült, kattintson a „Mentés” gombra.
Az ügyfél társ hozzáadása a kiszolgálóhoz
Az utolsó lépés az ügyfél nyilvános kulcsának és IP-címének hozzáadása a szerverhez. Ehhez futtassa a következő parancsot a Debian szerveren:
sudo wg set wg0 társ CLIENT_PUBLIC_KEY engedélyezett ips 10.0.0.2
Ne felejtse el megváltoztatni a CLIENT_PUBLIC_KEY
az ügyfélgépen létrehozott nyilvános kulccsal (sudo cat / etc / wireguard / publickey
), és állítsa be a kliens IP-címét, ha az eltér. A Windows-felhasználók a nyilvános kulcsot a WireGuard alkalmazásból másolhatják.
Miután elkészült, térjen vissza az ügyfélgéphez, és hozza elő az alagút interfészt.
Linux és macOS kliensek #
Futtassa a következő parancsot az interfész előhívásához:
sudo wg-gyors fel wg0
Most csatlakoznia kell a Debian szerverhez, és az ügyfélgép forgalmát ezen keresztül kell irányítani. A kapcsolatot ellenőrizheti:
sudo wg
interfész: wg0 nyilvános kulcs: gFeK6A16ncnT1FG6fJhOCMPMeY4hZa97cZCNWis7cSo = privát kulcs: (rejtett) portot: 53527 fwmark: 0xca6c peer: r3imyh3MCYggaZACmkx + CxlD6uAmICI8pe / PGq8 + qCg = végpont: XXX.XXX.XXX.XXX: 51820 megengedett ips: 0.0.0.0/0 utolsó kézfogás: 53 másodperccel ezelőtt átadás: 3.23 KiB kapott, 3.50 KiB elküldve
Megnyithatja a böngészőt is, beírhatja a „mi az én ip-m” kifejezést, és látnia kell a Debian szerver IP-címét.
Az alagút leállításához hozza le a wg0
felület:
sudo wg-gyors le wg0
Windows kliensek
Ha a WireGuard szoftvert telepítette a Windows rendszerre, kattintson az „Aktiválás” gombra. A társak csatlakozása után az alagút állapota aktívra változik:
Következtetés
Megmutattuk, hogyan kell telepíteni a WireGuard-ot a Debian 10-re és konfigurálni VPN-kiszolgálóként. Ez a beállítás lehetővé teszi, hogy névtelenül böngészhessen az interneten, miközben forgalmi adatait titokban tartja.
Ha bármilyen problémával szembesül, nyugodtan írjon megjegyzést.