Ji ber ku WireGuard 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 .
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 (, и ), 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 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 wireguardBi têlefonê Android Min serîlêdan saz kir 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.keyEv 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/PostDownMin 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=wg0Wekî 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 ACCEPTNaha ku her tişt dixebite, em dikarin destpêkirina otomatîkî ya tunela VPN saz bikin:
$ sudo systemctl enable wg-quick@wg0.serviceVeavakirina 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:51820Notes:
- Li şûna edgewalker hûn hewce ne ku mêvandarê servera IP-ya gelemperî an VPN-ê diyar bikin
- Bi danîna
AllowedIPsli ser10.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.serviceSazkirina 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.confKoda 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
