WireGuard ۽ Raspberry Pi سان سرور جي طور تي هڪ سادي وي پي اين کي ترتيب ڏيڻ

ڇاڪاڻ ته وائر گارڊ حصو بڻجي ويندو ايندڙ لينڪس ڪنيل 5.6 جو، مون اهو ڏسڻ جو فيصلو ڪيو ته ڪيئن بهترين طريقي سان هن وي پي اين کي منهنجي Raspberry Pi تي LTE روٽر / رسائي پوائنٽ.

سامان

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

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

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

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

وائر گارڊ مهيا ڪري ٿو اڳ ۾ ٺهيل پيڪيجز سڀ کان وڌيڪ لينڪس، ونڊوز ۽ macOS تقسيم لاء. Android ۽ iOS ائپس ايپ ڊائريڪٽرن ذريعي پهچائي رهيا آهن.

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

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

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

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

$ sudo apt install wireguard

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

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

پير صاحب جي تصديق لاءِ، وائر گارڊ استعمال ڪري ٿو هڪ سادي پرائيويٽ/پبلڪ ڪي اسڪيم ته جيئن 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 ۾ فائلن جو حوالو نه ڏينداسين، پر مواد هتي نقل ڪريو: هر ڪيئي بنيادي 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 [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

نوٽ:

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

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

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

هڪ 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 سرنگ قائم ڪندو.

ٿڪل

وائر گارڊ کي ترتيب ڏيڻ صرف اوپن وي پي اين جي مقابلي ۾ جادوگر آهي.

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

تبصرو شامل ڪريو