VPN sinple bat konfiguratzea honekin WireGuard eta Raspberry Pi zerbitzari gisa

Urteaz geroztik WireGuard parte bihurtuko da etorkizuneko nukleoa Linux 5.6an, VPN hau nirearekin nola integratu ikustea erabaki nuen LTE bideratzailea/sarbide-puntua Raspberry Pi-n.

Оборудование

  • Raspberry Pi 3 LTE moduluarekin eta IP helbide publikoarekin. Hemen VPN zerbitzari bat egongo da (aurrerantzean deitzen zaio testuan ertz-ibiltaria)
  • Telefonoa piztuta Android, komunikazio guztietarako VPN bat erabili behar duena
  • koaderno Linux, sare barruan VPN bat bakarrik erabili beharko lukeena

VPNra konektatzen den gailu guztiek beste gailu guztietara konektatu ahal izan behar dute. Adibidez, telefono batek ordenagailu eramangarri batean web zerbitzari batera konektatu ahal izan beharko luke bi gailuak VPN sare baten parte badira. Konfigurazioa nahiko erraza suertatzen bada, mahaigaina VPNra konektatzea pentsa dezakezu (Ethernet bidez).

Kontuan izanda hari gabeko eta kable bidezko konexioak gero eta seguruagoak direla denborarekin (zuzendutako erasoak, KRACK WPA2 cracking-erasoa и Dragonblood WPA3-ren aurkako erasoa), erabiltzea serio pentsatzen ari naiz WireGuard nire gailu guztientzat, edozein ingurunetan exekutatzen diren kontuan hartu gabe.

Softwarearen instalazioa

WireGuard It eskaintzen aurrez konpilatutako paketeak banaketa gehienentzat. Linux, Windows и macOSEskaerak Android eta iOS aplikazio-dendetan banatzen dira.

Fedora berriena daukat. Linux 31, eta instalatu aurretik alferregia nintzen eskuliburua irakurtzeko. Paketeak aurkitu berri ditut. wireguard-tools, instalatu zituzten, eta orduan ezin izan zuten asmatu zergatik ez zegoen ezer funtzionatzen. Ikerketa gehiagok agerian utzi du ez dudala paketea instalatuta wireguard-dkms (sareko kontrolatzaile batekin), baina ez zegoen nire banaketaren biltegian.

Argibideak irakurri izan banu, urrats zuzenak hartuko nituzke:

$ sudo dnf copr enable jdoss/wireguard
$ sudo dnf install wireguard-dkms wireguard-tools

Raspbian Buster banaketa instalatuta daukat nire Raspberry Pi-n, dagoeneko pakete bat dago wireguard, instalatu:

$ sudo apt install wireguard

Telefonoan Android Aplikazioa instalatu dut. WireGuard VPN Google App Store katalogo ofizialetik.

Giltzak instalatzea

Nodoak autentifikatzeko Wireguard VPN nodoak autentifikatzeko gako pribatu/publiko eskema sinple bat erabiltzen du. Erraz sor ditzakezu VPN gakoak komando honekin:

$ 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.key

Honek hiru gako-pare (sei fitxategi) ematen dizkigu. Ez ditugu konfigurazioetako fitxategiak aipatuko, baina kopiatu hemen edukia: gako bakoitza lerro bat da base64-n.

VPN zerbitzarirako konfigurazio fitxategi bat sortzea (Raspberry Pi)

Konfigurazioa nahiko erraza da, ondorengo fitxategia sortu dut /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/32

Ohar pare bat:

  • Leku egokietan fitxategietako lerroak txertatu behar dituzu teklen bidez
  • Nire VPN barneko banda erabiltzen ari da 10.200.200.0/24
  • Taldeentzat PostUp/PostDown Kanpoko sareko interfazea wwan0 dut, baliteke beste bat izatea (adibidez, eth0)

VPN sarea erraz planteatzen da komando honekin:

$ sudo wg-quick up wg0

Xehetasun txiki bat: erabili nuen DNS zerbitzari gisa dnsmasq sareko interfaze bati lotuta br0, gailuak ere gehitu ditut wg0 baimendutako gailuen zerrendara. Dnsmasq-en hau konfigurazio fitxategiari sare-interfaze lerro berri bat gehituz egiten da /etc/dnsmasq.conf, adibidez:

interface=br0
interface=wg0

Gainera, iptable arau bat gehitu dut UDP entzuteko ataka (51280) trafikoa baimentzeko:

$ sudo iptables -I INPUT -p udp --dport 51820 -j ACCEPT

Orain dena funtzionatzen ari denez, VPN tunelaren abiarazte automatikoa konfigura dezakegu:

$ sudo systemctl enable wg-quick@wg0.service

Bezeroaren konfigurazioa ordenagailu eramangarrian

Sortu konfigurazio fitxategi bat ordenagailu eramangarri batean /etc/wireguard/wg0.conf ezarpen berdinekin:

[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:51820

Oharrak:

  • Edgewalker-en ordez IP publikoa edo VPN zerbitzariaren ostalaria zehaztu behar duzu
  • Ezarriz AllowedIPs on 10.200.200.0/24, VPN barne sarera sartzeko bakarrik erabiltzen dugu. Beste IP helbide/zerbitzari guztietarako trafikoak kanal ireki "normal"etatik igarotzen jarraituko du. Aurrez konfiguratutako DNS zerbitzaria ere erabiliko du ordenagailu eramangarrian.

Proba egiteko eta abiarazte automatikorako komando berdinak erabiltzen ditugu wg-quick и systemd:

$ sudo wg-quick up wg0
$ sudo systemctl enable wg-quick@wg0.service

Bezeroa konfiguratzen Android-telefonoa

Telefonoz Android Oso antzeko konfigurazio fitxategi bat sortzen dugu (deituko diogu 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

Ordenagailu eramangarriaren konfigurazioa ez bezala, telefonoak gure VPN zerbitzaria erabili behar du DNS zerbitzari gisa (linea DNS), eta trafiko guztia VPN tuneletik pasatzea ere (AllowedIPs = 0.0.0.0/0).

Fitxategia zure gailu mugikorrean kopiatu beharrean, QR kode batera bihur dezakezu:

$ sudo apt install qrencode
$ qrencode -t ansiutf8 < mobile.conf

QR kodea ASCII gisa bidaliko da kontsolara. Aplikaziotik eskaneatu daiteke. Android VPN eta automatikoki konfiguratu VPN tunela.

Irteera

doikuntza WireGuard besterik gabe magikoa da, honekin alderatuta OpenVPN.

Iturria: www.habr.com

Erosi hosting fidagarria DDoS babesa duten guneetarako, VPS VDS zerbitzariak 🔥 Erosi webguneentzako ostatu fidagarria DDoS babesarekin, VPS VDS zerbitzariak | ProHoster