Sadə VPN qurmaqla WireGuard və Raspberry Pi server kimi

Çünki WireGuard hissəsi olmaq gələcək nüvə Linux 5.6 versiyasında bu VPN-i mənimlə necə ən yaxşı şəkildə birləşdirəcəyimi görməyə qərar verdim Raspberry Pi-də LTE Router/Access Point.

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

  • LTE modulu və ictimai IP ilə Raspberry Pi 3. VPN serveri olacaq (bundan sonra kənar gəzən)
  • Telefon aktivdir Android, bütün rabitə üçün VPN istifadə etməlidir
  • Laptop Linux, yalnız şəbəkə daxilində VPN istifadə etməlidir

VPN-ə qoşulan hər bir cihaz hər bir digər cihaza qoşula bilməlidir. Məsələn, hər iki cihaz VPN şəbəkəsinin bir hissəsidirsə, telefon noutbukda veb serverə qoşula bilməlidir. Quraşdırma kifayət qədər sadədirsə, o zaman VPN və masaüstünə (Ethernet vasitəsilə) qoşulmaq barədə düşünə bilərsiniz.

Nəzərə alsaq ki, simli və simsiz bağlantılar zaman keçdikcə daha az təhlükəsiz olur (hədəflənmiş hücumlar, KRACK WPA2 haker hücumu и WPA3-ə qarşı əjdaha qanı hücumu), istifadə etməyi ciddi şəkildə düşünürəm WireGuard hansı mühitdə işləmələrindən asılı olmayaraq, bütün cihazlarım üçün.

Proqram təminatı

WireGuard təmin edir əvvəlcədən tərtib edilmiş paketlər əksər paylanmalar üçün Linux, Windows и macOSMüraciətlər Android və iOS tətbiq mağazaları vasitəsilə çatdırılır.

Ən son Fedora məndə var Linux 31-ci versiyanı yüklədim və quraşdırmadan əvvəl təlimatı oxumağa tənbəllik etdim. Paketləri yeni tapdım. wireguard-tools, onları quraşdırdı və sonra heç nəyin niyə işləmədiyini başa düşə bilmədi. Sonrakı araşdırma nəticəsində məlum oldu ki, məndə paket quraşdırılmayıb wireguard-dkms (şəbəkə sürücüsü ilə) və mənim paylamamın deposunda deyildi.

Təlimatları oxusaydım, düzgün addımlar alardım:

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

Raspberry Pi-də Raspbian Buster paylanması quraşdırılıb, artıq paket var wireguard, quraşdırın:

$ sudo apt install wireguard

Telefonda Android Tətbiqi quraşdırdım WireGuard VPN Google App Store-un rəsmi kataloqundan.

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

Düyünləri təsdiqləmək üçün Wireguard VPN qovşaqlarını təsdiqləmək üçün sadə bir gizli/açıq açar sxemindən istifadə edir. Aşağıdakı əmrlə VPN açarlarını 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. Biz konfiqurasiyadakı fayllara istinad etməyəcəyik, lakin məzmunu buraya köçürün: hər bir düymə base64-də bir sətirdir.

VPN Server üçü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 = <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

Bir neçə qeyd:

  • Müvafiq yerlərdə düymələri olan fayllardan sətirləri daxil etməlisiniz
  • Mənim VPN daxili diapazondan istifadə edir 10.200.200.0/24
  • Komandalar üçün PostUp/PostDown Mənim wwan0 xarici şəbəkə interfeysim var, sizdə fərqli ola bilər (məsələn, eth0)

VPN şəbəkəsi asanlıqla aşağıdakı əmrlə gündəmə gətirilir:

$ sudo wg-quick up wg0

Kiçik bir detal: DNS server kimi istifadə etdim dnsmasq şəbəkə interfeysinə qoşulur br0, mən də cihazlar əlavə etdim wg0 icazə verilən cihazların siyahısına. Dnsmasq-da bu, konfiqurasiya faylına şəbəkə interfeysi ilə yeni sətir əlavə etməklə həyata keçirilir /etc/dnsmasq.conf, məsələn:

interface=br0
interface=wg0

Həmçinin, dinləyən UDP portuna (51280) trafikə icazə vermək üçün iptable qaydası əlavə etdim:

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

İndi hər şey işləyir, biz VPN tunelinin avtomatik işə salınmasını qeyd edə bilərik:

$ sudo systemctl enable wg-quick@wg0.service

Laptop müştəri konfiqurasiyası

Laptopda konfiqurasiya faylı yaradın /etc/wireguard/wg0.conf eyni parametrlərlə:

[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

Qeydlər:

  • Edgewalker əvəzinə ictimai IP və ya VPN server hostunu təyin etməlisiniz
  • Ayarlayaraq AllowedIPs haqqında 10.200.200.0/24, biz yalnız daxili şəbəkəyə daxil olmaq üçün VPN-dən istifadə edirik. Bütün digər IP ünvanlara/serverlərə trafik “müntəzəm” açıq kanallar vasitəsilə davam edəcək. Laptopda əvvəlcədən konfiqurasiya edilmiş DNS serveri də istifadə olunacaq.

Test və avtomatik işə salmaq üçün eyni əmrlərdən istifadə edirik wg-quick и systemd:

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

Müştərinin qurulması Android-telefon

Telefon üçün Android Biz çox oxşar bir konfiqurasiya faylı yaradırıq (gəlin onu adlandıraq) 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

Laptop konfiqurasiyasından fərqli olaraq, telefon VPN serverimizi DNS serveri kimi istifadə etməlidir (string DNS), həmçinin bütün trafiki VPN tunelindən keçir (AllowedIPs = 0.0.0.0/0).

Faylı mobil cihazınıza köçürmək əvəzinə onu QR koda çevirə bilərsiniz:

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

QR kodu konsola ASCII olaraq çıxarılacaq. Tətbiqdən skan edilə bilər. Android VPN-i aktivləşdirin və VPN tunelini avtomatik olaraq konfiqurasiya edin.

Buraxılış

nizamlama WireGuard müqayisədə sadəcə sehrli OpenVPN.

Mənbə: www.habr.com

DDoS mühafizəsi, VPS VDS serverləri olan saytlar üçün etibarlı hostinq alın 🔥 DDoS qorunması, VPS VDS serverləri ilə etibarlı veb sayt hostinqi alın | ProHoster