کیونکہ وائر گارڈ
سامان
- Raspberry Pi 3 LTE ماڈیول اور عوامی IP ایڈریس کے ساتھ۔ یہاں ایک VPN سرور ہوگا (اس کے بعد متن میں اسے کہا گیا ہے۔ کنارے چلنے والا)
- ایک اینڈرائیڈ فون جو تمام مواصلات کے لیے VPN کا استعمال کرے۔
- لینکس لیپ ٹاپ جو نیٹ ورک کے اندر صرف وی پی این استعمال کرے۔
VPN سے جڑنے والا ہر آلہ دیگر تمام آلات سے جڑنے کے قابل ہونا چاہیے۔ مثال کے طور پر، اگر دونوں ڈیوائسز VPN نیٹ ورک کا حصہ ہیں تو فون کو لیپ ٹاپ پر ویب سرور سے منسلک کرنے کے قابل ہونا چاہیے۔ اگر سیٹ اپ کافی آسان نکلا، تو آپ ڈیسک ٹاپ کو وی پی این (ایتھرنیٹ کے ذریعے) سے منسلک کرنے کے بارے میں سوچ سکتے ہیں۔
اس بات پر غور کرتے ہوئے کہ وائرڈ اور وائرلیس کنکشن وقت کے ساتھ ساتھ کم محفوظ ہوتے جا رہے ہیں (
سافٹ ویئر کی تنصیب
وائر گارڈ فراہم کرتا ہے۔
میرے پاس تازہ ترین فیڈورا لینکس 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
اپنے اینڈرائیڈ فون پر میں نے ایپلیکیشن انسٹال کی ہے۔
چابیاں کی تنصیب
ہم مرتبہ کی توثیق کے لیے، وائر گارڈ 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
یہ ہمیں تین کلیدی جوڑے (چھ فائلیں) دیتا ہے۔ ہم کنفیگس میں فائلوں کا حوالہ نہیں دیں گے، لیکن مواد کو یہاں کاپی کریں گے: ہر کلید بیس 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
چند نوٹ:
- مناسب جگہوں پر آپ کو چابیاں کے ساتھ فائلوں سے لائنیں ڈالنے کی ضرورت ہے۔
- میرا 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) پر ٹریفک کی اجازت دینے کے لیے ایک قابل اطلاق اصول شامل کیا:
$ 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 استعمال کرتے ہیں۔ دیگر تمام آئی پی ایڈریسز/سرورز پر ٹریفک "نارمل" اوپن چینلز سے گزرتی رہے گی۔ یہ لیپ ٹاپ پر پہلے سے تشکیل شدہ 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 کے بطور کنسول میں آؤٹ پٹ ہوگا۔ اسے اینڈرائیڈ وی پی این ایپ سے اسکین کیا جا سکتا ہے اور یہ خود بخود وی پی این سرنگ ترتیب دے گا۔
آؤٹ پٹ
اوپن وی پی این کے مقابلے میں وائر گارڈ کو ترتیب دینا محض جادوئی ہے۔
ماخذ: www.habr.com