WireGuard şəbəkə nüvəsinin gələcəyinə bir hissə olacaq, bu VPN-i .
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 (, və ), 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 ə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 wireguardAndroid telefonumda isə 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.keyBu, 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/32Bir 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/PostDownmə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=wg0Bundan ə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.serviceLaptopda 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ırQeydlə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ə edirikbuna10.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ı və systemd:
Android telefon üçün çox oxşar konfiqurasiya faylı yaradırıq (bunu adlandıraqmobile.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
