WireGuard ir vispārējas nozīmes VPN (virtuālais privātais tīkls), kas izmanto vismodernāko kriptogrāfiju. Salīdzinot ar citiem populāriem VPN risinājumiem, piemēram, IPsec un OpenVPN, WireGuard parasti ir ātrāks, vieglāk konfigurējams un ar mazāku nospiedumu. Tas ir starpplatforms un var darboties gandrīz visur, ieskaitot Linux, Windows, Android un macOS.
Wireguard ir vienādranga VPN; tajā netiek izmantots klienta-servera modelis. Atkarībā no konfigurācijas vienaudžs var darboties kā tradicionāls serveris vai klients. Tas darbojas, izveidojot tīkla saskarni katrā vienaudžu ierīcē, kas darbojas kā tunelis. Vienaudži viens otru autentificē, apmainot un apstiprinot publiskās atslēgas, atdarinot SSH modeli. Publiskās atslēgas tiek kartētas ar tuneļā atļauto IP adrešu sarakstu. VPN trafika ir iekapsulēta UDP.
Šajā rakstā ir paskaidrots, kā instalēt un konfigurēt WireGuard uz Debian 10, kas darbosies kā VPN serveris. Mēs arī parādīsim, kā konfigurēt WireGuard kā klientu Linux, Windows un MacOS. Klienta trafika tiks virzīta caur Debian 10 serveri.
Šo iestatījumu var izmantot kā aizsardzību pret Man in the Middle uzbrukumiem, anonīmi sērfošanu tīmeklī, apejot ģeogrāfiski ierobežotu saturu vai ļaujot jūsu kolēģiem, kuri strādā mājās, droši izveidot savienojumu ar uzņēmuma tīklu.
Priekšnosacījumi #
Lai sekotu šai rokasgrāmatai, jums būs nepieciešama mašīna ar instalētu Debian 10. Jums nepieciešama arī root vai [sudo piekļuve] (https: // linuxize.com / post / how-to-create-a-sudo-user-on-debian / instalēt paketes un veikt izmaiņas sistēmā.
WireGuard servera iestatīšana #
Mēs sāksim ar WireGuard pakotnes instalēšanu Debian mašīnā un iestatīsim to darboties kā serveri. Mēs arī konfigurēsim sistēmu, lai tā virzītu klientu trafiku.
Instalējiet WireGuard uz Debian 10 #
WireGuard ir pieejams Debian backports krātuvēs. Lai savai sistēmai pievienotu repozitoriju, palaidiet:
echo 'deb http: // ftp.debian.org / debian buster-backports main '| sudo tee / etc / apt / sources.sarakstā.d / buster-backports.sarakstā
Kad repozitorijs ir iespējots, atjauniniet apt kešatmiņu un instalējiet WireGuard moduli un rīkus:
WireGuard darbojas kā kodola modulis.sudo apt atjauninājums
sudo apt instalēt wireguard
WireGuard # konfigurēšana
Jūs varat konfigurēt un pārvaldīt WireGuard saskarnes ar wg
un wg-ātri
komandrindas rīki.
Katrai WireGuard VPN tīkla ierīcei jābūt ar privātu un publisku atslēgu. Palaidiet šādu komandu, lai ģenerētu atslēgu pāri:
wg genkey | sudo tee / etc / wireguard / privatekey | wg pubkey | sudo tee / etc / wireguard / publickey
Faili tiek ģenerēti / etc / wireguard
direktorijā. Izmantojiet kaķis
vai mazāk
komandas, lai apskatītu failu saturu. Privāto atslēgu nekādā gadījumā nedrīkst koplietot ar citiem, un tā vienmēr ir jāsaglabā drošībā.
Wireguard atbalsta arī iepriekš koplietotu atslēgu, kas pievieno papildu simetriskās atslēgas kriptogrāfijas slāni. Šī atslēga nav obligāta, un tai jābūt unikālai katram vienaudžu pārim.
Nākamais solis ir konfigurēt tuneļa ierīci, kas virzīs VPN trafiku.
Ierīci var iestatīt vai nu no komandrindas, izmantojot ip
un wg
komandas vai manuāli izveidojot konfigurācijas failu. Mēs izveidosim konfigurāciju ar teksta redaktoru.
Atveriet redaktoru un izveidojiet jaunu failu ar nosaukumu wg0.konf
ar šādu saturu:
sudo nano / etc / wireguard / wg0.konf
/ etc / wireguard / wg0.konf[Interfeiss] Adrese = 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 MASQUERADE
Interfeisu var nosaukt kā vien vēlaties. Tomēr ieteicams izmantot kaut ko līdzīgu wg0
vai wgvpn0
.
Interfeisa sadaļas iestatījumiem ir šāda nozīme:
Adrese - ar komatiem atdalīts v4 vai v6 IP adrešu saraksts
wg0
interfeiss. Jūs varat IP adresi no diapazona, kas rezervēts privātajiem tīkliem (10.0.0.0/8, 172.16.0.0/12 vai 192.168. lpp.0.0/16).ListenPort - klausīšanās ports.
PrivateKey - privātā atslēga, ko ģenerējis
wg genkey
komandu. (Lai skatītu faila veida saturu:sudo cat / etc / wireguard / privatekey
)SaveConfig - ja iestatīts uz true, pašreizējais interfeisa stāvoklis tiek izslēgts, konfigurācijas failā tiek saglabāts.
PostUp - komanda vai skripts, kas tiek izpildīts pirms saskarnes paaugstināšanas. Šajā piemērā mēs izmantojam iptables, lai iespējotu maskēšanu. Tas ļauj satiksmei atstāt serveri, nodrošinot VPN klientiem piekļuvi internetam.
Noteikti nomainiet
ens3
pēc-POSTROTĒŠANA
lai tas atbilstu jūsu publiskā tīkla saskarnes nosaukumam. Saskarni varat viegli atrast, izmantojot:ip -o -4 maršruta parādīšana pēc noklusējuma | awk 'print $ 5'
PostDown - komanda vai skripts, kas tiek izpildīts pirms saskarnes nolaišanas. Pēc saskarnes darbības pārtraukšanas kārtulas iptables tiks noņemtas.
The wg0.konf
un privatekey
faili nedrīkst būt lasāmi parastiem lietotājiem. Izmantot chmod
lai iestatītu failu atļaujas 600
:
sudo chmod 600 / etc / wireguard / privatekey, wg0.conf
Kad tas izdarīts, atnesiet wg0
saskarne izveidota, izmantojot konfigurācijas failā norādītos atribūtus:
sudo wg - ātri augšup wg0
Rezultāts izskatīsies apmēram šādi:
[#] ip saite pievienot wg0 tipa vadu aizsargs [#] wg setconf wg0 / dev / fd / 63 [#] ip -4 adrese pievienot 10.0.0.1/24 dev wg0 [#] ip saišu kopa mtu 1420 up dev wg0 [#] iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
Lai pārbaudītu saskarnes stāvokli un konfigurāciju, palaidiet:
sudo wg parādīt wg0
interfeiss: wg0 publiskā atslēga: + Vpyku + gjVJuXGR / OXXt6cmBKPdc06Qnm3hpRhMBtxs = privātā atslēga: (slēpta) klausīšanās ports: 51820
Varat arī pārbaudīt saskarnes stāvokli ar ip a show wg0
:
ip a show wg0
4: wg0: mtu 1420 qdisc noqueue state Nezināms grupas noklusējums qlen 1000 link / none inet 10.0.0.1/24 darbības joma globālā wg0 valid_lft uz visiem laikiem prefer_lft uz visiem laikiem
WireGuard var pārvaldīt, izmantojot Systemd. Lai WireGuard saskarne tiktu ielādēta sāknēšanas laikā, izpildiet šādu komandu:
sudo systemctl iespējojiet wg-quick @ wg0
Servera tīkla un ugunsmūra konfigurācija #
Lai NAT darbotos, ir jāiespējo IP pārsūtīšana. Atveriet / etc / sysctl.konf
failu un pievienojiet vai atceliet šo rindiņu:
sudo nano / etc / sysctl.konf
/ etc / sysctl.konftīkls.ipv4.ip_forward = 1
Saglabājiet failu un lietojiet izmaiņas:
sudo sysctl -p
tīkls.ipv4.ip_forward = 1
Ja ugunsmūra pārvaldībai izmantojat UFW, ostā ir jāatver UDP trafika 51820
:
sudo ufw atļaut 51820 / udp
Tieši tā. Ir iestatīts Debian vienaudžs, kas darbosies kā serveris.
Linux un macOS klientu iestatīšana #
Visu atbalstīto platformu instalēšanas instrukcijas ir pieejamas vietnē https: // wireguard.com / install / . Linux sistēmās pakotni var instalēt, izmantojot izplatīšanas pakotņu pārvaldnieku un MacOS ar brūvēt
.
Pēc instalēšanas veiciet tālāk norādītās darbības, lai konfigurētu klienta ierīci.
Linux un macOS klienta iestatīšanas process ir gandrīz tāds pats kā jūs serverī. Vispirms ģenerējiet publiskās un privātās atslēgas:
wg genkey | sudo tee / etc / wireguard / privatekey | wg pubkey | sudo tee / etc / wireguard / publickey
Izveidojiet failu wg0.konf
un pievienojiet šādu saturu:
sudo nano / etc / wireguard / wg0.konf
/ etc / wireguard / wg0.konf[Interfeiss] PrivateKey = CLIENT_PRIVATE_KEY Adrese = 10.0.0.2/24 [Peer] PublicKey = SERVER_PUBLIC_KEY Endpoint = SERVER_IP_ADDRESS: 51820 AtļautsIPs = 0.0.0.0/0
Interfeisa sadaļas iestatījumiem ir tāda pati nozīme kā servera iestatīšanai:
- Adrese - ar komatiem atdalīts v4 vai v6 IP adrešu saraksts
wg0
interfeiss. - PrivateKey - lai klienta mašīnā skatītu faila saturu, palaidiet:
sudo cat / etc / wireguard / privatekey
Vienādranga sadaļā ir šādi lauki:
- PublicKey - vienaudža publiskā atslēga, ar kuru vēlaties izveidot savienojumu. (Servera saturs
/ etc / wireguard / publickey
fails). - Galapunkts - tā partnera IP vai resursdatora nosaukums, ar kuru vēlaties izveidot savienojumu, kam seko kols un pēc tam porta numurs, uz kuru klausās attālais vienaudžs.
- AllowedIPs - komatiem atdalīts v4 vai v6 IP adrešu saraksts, no kura ir atļauta vienādranga ienākošā trafika un uz kuru tiek novirzīta šī vienaudža izejošā trafika. Mēs izmantojam 0.0.0.0/0, jo mēs virzām datplūsmu un vēlamies, lai servera vienaudži sūtītu paketes ar jebkuru avota IP.
Ja jums jākonfigurē papildu klienti, vienkārši atkārtojiet tās pašas darbības, izmantojot citu privāto IP adresi.
Windows klientu iestatīšana #
Lejupielādējiet un instalējiet Windows msi pakotni no WireGuard vietnes .
Pēc instalēšanas atveriet lietojumprogrammu WireGuard un noklikšķiniet uz “Pievienot tuneli” -> “Pievienot tukšu tuneli ...”, kā parādīts zemāk esošajā attēlā:
Publickey pāris tiek automātiski izveidots un parādīts ekrānā.
Ievadiet tuneļa nosaukumu un rediģējiet konfigurāciju šādi:
[Interfeiss] PrivateKey = CLIENT_PRIVATE_KEY Adrese = 10.0.0.2/24 [Peer] PublicKey = SERVER_PUBLIC_KEY Endpoint = SERVER_IP_ADDRESS: 51820 AtļautsIPs = 0.0.0.0/0
Saskarnes sadaļā pievienojiet jaunu rindu, lai definētu klienta tuneļa adresi.
Vienādranga sadaļā pievienojiet šādus laukus:
- PublicKey - Debian servera publiskā atslēga (
/ etc / wireguard / publickey
fails). - Galapunkts - Debian servera IP adrese, kurai seko kols un WireGuard ports (51820).
- Atļautie IP - 0.0.0.0/0
Kad tas ir izdarīts, noklikšķiniet uz pogas Saglabāt.
Pievienojiet klienta vienaudžu serverim #
Pēdējais solis ir klienta publiskās atslēgas un IP adreses pievienošana serverim. Lai to izdarītu, palaidiet šādu komandu Debian serverī:
sudo wg iestatiet wg0 vienaudžu CLIENT_PUBLIC_KEY atļauto ips 10.0.0.2
Noteikti nomainiet CLIENT_PUBLIC_KEY
ar publisko atslēgu, kuru izveidojāt klienta mašīnā (sudo cat / etc / wireguard / publickey
) un pielāgojiet klienta IP adresi, ja tā atšķiras. Windows lietotāji var kopēt publisko atslēgu no WireGuard lietojumprogrammas.
Kad tas ir izdarīts, atgriezieties klienta mašīnā un atveriet tuneļa saskarni.
Linux un macOS klienti #
Izpildiet šo komandu, lai atvērtu saskarni:
sudo wg - ātri augšup wg0
Tagad jums vajadzētu būt savienotam ar Debian serveri, un trafiks no klienta datora būtu jāpārraida caur to. Savienojumu varat pārbaudīt, izmantojot:
sudo wg
interfeiss: publiskā atslēga wg0: gFeK6A16ncnT1FG6fJhOCMPMeY4hZa97cZCNWis7cSo = privātā atslēga: (slēpta) klausīšanās ports: 53527 fwmark: 0xca6c vienaudžiem: r3imyh3MCYggaZACmkx + CxlD6uCgg = QCGg = QCGg = QCGg = QCGg = QCGg = QCGg = QCGg = QCGg = QCGg = QCGg = QCGg = QCGg = QCGg = QCGg = QCGg = QPG = QPG = QCGg = QPG = QPG = QCGg = QPG = QPG = QPG = QCGAg =.XXX.XXX.XXX: 51820 atļautie ips: 0.0.0.0/0 pēdējais rokasspiediens: pirms 53 sekundēm pārsūtīšana: 3.Saņēma 23 KiB, 3.Nosūtīts 50 KiB
Varat arī atvērt savu pārlūkprogrammu, ierakstīt “what is my ip”, un jums vajadzētu redzēt savu Debian servera IP adresi.
Lai apturētu tunelēšanu, nolaidiet wg0
interfeiss:
sudo wg-ātri uz leju wg0
Windows klienti #
Ja Windows instalējāt WireGuard, noklikšķiniet uz pogas “Aktivizēt”. Kad vienaudži būs savienoti, tuneļa statuss tiks mainīts uz Aktīvs:
Secinājums Nr
Mēs esam parādījuši, kā instalēt WireGuard uz Debian 10 un konfigurēt to kā VPN serveri. Šī iestatīšana ļauj anonīmi sērfot tīmeklī, saglabājot trafika datus privātus.
Ja jums rodas kādas problēmas, droši atstājiet komentāru.