ቀላል ቪፒኤን በWireGuard እና Raspberry Pi እንደ አገልጋይ ያዋቅሩ

ከ WireGuard ጀምሮ አካል መሆን የወደፊቱ የሊኑክስ 5.6 ከርነል፣ ይህን ቪፒኤን ከእኔ ጋር እንዴት በተሻለ መልኩ ማዋሃድ እንዳለብኝ ለማየት ወሰንኩ። በ Raspberry Pi ላይ LTE ራውተር/መዳረሻ ነጥብ.

መሣሪያዎች

  • Raspberry Pi 3 ከ LTE ሞጁል እና ይፋዊ አይፒ ጋር። የቪፒኤን አገልጋይ ይኖራል (ከዚህ በኋላ ይባላል የጠርዝ ተጓዥ)
  • ለሁሉም ግንኙነቶች VPN መጠቀም ያለበት አንድሮይድ ስልክ
  • ቪፒኤን በኔትወርኩ ውስጥ ብቻ መጠቀም ያለበት ሊኑክስ ላፕቶፕ

ከቪፒኤን ጋር የሚገናኝ እያንዳንዱ መሳሪያ ከሌላው መሳሪያ ጋር መገናኘት መቻል አለበት። ለምሳሌ ሁለቱም መሳሪያዎች የቪፒኤን ኔትወርክ አካል ከሆኑ ስልክ በላፕቶፕ ላይ ካለው የድር አገልጋይ ጋር መገናኘት መቻል አለበት። ማዋቀሩ በቂ ቀላል ከሆነ ከቪፒኤን እና ከዴስክቶፕ (በኤተርኔት በኩል) ስለመገናኘት ማሰብ ይችላሉ።

ባለገመድ እና ሽቦ አልባ ግንኙነቶች ከጊዜ ወደ ጊዜ ደህንነታቸው እየቀነሰ መምጣቱን ከግምት ውስጥ በማስገባት (ያነጣጠሩ ጥቃቶች, KRACK WPA2 የጠለፋ ጥቃት и የድራጎን ደም ጥቃት WPA3 ላይ) በማንኛውም አካባቢ ውስጥ ቢሆኑም ለሁሉም መሣሪያዎቼ WireGuard ን ለመጠቀም በቁም ነገር እያሰብኩ ነው።

የሶፍትዌር ጭነት

WireGuard ያቀርባል አስቀድሞ የተጠናቀሩ ጥቅሎች ለአብዛኛዎቹ ሊኑክስ፣ ዊንዶውስ እና ማክሮስ ስርጭቶች። መተግበሪያዎች ለአንድሮይድ እና አይኦኤስ የሚቀርቡት በመተግበሪያ ካታሎጎች ነው።

የቅርብ ጊዜው Fedora Linux 31 አለኝ እና ከመጫንዎ በፊት መመሪያውን ለማንበብ በጣም ሰነፍ ነበርኩ። ጥቅሎቹን ብቻ አገኘሁ wireguard-tools, ተጭኗቸው እና ከዚያ ምንም ነገር የማይሰራበትን ምክንያት ማወቅ አልቻለም. ተጨማሪ ምርመራ እንደሚያሳየው ፓኬጁ አልተጫነም wireguard-dkms (ከኔትወርክ ሾፌር ጋር)፣ እና በስርጭቴ ማከማቻ ውስጥ አልነበረም።

መመሪያዎቹን ባነበብኩ ኖሮ ትክክለኛውን እርምጃ እወስድ ነበር፡-

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

በእኔ Raspberry Pi ላይ የ Raspbian Buster ስርጭት ተጭኗል፣ አስቀድሞ ጥቅል አለ። wireguardጫን፡-

$ sudo apt install wireguard

መተግበሪያውን በአንድሮይድ ስልኬ ላይ ጫንኩት WireGuardVPN ከ Google መተግበሪያ መደብር ኦፊሴላዊ ካታሎግ።

ቁልፎችን በመጫን ላይ

አንጓዎችን ለማረጋገጥ Wireguard የቪፒኤን ኖዶችን ለማረጋገጥ ቀላል የግል/የወል ቁልፍ እቅድ ይጠቀማል። በሚከተለው ትዕዛዝ በቀላሉ የ VPN ቁልፎችን መፍጠር ይችላሉ፡

$ 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

ይህ ሶስት ቁልፍ ጥንዶች (ስድስት ፋይሎች) ይሰጠናል. እኛ በማዋቀር ውስጥ ያሉ ፋይሎችን አንጠቅስም ፣ ግን ይዘቱን እዚህ ይቅዱ ፣ እያንዳንዱ ቁልፍ በ base64 ውስጥ አንድ መስመር ነው።

