هڪ سادي VPN سيٽ اپ ڪرڻ سان WireGuard ۽ راسبي پائي سرور جي طور تي

کان وٺي WireGuard حصو بڻجي ويندو مستقبل جو مرڪز Linux 5.6، مون فيصلو ڪيو ته ڏسو ته هن وي پي اين کي منهنجي سان ڪيئن ضم ڪجي Raspberry Pi تي LTE روٽر / رسائي پوائنٽ.

سامان

  • Raspberry Pi 3 LTE ماڊل ۽ عوامي IP پتي سان. هتي هڪ وي پي اين سرور هوندو (هتي متن ۾ ان کي سڏيو ويندو آهي ڪنڊ واڪ ڪندڙ)
  • فون آن Android، جنهن کي سڀني رابطن لاءِ VPN استعمال ڪرڻ گهرجي
  • سينٽرل Linux، جيڪو صرف نيٽ ورڪ اندر VPN استعمال ڪرڻ گهرجي

هر ڊوائيس جيڪو VPN سان ڳنڍيندو آهي لازمي طور تي ٻين سڀني ڊوائيسز سان ڳنڍڻ جي قابل هوندو. مثال طور، هڪ فون هڪ ليپ ٽاپ تي ويب سرور سان ڳنڍڻ جي قابل هوندو جيڪڏهن ٻئي ڊوائيس هڪ وي پي اين نيٽ ورڪ جو حصو آهن. جيڪڏهن سيٽ اپ بلڪل سادو ٿي ويو، ته پوء توهان ڊيسڪ ٽاپ کي VPN سان ڳنڍڻ بابت سوچي سگهو ٿا (ايٿرنيٽ ذريعي).

انهي ڳالهه تي غور ڪندي ته وائرڊ ۽ وائرليس ڪنيڪشن وقت سان گڏ گهٽ ۽ گهٽ محفوظ ٿي رهيا آهن (ٽارگيٽ حملن, KRACK WPA2 ڪريڪنگ حملو и WPA3 خلاف ڊريگن بلڊ حملو)، مان سنجيدگي سان استعمال ڪرڻ تي غور ڪري رهيو آهيان WireGuard منهنجي سڀني ڊوائيسز لاءِ، ڪابه پرواهه ناهي ته اهي ڪهڙي به ماحول ۾ هلن ٿا.

سافٽويئر انسٽاليشن

WireGuard فراهم ڪري ٿو اڳ ۾ ٺهيل پيڪيجز گھڻن ورڇن لاءِ Linux, Windows и macOSلاءِ درخواستون Android ۽ iOS ايپ اسٽورن ذريعي پهچائي رهيا آهن.

مون وٽ تازو فيڊورا آهي. Linux 31، ۽ انسٽال ڪرڻ کان اڳ مان دستورالعمل پڙهڻ ۾ تمام گهڻو سست هوس. مون کي هاڻي ئي پيڪيجز مليا آهن. wireguard-toolsانهن کي انسٽال ڪيو، ۽ پوءِ معلوم نه ٿي سگهيو ته ڇو ڪجھ به ڪم نه ڪري رهيو هو. وڌيڪ جاچ پڌرو ٿيو ته مون وٽ پيڪيج انسٽال ٿيل ناهي wireguard-dkms (نيٽ ورڪ ڊرائيور سان)، پر اهو منهنجي تقسيم جي مخزن ۾ نه هو.

جيڪڏهن آئون هدايتون پڙهيان ها، ته آئون صحيح قدم کڻان ها:

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

مون وٽ راسبي بسٽر ڊسٽري بيوشن انسٽال ٿيل آهي منهنجي راسبي پي آئي تي، اتي اڳ ۾ ئي هڪ پيڪيج موجود آهي wireguard، انسٽال ڪريو:

$ sudo apt install wireguard

فون تي Android مون اپليڪيشن انسٽال ڪئي. WireGuard VPN سرڪاري گوگل ايپ اسٽور جي فهرست مان.

چاٻين جي انسٽاليشن

