WireGuard ilə Raspberry Pi-ni server kimi istifadə edərək sadə bir VPN qururuq

WireGuard Linux 5.6-dakı şəbəkə nüvəsinin gələcəyinə bir hissə olacaq, bu VPN-i Raspberry Pi LTE yönləndiricimlə / hotspotumla necə inteqrasiya edəcəyimə baxmağa qərar verdim..

Avadanlıq

  • LTE modulu və ictimai IP ünvanı olan Raspberry Pi 3. Burada VPN serveri olacaq (məsələn, edgewalker)
  • Android telefon, bütün kommunikasiya üçün VPN istifadə etməlidir
  • Linux laptop, VPN-i yalnız şəbəkə daxilində istifadə etməlidir

VPN-ə qoşulan hər bir cihaz digər bütün cihazlara qoşulmaq imkanı olmalıdır. Məsələn, telefon laptopdakı veb serverinə qoşula bilməlidir, əgər hər iki cihaz VPN şəbəkəsinin bir hissəsidirsə. Konfiqurasiya kifayət qədər sadə olarsa, Ethernet vasitəsilə masa üstünü VPN-a qoşmağı düşünə bilərik.

İnformasiya verin ki, vaxt keçdikcə kabel və simsiz bağlantılar daha az təhlükəsiz hala gəlir (məqsədli hücumlar, WPA2-ni qırmaq üçün KRACK hücumuWPA3-ə qarşı Dragonblood hücumu), mən WireGuard istifadəsini bütün cihazlarım üçün ciddi şəkildə düşünürəm, hansı mühitdə olursa olsun.

Proqram təminatının quraşdırılması

WireGuard təmin edir əvvəlcədən hazırlanmış paketlər əksər Linux, Windows və macOS paylamaları üçün. Android və iOS tətbiqləri tətbiq kataloqlarından təqdim edilir.

Mənim son Fedora Linux 31 var, və quraşdırmadan əvvəl təlimatı okumaq istəmədim. Sadəcə paketləri tapdım wireguard-tools, onları quraşdırdım, sonra isə heç bir şeyin işləmədiyini anlamadım. Dərin təhlil göstərdi ki, mənim sistemimdə yoxdur wireguard-dkms (şəbəkə sürücüsü), və bu, mənim paylama repository-ımda yox idi.

Təlimatı oxusaydım, düzgün addımları atardım:

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

Raspberry Pi-da mən Raspbian Buster paylamasını istifadə edirəm, burada artıq paket var wireguard, onu quraşdırırıq:

$ sudo apt install wireguard

Android telefonumda isə WireGuard VPN rəsmi Google App Store kataloğundan quraşdırdım.

Açarların quraşdırılması

WireGuard düyünlərinin autentifikasiyası üçün sadə bir açar/pul açar sxeması istifadə edir. VPN açarlarını aşağıdakı əmrlə asanlıqla yarada bilərsiniz:

$ 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

Bu, bizə üç açar cütü (altı fayl) verir. Konfiqurasiyalarda fayllara işarə etməyəcəyik, əvəzinə burada məzmunu kopyalayacağıq: hər açar bir sətirdir, base64 formatındadır.

VPN serveri üçün konfiqurasiya faylının yaradılması (Raspberry Pi)

Konfiqurasiya olduqca sadədir, mən aşağıdakı faylı yaratdım. /etc/wireguard/wg0.conf:

[Interface]
Address = 10.200.200.1/24
ListenPort = 51820
PrivateKey = 
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 = 
AllowedIPs = 10.200.200.2/32

[Peer]
# mobile phone
PublicKey = 
AllowedIPs = 10.200.200.3/32

Bir neçə qeyd:

  • Uyğun yerlərə açar fayllarından sətirləri əlavə etmək lazımdır
  • Mənim VPN şəbəkəm daxili diapazon istifadə edir 10.200.200.0/24
  • Komandalar üçün PostUp/PostDown mənim xarici şəbəkə interfeysimi wwan0 göstərmişəm, sizdə fərqli ola bilər (məsələn, eth0)

VPN şəbəkəsi asanlıqla aşağıdakı əmri ilə işə düşür:

$ sudo wg-quick up wg0

Bir kiçik detal: DNS serveri olaraq dnsmasq şəbəkə interfeysinə bağlanmış br0, mən həmçinin cihazları əlavə etdim wg0 icazə verilən cihazların siyahısına. dnsmasq-da bunu konfiqurasiya faylında şəbəkə interfeysi ilə yeni sətir əlavə etməklə edirik /etc/dnsmasq.conf, məsələn:

interface=br0
interface=wg0

Bundan əlavə, UDP dinləmə limanı (51280) üçün trafik icazəsi verən iptable qaydası əlavə etdim:

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

İndi hər şey işlədikdə, VPN tunelinin avtomatik işə salınmasını yaza bilərik:

$ sudo systemctl enable wg-quick@wg0.service

Laptopda müştəri konfiqurasiyası

Laptopda eyni parametrlərlə konfiqurasiya faylı yaradırıq: /etc/wireguard/wg0.conf [Interface] Address = 10.200.200.2/24 PrivateKey =[Peer] PublicKey = AllowedIPs = 10.200.200.0/24 Endpoint = edgewalker:51820

edgewalker-in yerinə VPN serverinin açıq IP-sini və ya hostunu göstərmək lazımdır

Qeydlər:

  • AllowedIPs-i təyin etdikdə
  • , yalnız daxili şəbəkəyə daxil olmaq üçün VPN-dən istifadə edirik. Bütün digər IP ünvanlarına/serverlərə trafik hələ də "adi" açıq kanallar üzərindən gedəcək. Laptopda əvvəlcədən qurulmuş DNS serveri də istifadə ediləcək. Test etmə və avtomatik işə salma üçün eyni komandaları istifadə edirik buna 10.200.200.0/24wg-quick

$ sudo wg-quick up wg0 $ sudo systemctl enable wg-quick@wg0.service Android telefonunda müştəri quraşdırmasısystemd:

Android telefon üçün çox oxşar konfiqurasiya faylı yaradırıq (bunu adlandıraq

mobile.conf

[Interface] Address = 10.200.200.3/24 PrivateKey = DNS = 10.200.200.1 [Peer] PublicKey = AllowedIPs = 0.0.0.0/0 Endpoint = edgewalker:51820 Laptopdakı konfiqurasiyadan fərqli olaraq, telefon bizim VPN serverimizi DNS serveri kimi istifadə etməlidir (sətir):

), həmçinin bütün trafik VPN tuneli vasitəsilə keçməlidir (

AllowedIPs = 0.0.0.0/0 DNSFaylı mobil qurğuya köçürmək əvəzinə, onu QR-koda çevirə bilərsiniz:$ sudo apt install qrencode $ qrencode -t ansiutf8 < mobile.conf).

QR kodu konsolda ASCII kimi görünəcək. Onu Android VPN tətbiqindən skan edə bilərsiniz və VPN tunelini avtomatik olaraq konfiqurasiya edə bilərsiniz.

WireGuard ilə konfiqurasiya etmək, OpenVPN ilə müqayisədə sadəcə sehrdir.

TFC layihəsi, paranoyak şəkildə qorunan mesajlaşma sistemini inkişaf etdirməkdədir

Çıktı

WireGuard Linux 5.6-nın gələcək nüvəsində yer alacağına görə, bu VPN-i necə inteqrasiya etməyin ən yaxşı yolunu öyrənmək qərarına gəldim.

Mənbə: habr.com

DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər 🔥 DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər | ProHoster