ለቪፒኤን አገልጋይ (Raspberry Pi) የማዋቀሪያ ፋይል መፍጠር

አወቃቀሩ በጣም ቀላል ነው, የሚከተለውን ፋይል ፈጠርኩ /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

ሁለት ማስታወሻዎች፡-

  • በተገቢው ቦታዎች ላይ መስመሮችን ከፋይሎች ቁልፎች ጋር ማስገባት ያስፈልግዎታል
  • የእኔ VPN የውስጥ ክልልን እየተጠቀመ ነው። 10.200.200.0/24
  • ለቡድኖች PostUp/PostDown የውጪ አውታረ መረብ በይነገጽ አለኝ wwan0፣ የተለየ ሊኖርዎት ይችላል (ለምሳሌ፣ eth0)

የቪፒኤን አውታረመረብ በሚከተለው ትዕዛዝ በቀላሉ ይመጣል።

$ sudo wg-quick up wg0

አንድ ትንሽ ዝርዝር፡ እንደ ዲ ኤን ኤስ አገልጋይ ተጠቀምኩኝ። dnsmasq ከአውታረ መረብ በይነገጽ ጋር ተገናኝቷል br0፣ መሳሪያዎችንም ጨምሬያለሁ wg0 ወደ የተፈቀዱ መሳሪያዎች ዝርዝር. በ dnsmasq ውስጥ, ይህ ከአውታረ መረብ በይነገጽ ጋር አዲስ መስመር ወደ ውቅር ፋይል በማከል ይከናወናል /etc/dnsmasq.conf, ለምሳሌ:

interface=br0
interface=wg0

እንዲሁም፣ ወደ ማዳመጥ UDP ወደብ (51280) ትራፊክ ለመፍቀድ ipable ህግ አክያለሁ፡-

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

አሁን ሁሉም ነገር እየሰራ ስለሆነ የቪፒኤን ዋሻው አውቶማቲክ ማስጀመር መመዝገብ እንችላለን፡-

$ sudo systemctl enable [email protected]

የላፕቶፕ ደንበኛ ውቅር

በላፕቶፑ ላይ, የማዋቀሪያ ፋይል ይፍጠሩ /etc/wireguard/wg0.conf ከተመሳሳዩ ቅንብሮች ጋር:

[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

ማስታወሻዎች

  • ከጠርዝ ዎከር ይልቅ፣ ይፋዊ የአይፒ ወይም የቪፒኤን አገልጋይ አስተናጋጅ መግለጽ ያስፈልግዎታል
  • በማቀናበር AllowedIPs ላይ 10.200.200.0/24የውስጥ አውታረ መረብን ለማግኘት ቪፒኤንን ብቻ እንጠቀማለን። ወደ ሌሎች የአይፒ አድራሻዎች/ሰርቨሮች የሚደረገው ትራፊክ በ"መደበኛ" ክፍት ቻናሎች ውስጥ ማለፍ ይቀጥላል። በላፕቶፑ ላይ አስቀድሞ የተዋቀረው የዲ ኤን ኤስ አገልጋይም ጥቅም ላይ ይውላል።

ለሙከራ እና አውቶማቲክ ማስጀመር, ተመሳሳይ ትዕዛዞችን እንጠቀማለን wg-quick и systemd:

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

በአንድሮይድ ስልክ ላይ ደንበኛን ማዋቀር

ለአንድሮይድ ስልክ፣ በጣም ተመሳሳይ የሆነ የውቅር ፋይል እንፈጥራለን (እንጥራው። 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

እንደ ላፕቶፕ አወቃቀሩ ስልኩ የኛን የቪፒኤን አገልጋይ እንደ ዲ ኤን ኤስ አገልጋይ (string DNS), እንዲሁም ሁሉንም ትራፊክ በቪፒኤን ዋሻ ውስጥ ማለፍ (AllowedIPs = 0.0.0.0/0).

ፋይሉን ወደ ተንቀሳቃሽ መሳሪያዎ ከመቅዳት ይልቅ ወደ QR ኮድ መቀየር ይችላሉ፡-

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

የQR ኮድ እንደ ASCII ወደ ኮንሶሉ ይወጣል። ከአንድሮይድ ቪፒኤን መተግበሪያ ይቃኝ እና የቪፒኤን መሿለኪያ በራስ ሰር ማዋቀር ይችላል።

መደምደሚያ

WireGuard ማዋቀር ከOpenVPN ጋር ሲወዳደር አስማታዊ ነው።

ምንጭ: hab.com

አስተያየት ያክሉ