Stèidhich VPN sìmplidh le WireGuard agus Raspberry Pi mar fhrithealaiche

Air sgàth WireGuard a bhith mar phàirt de den kernel Linux 5.6 san àm ri teachd, chuir mi romham faicinn an dòigh as fheàrr air an VPN seo fhilleadh a-steach le mo chuid Router LTE / Puing Ruigsinneachd air Raspberry Pi.

Uidheam

  • Raspberry Pi 3 le modal LTE agus IP poblach. Bidh frithealaiche VPN ann (air an ainmeachadh an-seo mar coisiche)
  • Fòn Android a dh’ fheumas VPN a chleachdadh airson a h-uile conaltradh
  • Linux laptop a dh'fheumas VPN a chleachdadh a-mhàin taobh a-staigh an lìonra

Feumaidh a h-uile inneal a tha a’ ceangal ri VPN a bhith comasach air ceangal ris a h-uile inneal eile. Mar eisimpleir, bu chòir gum biodh e comasach dha fòn ceangal ri frithealaiche lìn air laptop ma tha an dà inneal mar phàirt de lìonra VPN. Ma tha an suidheachadh sìmplidh gu leòr, faodaidh tu smaoineachadh air ceangal ri VPN agus deasg (tro Ethernet).

Leis gu bheil ceanglaichean uèirleas is uèirleas a’ fàs nas tèarainte thar ùine (ionnsaighean cuimsichte, KRACK WPA2 Hacking ionnsaigh и Dragonblood ionnsaigh an aghaidh WPA3), Tha mi gu mòr a’ beachdachadh air WireGuard a chleachdadh airson na h-innealan agam gu lèir, ge bith dè an àrainneachd anns a bheil iad a’ ruith.

Stàladh bathar-bog

Tha WireGuard a’ toirt seachad pacaidean ro-ullaichte airson a’ mhòr-chuid de sgaoilidhean Linux, Windows agus macOS. Tha aplacaidean airson Android agus iOS air an lìbhrigeadh tro chatalogan app.

Tha am Fedora Linux 31 as ùire agam agus bha mi ro leisg an leabhar-làimhe a leughadh mus do chuir mi a-steach e. Dìreach lorg na pacaidean wireguard-tools, chuir iad a-steach iad, agus an uairsin cha b 'urrainn dhomh a-mach carson nach robh dad ag obair. Nochd tuilleadh sgrùdaidh nach robh am pasgan agam air a chuir a-steach wireguard-dkms (le dràibhear lìonra), agus cha robh e ann an stòr mo chuairteachadh.

Nam biodh mi air an stiùireadh a leughadh, bhithinn air na ceumannan ceart a ghabhail:

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

Tha an cuairteachadh Buster Raspbian agam air a chuir a-steach air mo Raspberry Pi, tha pasgan ann mu thràth wireguard, stàlaich e:

$ sudo apt install wireguard

Stàlaich mi an aplacaid air mo fòn Android WireGuardVPN bho chatalog oifigeil Google App Store.

Stàladh iuchraichean

Gus nodan a dhearbhadh, bidh Wireguard a’ cleachdadh sgeama iuchair phrìobhaideach / phoblach sìmplidh gus nodan VPN a dhearbhadh. Is urrainn dhut iuchraichean VPN a chruthachadh gu furasta leis an àithne a leanas:

$ 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

Bheir seo dhuinn trì prìomh chàraidean (sia faidhlichean). Cha toir sinn iomradh air faidhlichean ann an configs, ach dèan lethbhreac den t-susbaint an seo: tha gach iuchair mar aon loidhne ann am base64.

A’ cruthachadh faidhle rèiteachaidh airson frithealaiche VPN (Raspberry Pi)

Tha an rèiteachadh gu math sìmplidh, chruthaich mi am faidhle a leanas /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

Nota no dhà:

  • Anns na h-àiteachan iomchaidh feumaidh tu na loidhnichean a chuir a-steach bho na faidhlichean leis na h-iuchraichean
  • Tha an VPN agam a’ cleachdadh raon a-staigh 10.200.200.0/24
  • Airson sgiobaidhean PostUp/PostDown Tha eadar-aghaidh lìonra taobh a-muigh agam wwan0, is dòcha gu bheil fear eile agad (mar eisimpleir, eth0)

Tha an lìonra VPN air a thogail gu furasta leis an àithne a leanas:

$ sudo wg-quick up wg0

Aon mhion-fhiosrachadh beag: mar fhrithealaiche DNS, chleachd mi dnsmasq ceangailte ri eadar-aghaidh lìonra br0, chuir mi innealan ris cuideachd wg0 gu liosta nan innealan ceadaichte. Ann an dnsmasq, thèid seo a dhèanamh le bhith a’ cur loidhne ùr leis an eadar-aghaidh lìonra ris an fhaidhle rèiteachaidh /etc/dnsmasq.confmar eisimpleir:

interface=br0
interface=wg0

Cuideachd, chuir mi riaghailt iptable ris gus trafaic a cheadachadh don phort èisteachd UDP (51280):

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

A-nis gu bheil a h-uile càil ag obair, is urrainn dhuinn foillseachadh fèin-ghluasadach an tunail VPN a chlàradh:

$ sudo systemctl enable [email protected]

Suidheachadh neach-dèiligidh laptop

Air an laptop, cruthaich faidhle rèiteachaidh /etc/wireguard/wg0.conf leis na h-aon shuidheachaidhean:

[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

Notaichean:

  • An àite edgewalker, feumaidh tu IP poblach no aoigheachd frithealaiche VPN a shònrachadh
  • Le bhith a ’suidheachadh AllowedIPs air 10.200.200.0/24, cha bhith sinn a’ cleachdadh ach an VPN gus faighinn chun lìonra a-staigh. Leanaidh trafaic gu gach seòladh IP / frithealaiche eile a’ dol tro shianalan fosgailte “cunbhalach”. Thèid am frithealaiche DNS ro-shuidhichte air an laptop a chleachdadh cuideachd.

Airson deuchainn agus cur air bhog fèin-ghluasadach, bidh sinn a’ cleachdadh na h-aon òrdughan wg-quick и systemd:

$ sudo wg-quick up wg0
$ sudo systemctl enable [email protected]

A 'stèidheachadh neach-dèiligidh air fòn Android

Airson fòn Android, bidh sinn a’ cruthachadh faidhle rèiteachaidh glè choltach (canaidh sinn e 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

Eu-coltach ri rèiteachadh an laptop, bu chòir don fhòn ar frithealaiche VPN a chleachdadh mar an t-seirbheisiche DNS aige (sreang DNS), a bharrachd air a dhol seachad air a h-uile trafaic tron ​​​​tunail VPN (AllowedIPs = 0.0.0.0/0).

An àite am faidhle a chopaigeadh chun inneal gluasadach agad, faodaidh tu a thionndadh gu còd QR:

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

Thèid an còd QR a chuir a-mach chun consol mar ASCII. Faodar a sganadh bhon app Android VPN agus tunail VPN a stèidheachadh gu fèin-ghluasadach.

co-dhùnadh

Tha stèidheachadh WireGuard dìreach draoidheil an taca ri OpenVPN.

Source: www.habr.com

Cuir beachd ann