Çünki WireGuard 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 .
Оборудование
- 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 (, и ), 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 ə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 wireguardTelefonda Android Tətbiqi quraşdırdım 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.keyBu 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/32Bir 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/PostDownMə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=wg0Hə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.serviceLaptop 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:51820Qeydlər:
- Edgewalker əvəzinə ictimai IP və ya VPN server hostunu təyin etməlisiniz
- Ayarlayaraq
AllowedIPshaqqında10.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.serviceMüş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.confQR 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
