Nyetél VPN saderhana nganggo WireGuard sareng Raspberry Pi salaku server

siga WireGuard bakal jadi bagian inti ka hareup Linux 5.6, kuring mutuskeun pikeun ningali kumaha cara anu pangsaéna pikeun ngahijikeun VPN ieu sareng LTE router / titik aksés dina buah prambus Pi.

pakakas

  • Raspberry Pi 3 kalayan modul LTE sareng alamat IP umum. Bakal aya server VPN di dieu (saterusna dina téks disebut edgewalker)
  • Telepon hurung Android, anu kedah nganggo VPN pikeun sadaya komunikasi
  • catetan leutik Linux, anu ngan ukur kedah nganggo VPN dina jaringan

Unggal alat anu nyambung ka VPN kedah tiasa nyambung ka sadaya alat anu sanés. Salaku conto, telepon kedah tiasa nyambung ka pangladén wéb dina laptop upami kadua alat éta bagian tina jaringan VPN. Upami setelanna rada saderhana, maka anjeun tiasa mikir ngeunaan nyambungkeun desktop kana VPN (via Ethernet).

Nganggap yén sambungan kabel sareng nirkabel janten kirang aman dina waktosna (serangan sasaran, serangan cracking KRACK WPA2 и serangan Dragonblood ngalawan WPA3), kuring serius ngémutan ngagunakeun WireGuard pikeun sadaya alat kuring, naon waé lingkungan anu dianggo.

Pamasangan parangkat lunak

WireGuard nyayogikeun bungkusan precompiled pikeun kalolobaan distribusi Linux, Windows и macOSAplikasi pikeun Android sareng iOS dikirimkeun ngalangkungan toko aplikasi.

Abdi gaduh Fedora pangénggalna Linux 31, sareng sateuacan dipasang kuring males maca manualna. Kuring kakara mendakan pakétna. wireguard-tools, dipasang aranjeunna, lajeng teu bisa angka kaluar naha nanaon ieu jalan. Panaliti salajengna ngungkabkeun yén kuring henteu gaduh pakét dipasang wireguard-dkms (kalayan supir jaringan), tapi teu aya dina gudang distribusi kuring.

Upami kuring parantos maca petunjukna, kuring bakal nyandak léngkah anu leres:

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

Abdi gaduh distribusi Raspbian Buster anu dipasang dina Raspberry Pi kuring, parantos aya pakét wireguard, pasang:

$ sudo apt install wireguard

Dina telepon Android Kuring geus masang aplikasi éta WireGuard VPN ti katalog Google App Store resmi.

Pamasangan konci

Pikeun ngaoténtikasi node Wireguard Ngagunakeun skéma konci pribadi/publik anu saderhana pikeun ngaoténtikasi node VPN. Anjeun tiasa sacara gampil ngahasilkeun konci VPN nganggo paréntah ieu:

$ 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

Ieu masihan urang tilu pasangan konci (genep file). Kami moal ngarujuk kana file dina konfigurasi, tapi nyalin eusina di dieu: unggal konci mangrupikeun hiji garis dina base64.

Nyiptakeun file konfigurasi pikeun server VPN (Raspberry Pi)

Konfigurasi anu cukup basajan, Kuring dijieun file handap /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

Sababaraha catetan:

  • Di tempat anu pas anjeun kedah nyelapkeun garis tina file nganggo konci
  • VPN abdi nganggo pita internal 10.200.200.0/24
  • Pikeun tim PostUp/PostDown Abdi gaduh antarmuka jaringan éksternal wwan0, anjeun tiasa gaduh anu béda (contona, eth0)

Jaringan VPN gampang diangkat ku paréntah di handap ieu:

$ sudo wg-quick up wg0

Hiji jéntré leutik: salaku server DNS I dipaké dnsmasq dihijikeun ka panganteur jaringan br0, Kuring ogé ditambahkeun alat wg0 kana daptar alat anu diidinan. Dina dnsmasq ieu dilakukeun ku nambahkeun garis panganteur jaringan anyar kana file konfigurasi /etc/dnsmasq.confContona:

interface=br0
interface=wg0

Salaku tambahan, kuring nambihan aturan iptable pikeun ngijinkeun lalu lintas kana port déngékeun UDP (51280):

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

Ayeuna sadayana berpungsi, urang tiasa nyetél peluncuran otomatis torowongan VPN:

$ sudo systemctl enable wg-quick@wg0.service

Konfigurasi klien dina laptop

Jieun file konfigurasi dina laptop /etc/wireguard/wg0.conf kalayan setélan anu sami:

[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

Katerangan:

  • Gantina edgewalker anjeun kedah netepkeun IP umum atanapi host server VPN
  • Sanggeus dipasang AllowedIPs dina 10.200.200.0/24, urang ngan ngagunakeun VPN pikeun ngakses jaringan internal. Lalu lintas ka sadaya alamat / server IP anu sanés bakal terus ngalangkungan saluran terbuka "normal". Éta ogé bakal nganggo server DNS anu tos dikonpigurasi dina laptop.

Pikeun nguji sareng peluncuran otomatis kami nganggo paréntah anu sami wg-quick и systemd:

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

Nyetél klien pikeun Android-telepon

Pikeun telepon Android Urang nyieun file konfigurasi anu sarupa pisan (urang sebut waé 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

Beda sareng konfigurasi dina laptop, telepon kedah nganggo server VPN kami salaku pangladén DNS (line DNS), sareng ogé ngalangkungan sadaya lalu lintas ngalangkungan torowongan VPN (AllowedIPs = 0.0.0.0/0).

Gantina nyalin file kana alat sélulér anjeun, anjeun tiasa ngarobih kana kode QR:

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

Kode QR bakal dikaluarkeun ka konsol salaku ASCII. Éta tiasa di-scan tina aplikasi. Android VPN sareng ngonpigurasikeun torowongan VPN sacara otomatis.

kacindekan

carana ngatur WireGuard ngan saukur magis dibandingkeun sareng OpenVPN.

sumber: www.habr.com

Mésér hosting anu dipercaya pikeun situs anu gaduh panyalindungan DDoS, server VPS VDS 🔥 Meser hosting situs wéb anu tiasa dipercaya nganggo panyalindungan DDoS, server VPS VDS | ProHoster