සේවාදායකයක් ලෙස WireGuard සහ Raspberry Pi සමඟ සරල VPN සැකසීම

WireGuard නිසා කොටසක් බවට පත් වනු ඇත ඉදිරියට එන Linux kernel 5.6 හි, මෙම VPN මගේ සමඟ ඒකාබද්ධ කරන්නේ කෙසේදැයි බැලීමට මම තීරණය කළෙමි. Raspberry Pi හි LTE රවුටරය/ප්‍රවේශ ස්ථානය.

උපකරණ

  • LTE මොඩියුලය සහ පොදු IP ලිපිනය සහිත Raspberry Pi 3. මෙහි VPN සේවාදායකයක් ඇත (මින් ඉදිරියට එය පෙළෙහි එය හැඳින්වේ එජ්වෝකර්)
  • සියලුම සන්නිවේදනයන් සඳහා VPN භාවිත කළ යුතු Android දුරකථනයක්
  • ජාලය තුළ පමණක් VPN භාවිතා කළ යුතු Linux ලැප්ටොප්

VPN වෙත සම්බන්ධ වන සෑම උපාංගයක්ම අනෙකුත් සියලුම උපාංග වෙත සම්බන්ධ වීමට හැකි විය යුතුය. උදාහරණයක් ලෙස, උපාංග දෙකම VPN ජාලයක කොටසක් නම් ලැප්ටොප් එකක වෙබ් සේවාදායකයකට සම්බන්ධ වීමට දුරකථනයකට හැකි විය යුතුය. සැකසුම තරමක් සරල නම්, ඔබට ඩෙස්ක්ටොප් එක VPN වෙත සම්බන්ධ කිරීම ගැන සිතා බැලිය හැකිය (ඊතර්නෙට් හරහා).

රැහැන්ගත සහ රැහැන් රහිත සම්බන්ධතා කාලයත් සමඟ අඩු ආරක්ෂිත බවට පත්වෙමින් පවතින බව සලකන විට (ඉලක්කගත ප්රහාර, KRACK WPA2 ක්‍රැකින් ප්‍රහාරය и WPA3 ට එරෙහිව Dragonblood ප්‍රහාරය), ඔවුන් කුමන පරිසරයක සිටියත්, මගේ සියලු උපාංග සඳහා WireGuard භාවිතා කිරීම ගැන මම බැරෑරුම් ලෙස සලකා බලමි.

මෘදුකාංග ස්ථාපනය

WireGuard සපයයි පෙර සම්පාදනය කරන ලද පැකේජ බොහෝ Linux, Windows සහ macOS බෙදාහැරීම් සඳහා. Android සහ iOS යෙදුම් යෙදුම් නාමාවලි හරහා බෙදා හරිනු ලැබේ.

මා සතුව නවතම 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

මගේ ඇන්ඩ්‍රොයිඩ් දුරකථනයේ මම යෙදුම ස්ථාපනය කළෙමි වයර්ගාර්ඩ් වීපීඑන් නිල Google App Store නාමාවලියෙන්.

යතුරු ස්ථාපනය කිරීම

peer සත්‍යාපනය සඳහා, Wireguard VPN සම වයසේ මිතුරන් සත්‍යාපනය කිරීමට සරල පුද්ගලික/පොදු යතුරු යෝජනා ක්‍රමයක් භාවිතා කරයි. පහත දැක්වෙන විධානය භාවිතයෙන් ඔබට පහසුවෙන් 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

මෙය අපට යතුරු යුගල තුනක් (ගොනු හයක්) ලබා දෙයි. අපි configs හි ඇති ගොනු වෙත යොමු නොවනු ඇත, නමුත් මෙහි අන්තර්ගතය පිටපත් කරන්න: සෑම යතුරක්ම base64 හි එක් පේළියකි.

VPN සේවාදායකය සඳහා වින්‍යාස ගොනුවක් නිර්මාණය කිරීම (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)

පහත දැක්වෙන විධානය සමඟ VPN ජාලය පහසුවෙන් ඉහළ නැංවිය හැකිය:

$ sudo wg-quick up wg0

එක් කුඩා විස්තරයක්: මම භාවිතා කළ DNS සේවාදායකය ලෙස dnsmasq ජාල අතුරුමුහුණතකට බැඳී ඇත br0, මමත් උපාංග එකතු කළා wg0 අවසර ලත් උපාංග ලැයිස්තුවට. dnsmasq වලදී මෙය සිදු කරනුයේ වින්‍යාස ගොනුවට නව ජාල අතුරු මුහුණතක් එකතු කිරීමෙනි /etc/dnsmasq.confඋදාහරණයක් ලෙස:

interface=br0
interface=wg0

මීට අමතරව, මම UDP සවන්දීමේ වරායට (51280) ගමනාගමනයට ඉඩ දීම සඳහා iptable රීතියක් එක් කළෙමි:

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

දැන් සියල්ල ක්‍රියාත්මක වන බැවින්, අපට VPN උමග ස්වයංක්‍රීයව දියත් කිරීම සැකසිය හැක:

$ 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

Примечания:

  • එජ්වෝකර් වෙනුවට ඔබට පොදු IP හෝ VPN සේවාදායක ධාරකය සඳහන් කිරීමට අවශ්‍ය වේ
  • සැකසීමෙන් AllowedIPs මත 10.200.200.0/24, අපි VPN භාවිතා කරන්නේ අභ්‍යන්තර ජාලයට ප්‍රවේශ වීමට පමණි. අනෙකුත් සියලුම IP ලිපින/සේවාදායක වෙත ගමනාගමනය "සාමාන්‍ය" විවෘත නාලිකා හරහා දිගටම ගමන් කරනු ඇත. එය ලැප්ටොප් පරිගණකයේ පෙර-වින්‍යාසගත DNS සේවාදායකයද භාවිතා කරනු ඇත.

පරීක්ෂා කිරීම සහ ස්වයංක්‍රීය දියත් කිරීම සඳහා අපි එකම විධාන භාවිතා කරමු 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

ලැප්ටොප් පරිගණකයේ වින්‍යාසය මෙන් නොව, දුරකථනය අපගේ VPN සේවාදායකය DNS සේවාදායකය (රේඛාව) ලෙස භාවිතා කළ යුතුය. DNS), සහ සියලුම ගමනාගමනය VPN උමග හරහා ගමන් කරන්න (AllowedIPs = 0.0.0.0/0).

ගොනුව ඔබගේ ජංගම උපාංගයට පිටපත් කරනවා වෙනුවට, ඔබට එය QR කේතයකට පරිවර්තනය කළ හැක:

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

QR කේතය ASCII ලෙස කොන්සෝලයට ප්‍රතිදානය කරයි. එය Android VPN යෙදුමෙන් ස්කෑන් කළ හැකි අතර ස්වයංක්‍රීයව VPN උමගක් සකසනු ඇත.

නිගමනය

OpenVPN හා සසඳන විට WireGuard පිහිටුවීම සරලවම ඉන්ද්‍රජාලික වේ.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න