نوڊس جي تصديق ڪرڻ لاءِ Wireguard وي پي اين نوڊس جي تصديق لاءِ هڪ سادي پرائيويٽ/پبلڪ ڪي اسڪيم استعمال ڪري ٿو. توهان هيٺ ڏنل حڪم سان آساني سان وي پي اين ڪيز ٺاهي سگهو ٿا:

$ 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 ۾ فائلن جو حوالو نه ڏينداسين، پر مواد هتي نقل ڪريو: هر ڪيئي بنيادي 64 ۾ هڪ لائن آهي.

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

ڪجھ نوٽس:

  • مناسب جڳهن ۾ توهان کي چاٻين سان فائلن مان لائينون داخل ڪرڻ جي ضرورت آهي
  • منهنجو وي پي اين اندروني بينڊ استعمال ڪري رهيو آهي 10.200.200.0/24
  • ٽيمن لاء PostUp/PostDown مون وٽ هڪ خارجي نيٽ ورڪ انٽرفيس wwan0 آهي، توهان وٽ هڪ مختلف هجي (مثال طور، eth0)

وي پي اين نيٽ ورڪ آساني سان هيٺ ڏنل حڪم سان بلند ڪيو ويو آهي:

$ sudo wg-quick up wg0

ھڪڙو ننڍڙو تفصيل: جيئن مون استعمال ڪيو DNS سرور dnsmasq نيٽ ورڪ انٽرفيس سان ڳنڍيل br0، مون ڊوائيسز پڻ شامل ڪيون wg0 اجازت ڏنل ڊوائيسز جي فهرست ۾. dnsmasq ۾ اهو ڪيو ويندو آهي هڪ نئون نيٽ ورڪ انٽرفيس لائن شامل ڪندي ترتيب ڏيڻ واري فائل ۾ /etc/dnsmasq.confمثال طور

interface=br0
interface=wg0

اضافي طور تي، مون يو ڊي پي ٻڌڻ واري بندرگاهه (51280) تي ٽرئفڪ جي اجازت ڏيڻ لاءِ هڪ قابل قاعدو شامل ڪيو:

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

هاڻي ته سڀ ڪجهه ڪم ڪري رهيو آهي، اسان سيٽ ڪري سگهون ٿا خودڪار لانچ جي وي پي اين سرنگ:

$ sudo systemctl enable wg-quick@wg0.service

ليپ ٽاپ تي ڪلائنٽ جي ترتيب

هڪ ليپ ٽاپ تي هڪ ترتيب واري فائيل ٺاهيو /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

نوٽ:

  • edgewalker جي بدران توهان کي وضاحت ڪرڻ جي ضرورت آهي عوامي IP يا VPN سرور ميزبان
  • انسٽال ٿيڻ AllowedIPs تي 10.200.200.0/24، اسان صرف اندروني نيٽ ورڪ تائين رسائي ڪرڻ لاءِ وي پي اين استعمال ڪندا آهيون. ٻين سڀني IP پتي / سرورز ڏانهن ٽريفڪ "عام" کليل چينلن ذريعي جاري رهندو. اهو ليپ ٽاپ تي اڳ ۾ ترتيب ڏنل DNS سرور پڻ استعمال ڪندو.

جاچ ۽ خودڪار لانچ لاءِ اسان ساڳيا حڪم استعمال ڪندا آهيون wg-quick и systemd:

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

ڪلائنٽ کي سيٽ اپ ڪرڻ لاءِ Android-فون

فون لاء Android اسان هڪ تمام گهڻي ساڳي ترتيب واري فائل ٺاهيندا آهيون (اچو ته ان کي سڏيون 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 سرنگ کي ترتيب ڏيو.

ٿڪل

adjustment WireGuard صرف جادوئي مقابلي ۾ OpenVPN.

جو ذريعو: www.habr.com

DDoS تحفظ سان سائيٽن لاءِ قابل اعتماد هوسٽنگ خريد ڪريو، VPS VDS سرور 🔥 DDoS تحفظ سان قابل اعتماد ويب سائيٽ هوسٽنگ خريد ڪريو، VPS VDS سرورز | ProHoster