Zënter dem WireGuard zukünftege Kär Linux 5.6, hunn ech decidéiert ze kucken, wéi ech dëse VPN am beschte mat mengem integréiere kann .
Ausrüstung
- Raspberry Pi 3 mat LTE Modul an ëffentlech IP Adress. Et gëtt e VPN Server hei (nodréiglech am Text gëtt et genannt edgewalker)
- Telefon ugeschalt Android, déi e VPN fir all Kommunikatioun benotze muss
- Laptop Linux, déi nëmmen VPN am Netz benotze soll
All Apparat, deen mam VPN verbënnt, muss fäeg sinn mat all aner Apparater ze verbannen. Zum Beispill, en Telefon soll fäeg sinn mat engem Webserver op engem Laptop ze verbannen, wa béid Apparater Deel vun engem VPN Netz sinn. Wann de Setup zimmlech einfach ass, da kënnt Dir drun denken den Desktop mam VPN ze verbannen (iwwer Ethernet).
Bedenkt datt kabellos a drahtlose Verbindunge mat der Zäit ëmmer manner sécher ginn (, и ), Ech iwwerleeën eescht ze benotzen WireGuard fir all meng Apparater, egal a wéi enger Ëmwelt se lafen.
Software Installatioun
WireGuard stellt fir déi meescht Verdeelungen Linux, Windows и macOSUwendungen fir Android an iOS ginn iwwer App Stores geliwwert.
Ech hunn déi lescht Fedora Linux 31, an ier ech d'Installatioun gemaach hunn, war ech ze faul fir d'Handbuch ze liesen. Ech hunn just d'Packagen fonnt. wireguard-tools, installéiert hinnen, a konnt dann net erauszefannen firwat näischt fonctionnéiert. Weider Enquête huet verroden datt ech de Package net installéiert hunn wireguard-dkms (mat engem Netzwierk Chauffer), awer et war net am Repository vu menger Verdeelung.
Wann ech d'Instruktioune gelies hätt, hätt ech déi richteg Schrëtt gemaach:
$ sudo dnf copr enable jdoss/wireguard
$ sudo dnf install wireguard-dkms wireguard-tools Ech hunn d'Raspbian Buster Verdeelung op mengem Raspberry Pi installéiert, et gëtt schonn e Package do wireguard, installéieren et:
$ sudo apt install wireguardOp der Telefon Android Ech hunn d'Applikatioun installéiert aus dem offiziellen Google App Store Katalog.
Installatioun vun Schlësselen
Knuet ze authentifizéieren Wireguard Benotzt e einfacht privat/ëffentlech Schlësselschema fir VPN-Knoten z'authentifizéieren. Dir kënnt ganz einfach VPN-Schlësselen mat dem folgende Kommando generéieren:
$ 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.keyDëst gëtt eis dräi Schlësselpueren (sechs Dateien). Mir wäerten net op d'Fichier'en an de Konfiguratiounen bezéien, awer kopéieren den Inhalt hei: all Schlëssel ass eng Zeil an base64.
Erstellt eng Konfiguratiounsdatei fir den VPN Server (Raspberry Pi)
D'Konfiguratioun ass ganz einfach, ech hunn déi folgend Datei erstallt /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/32E puer Notizen:
- Op de passenden Plazen musst Dir Linnen aus de Dateien mat de Schlësselen aginn
- Mäi VPN benotzt intern Band
10.200.200.0/24 - Fir Équipen
PostUp/PostDownEch hunn den externen Netzwierk Interface wwan0, Dir hutt vläicht eng aner (zum Beispill eth0)
De VPN-Netzwierk gëtt einfach mam folgendem Kommando erhéicht:
$ sudo wg-quick up wg0 E klengen Detail: als DNS Server deen ech benotzt hunn dnsmasq un engem Netzwierk-Interface gebonnen br0, Ech hunn och Apparater bäigefüügt wg0 op d'Lëscht vun erlaabten Apparater. An dnsmasq gëtt dëst gemaach andeems Dir eng nei Netzwierk-Interface Linn an d'Konfiguratiounsdatei bäidréit /etc/dnsmasq.conf, zum Beispill:
interface=br0
interface=wg0Zousätzlech hunn ech eng iptable Regel bäigefüügt fir den Traffic op den UDP Nolauschterport (51280) z'erméiglechen:
$ sudo iptables -I INPUT -p udp --dport 51820 -j ACCEPTElo datt alles funktionnéiert, kënne mir den automateschen Start vum VPN-Tunnel opsetzen:
$ sudo systemctl enable wg-quick@wg0.serviceClient Konfiguratioun op Laptop
Erstellt eng Konfiguratiounsdatei op engem Laptop /etc/wireguard/wg0.conf mat de selwechten Astellungen:
[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:51820Notizen:
- Amplaz Edgewalker musst Dir den ëffentlechen IP oder VPN Server Host spezifizéieren
- Duerch Astellung
AllowedIPsop10.200.200.0/24, Mir benotzen nëmmen VPN fir Zougang zum internen Netzwierk ze kréien. Traffic op all aner IP Adressen / Server wäert weider duerch "normal" oppe Channels goen. Et wäert och de pre-konfiguréierten DNS-Server um Laptop benotzen.
Fir Testen an automatesche Start benotze mir déiselwecht Kommandoen wg-quick и systemd:
$ sudo wg-quick up wg0
$ sudo systemctl enable wg-quick@wg0.serviceDe Client opstellen fir Android-Telefon
Fir Telefon Android Mir kreéieren eng ganz ähnlech Konfiguratiounsdatei (loosse mer se nennen 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 Am Géigesaz zu der Konfiguratioun um Laptop, muss den Telefon eise VPN Server als DNS Server benotzen (Linn DNS), a passéiert och all Traffic duerch de VPN Tunnel (AllowedIPs = 0.0.0.0/0).
Amplaz d'Datei op Ärem mobilen Apparat ze kopéieren, kënnt Dir se an e QR Code konvertéieren:
$ sudo apt install qrencode
$ qrencode -t ansiutf8 < mobile.confDe QR-Code gëtt als ASCII an d'Konsole ausgegeben. E kann vun der App aus gescannt ginn. Android VPN an automatesch den VPN-Tunnel konfiguréieren.
Konklusioun
Upassung WireGuard einfach magesch am Verglach mat OpenVPN.
Source: will.com
