Prej WireGuard bërthama e së ardhmes Linux 5.6, vendosa të shoh se si ta integroj më së miri këtë VPN me timen .
Оборудование
- Raspberry Pi 3 me modul LTE dhe adresë IP publike. Këtu do të ketë një server VPN (më tej në tekst quhet edgewalker)
- Telefoni është ndezur Android, i cili duhet të përdorë një VPN për të gjitha komunikimet
- fletore shënimesh Linux, i cili duhet të përdorë vetëm VPN brenda rrjetit
Çdo pajisje që lidhet me VPN duhet të jetë në gjendje të lidhet me të gjitha pajisjet e tjera. Për shembull, një telefon duhet të jetë në gjendje të lidhet me një server në internet në një laptop nëse të dyja pajisjet janë pjesë e një rrjeti VPN. Nëse konfigurimi rezulton të jetë mjaft i thjeshtë, atëherë mund të mendoni për lidhjen e desktopit me VPN (përmes Ethernet).
Duke marrë parasysh që lidhjet me tel dhe me valë po bëhen gjithnjë e më pak të sigurta me kalimin e kohës (, и ), po e konsideroj seriozisht përdorimin WireGuard për të gjitha pajisjet e mia, pavarësisht nga mjedisi në të cilin funksionojnë.
Instalimi i softverit
WireGuard ajo siguron për shumicën e shpërndarjeve Linux, Windows и macOSAplikimet për Android dhe iOS ofrohen përmes dyqaneve të aplikacioneve.
Unë kam Fedora-n më të fundit Linux 31, dhe para instalimit isha shumë dembel për të lexuar manualin. Sapo gjeta paketat. wireguard-tools, i instaloi ato dhe më pas nuk mund ta kuptoja pse asgjë nuk po funksiononte. Hetimi i mëtejshëm zbuloi se nuk e kam të instaluar paketën wireguard-dkms (me një drejtues rrjeti), por nuk ishte në depon e shpërndarjes sime.
Nëse do të kisha lexuar udhëzimet, do të kisha ndërmarrë hapat e duhur:
$ sudo dnf copr enable jdoss/wireguard
$ sudo dnf install wireguard-dkms wireguard-tools Unë kam shpërndarjen Raspbian Buster të instaluar në Raspberry Pi, tashmë ka një paketë atje wireguard, instalojeni:
$ sudo apt install wireguardNë telefon Android E instalova aplikacionin nga katalogu zyrtar i Google App Store.
Instalimi i çelësave
Për të autentifikuar nyjet Wireguard Përdor një skemë të thjeshtë çelësash privat/publik për të autentifikuar nyjet VPN. Mund të gjeneroni lehtësisht çelësa VPN me komandën e mëposhtme:
$ wg genkey | tee wg-laptop-private.key | wg pubkey > wg-laptop-public.key
$ wg genkey | tee wg-server-private.key | wg pubkey > wg-server-public.key
$ wg genkey | tee wg-mobile-private.key | wg pubkey > wg-mobile-public.keyKjo na jep tre çifte çelësash (gjashtë skedarë). Ne nuk do t'i referohemi skedarëve në konfigurime, por kopjojmë përmbajtjen këtu: çdo çelës është një rresht në bazën64.
Krijimi i një skedari konfigurimi për serverin VPN (Raspberry Pi)
Konfigurimi është mjaft i thjeshtë, kam krijuar skedarin e mëposhtëm /etc/wireguard/wg0.conf:
[Interface]
Address = 10.200.200.1/24
ListenPort = 51820
PrivateKey = <copy private key from wg-server-private.key>
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o wwan0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o wwan0 -j MASQUERADE
[Peer]
# laptop
PublicKey = <copy public key from wg-laptop-public.key>
AllowedIPs = 10.200.200.2/32
[Peer]
# mobile phone
PublicKey = <copy public key from wg-mobile-public.key>
AllowedIPs = 10.200.200.3/32Disa shënime:
- Në vendet e duhura duhet të futni rreshta nga skedarët me çelësat
- VPN ime po përdor brezin e brendshëm
10.200.200.0/24 - Për ekipet
PostUp/PostDownUnë kam ndërfaqen e jashtme të rrjetit wwan0, ju mund të keni një tjetër (për shembull, eth0)
Rrjeti VPN ngrihet lehtësisht me komandën e mëposhtme:
$ sudo wg-quick up wg0 Një detaj i vogël: si server DNS që përdora dnsmasq i lidhur me një ndërfaqe rrjeti br0, shtova edhe pajisje wg0 në listën e pajisjeve të lejuara. Në dnsmasq kjo bëhet duke shtuar një linjë të re të ndërfaqes së rrjetit në skedarin e konfigurimit /etc/dnsmasq.conf, për shembull:
interface=br0
interface=wg0Për më tepër, shtova një rregull iptable për të lejuar trafikun në portën e dëgjimit UDP (51280):
$ sudo iptables -I INPUT -p udp --dport 51820 -j ACCEPTTani që gjithçka po funksionon, ne mund të vendosim nisjen automatike të tunelit VPN:
$ sudo systemctl enable wg-quick@wg0.serviceKonfigurimi i klientit në laptop
Krijoni një skedar konfigurimi në një laptop /etc/wireguard/wg0.conf me të njëjtat cilësime:
[Interface]
Address = 10.200.200.2/24
PrivateKey = <copy private key from wg-laptop-private.key>
[Peer]
PublicKey = <copy public key from wg-server-public.key>
AllowedIPs = 10.200.200.0/24
Endpoint = edgewalker:51820Shenime:
- Në vend të edgewalker ju duhet të specifikoni IP-në publike ose hostin e serverit VPN
- Duke instaluar
AllowedIPsmbi10.200.200.0/24, ne përdorim vetëm VPN për të hyrë në rrjetin e brendshëm. Trafiku në të gjitha adresat/serverët e tjerë IP do të vazhdojë të kalojë përmes kanaleve të hapura "normale". Ai gjithashtu do të përdorë serverin DNS të para-konfiguruar në laptop.
Për testim dhe nisje automatike ne përdorim të njëjtat komanda wg-quick и systemd:
$ sudo wg-quick up wg0
$ sudo systemctl enable wg-quick@wg0.serviceVendosja e klientit për Android-telefon
Për telefon Android Ne krijojmë një skedar konfigurimi shumë të ngjashëm (le ta quajmë mobile.conf):
[Interface]
Address = 10.200.200.3/24
PrivateKey = <copy private key from wg-mobile-private.key>
DNS = 10.200.200.1
[Peer]
PublicKey = <copy public key from wg-server-public.key>
AllowedIPs = 0.0.0.0/0
Endpoint = edgewalker:51820 Ndryshe nga konfigurimi në laptop, telefoni duhet të përdorë serverin tonë VPN si server DNS (linja DNS), dhe gjithashtu kaloni të gjithë trafikun përmes tunelit VPN (AllowedIPs = 0.0.0.0/0).
Në vend që të kopjoni skedarin në pajisjen tuaj celulare, mund ta konvertoni atë në një kod QR:
$ sudo apt install qrencode
$ qrencode -t ansiutf8 < mobile.confKodi QR do të dalë në konsol si ASCII. Mund të skanohet nga aplikacioni. Android VPN dhe konfiguroni automatikisht tunelin VPN.
Prodhim
rregullim WireGuard thjesht magjik në krahasim me OpenVPN.
Burimi: www.habr.com
