VPN-ek hêsan saz bikin bi WireGuard û Raspberry Pi wekî serverek

Ji ber ku WireGuard dê bibe beşek bingeha pêşerojê Linux 5.6, min biryar da ku bibînim ka meriv çawa çêtirîn vê VPN-ê bi ya xwe re entegre dike Routera LTE / xala gihîştinê li ser Raspberry Pi.

Amûr

  • Raspberry Pi 3 bi modula LTE û navnîşana IP-ya gelemperî. Dê serverek VPN li vir hebe (li vir di nivîsê de jê re tê gotin edgewalker)
  • Telefon vekiriye Android, ku divê ji bo hemî ragihandinan VPN-ê bikar bîne
  • Laptop Linux, ku divê tenê VPN di nav torê de bikar bîne

Her amûrek ku bi VPN-ê ve girêdide divê bikaribe bi hemî amûrên din ve were girêdan. Mînakî, heke her du cîhaz beşek ji tora VPN bin, pêdivî ye ku têlefonek bikaribe bi serverek webê ya li ser laptopê ve were girêdan. Ger sazkirin pir hêsan xuya dike, wê hingê hûn dikarin li ser girêdana sermaseyê bi VPN (bi rêya Ethernet) bifikirin.

Bifikirin ku girêdanên têl û bêtêl bi demê re kêmtir û kêmtir ewledar dibin (êrîşên hedef kirin, KRACK WPA2 êrîşa qirkirinê и Êrîşa Dragonblood li dijî WPA3), Ez bi ciddî difikirim ku bikar bînim WireGuard ji bo hemî cîhazên min, bêyî ku ew tê de çi hawîrdorê dixebitin.

Sazkirina nermalavê

WireGuard peyda dike pakêtên pêşdibistanê ji bo piraniya belavkirinan Linux, Windows и macOSSerlêdanên ji bo Android û iOS bi rêya firotgehên sepanan têne radest kirin.

Min Fedora-ya herî dawî heye Linux 31, û berî sazkirinê ez pir tembel bûm ku rêbernameyê bixwînim. Min tenê pakêt dîtin. wireguard-tools, wan saz kirin, û dûv re nikarî fêhm bike ka çima tiştek naxebite. Lêpirsînek din eşkere kir ku pakêta min nehatiye saz kirin wireguard-dkms (bi ajokerek torê), lê ew ne di depoya belavkirina min de bû.

Ger min rêwerzan xwendiba, min ê gavên rast bavêta:

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

Min belavkirina Raspbian Buster li ser Raspberry Pi-ya xwe saz kiriye, jixwe pakêtek li wir heye wireguard, saz bike:

$ sudo apt install wireguard

Bi têlefonê Android Min serîlêdan saz kir WireGuard VPN ji kataloga fermî ya Google App Store.

Sazkirina keys

Ji bo rastkirina girêkan Wireguard Ji bo rastkirina girêkên VPN-ê şêmayek mifteya taybet/giştî ya hêsan bi kar tîne. Hûn dikarin bi hêsanî mifteyên VPN-ê bi fermana jêrîn çêbikin:

$ 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

Ev sê cotên keys (şeş pel) dide me. Em ê guh nedin pelên di mîhengan de, lê naverokê li vir kopî bikin: her kilîtek di base64 de yek rêz e.

Afirandina pelê vesazkirinê ji bo servera VPN (Raspberry Pi)

Veavakirin pir hêsan e, min pelê jêrîn afirand /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

Çend not:

  • Li cîhên guncan hûn hewce ne ku xetên ji pelan bi kilîtan têxin
  • VPN-ya min band hundurîn bikar tîne 10.200.200.0/24
  • Ji bo tîmên PostUp/PostDown Min pêwendiya torê ya derveyî wwan0 heye, dibe ku we yek cûda hebe (mînak, eth0)

Tora VPN bi fermana jêrîn bi hêsanî tê rakirin:

$ sudo wg-quick up wg0

Yek hûrguliyek piçûk: wekî servera DNS-ê ku min bikar anî dnsmasq bi navgînek torê ve girêdayî ye br0, Min cîhazên jî zêde kirin wg0 nav lîsteya cîhazên destûr. Di dnsmasq de ev bi lêzêdekirina xêzek nû ya bi navgîniya torê re li pelê veavakirinê tê kirin /etc/dnsmasq.conf, wek nimûne:

interface=br0
interface=wg0

Wekî din, min qaîdeyek iptable lê zêde kir da ku rê bide seyrûsefera porta guhdariya UDP (51280):

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

Naha ku her tişt dixebite, em dikarin destpêkirina otomatîkî ya tunela VPN saz bikin:

$ sudo systemctl enable wg-quick@wg0.service

Veavakirina xerîdar li ser laptopê

Li ser laptopê pelek vesazkirinê biafirînin /etc/wireguard/wg0.conf bi heman mîhengan:

[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

Notes:

  • Li şûna edgewalker hûn hewce ne ku mêvandarê servera IP-ya gelemperî an VPN-ê diyar bikin
  • Bi danîna AllowedIPs li ser 10.200.200.0/24, em tenê VPN bikar tînin ku bigihîjin tora navxweyî. Trafîka hemî navnîşanên IP-ya din / pêşkêşkerên din dê di kanalên vekirî yên "normal" re derbas bibe. Di heman demê de ew ê li ser laptopê servera DNS-ya pêş-sazkirî jî bikar bîne.

Ji bo ceribandin û destpêkirina otomatîk em heman fermanan bikar tînin wg-quick и systemd:

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

Sazkirina xerîdar ji bo Android-telefon

Ji bo telefonê Android Em pelê mîhengê pir dişibin hev diafirînin (em jê re bibêjin 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

Berevajî veavakirina li ser laptopê, pêdivî ye ku têlefon servera meya VPN wekî servera DNS bikar bîne (xêz DNS), û her weha hemî seyrûseferê di nav tunela VPN re derbas bikin (AllowedIPs = 0.0.0.0/0).

Li şûna kopîkirina pelê li ser cîhaza xweya desta, hûn dikarin wê veguherînin kodek QR:

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

Koda QR dê wekî ASCII ji konsolê re were şandin. Ew dikare ji sepanê were skankirin. Android VPN-ê saz bikin û tunela VPN-ê bixweber mîheng bikin.

encamê

ligorî WireGuard bi tenê efsûnî li gorî OpenVPN.

Source: www.habr.com

Ji bo malperên bi parastina DDoS, serverên VPS VDS mêvandariya pêbawer bikirin 🔥 Hostinga malperê ya pêbawer bi parastina DDoS, serverên VPS VDS bikirin | ProHoster