زیادہ سے زیادہ لوگ ادا شدہ، ریڈی میڈ سروسز پر انحصار کرنے کے بجائے اپنا VPN چلا رہے ہیں: یہ سستا ہے، رازداری کے لیے بہتر ہے، اور آپ کو سرور پر مکمل کنٹرول فراہم کرتا ہے۔ جارحانہ نیٹ ورک بلاک کرنے والے خطوں کے لیے سب سے زیادہ مؤثر اختیارات میں سے ایک AmneziaWG ہے، ایک پروٹوکول جو Amnezia پروجیکٹ کے ذریعے WireGuard کے اوپر تیار کیا گیا ہے۔
کلاسک وائر گارڈ تیز اور قابل بھروسہ ہے، لیکن اس میں ایک فکسڈ پیکٹ ڈھانچہ ہے اور ایک قابل پیشن گوئی مصافحہ ہے، جسے ڈی پی آئی (ڈیپ پیکٹ انسپیکشن) سسٹم قابل اعتماد طریقے سے فنگر پرنٹ اور بلاک کر سکتے ہیں۔ AmneziaWG اسے حل کرتا ہے: یہ عام WireGuard کنکشن میں ردی کے پیکٹ کا اضافہ کرتا ہے، ہیڈر کو بے ترتیب بناتا ہے، اور ہینڈ شیک فیلڈز کے سائز کو تبدیل کرتا ہے — اس طرح WireGuard کی خصوصیت کے دستخط غائب ہو جاتے ہیں اور ٹریفک اب عام UDP ٹریفک سے الگ نہیں رہتی۔
پہلے سے ہی ایک کلاسک ٹنل چلا رہے ہیں اور سوچ رہے ہیں کہ کیا یہ سوئچ کرنے کے قابل ہے؟ لینکس پر VPN سرور سیٹ اپ میں ایک سادہ OpenVPN/PPTP سیٹ اپ سے اس کا موازنہ کریں : PPTP یا OpenVPN؟ ، یا ونیلا وائر گارڈ کے خلاف (کوئی رکاوٹ نہیں) اپنے سرور پر Wireguard VPN کیسے ترتیب دیں ۔
یہ گائیڈ ایک AmneziaWG سرور کو ہاتھ سے ترتیب دیتا ہے، بغیر Docker یا ویب پینل کے - VPS پر ہی سب سے چھوٹا ممکنہ نقش، مکمل طور پر کمانڈ لائن سے ترتیب دیا گیا ہے۔ یہ سب سے ہلکا وزن والا آپشن ہے اور بجٹ VPS پر اچھی طرح کام کرتا ہے، کیونکہ اسے کوئی GUI، کوئی ڈیٹا بیس، اور کوئی ریورس پراکسی کی ضرورت نہیں ہے۔ نیچے دی گئی مثال کا سرور ایک پلیس ہولڈر IP ایڈریس کا استعمال کرتا ہے — جہاں کہیں بھی یہ ظاہر ہو اسے اپنے VPS کے ایڈریس سے بدل دیں۔
آپ کو کیا ضرورت ہے: Ubuntu 22.04/24.04 یا Debian 11/12 چلانے والا VPS، روٹ تک رسائی، اور آپ کے VPS کا IP پتہ۔ ڈومین نام کی ضرورت نہیں ہے — AmneziaWG سرٹیفکیٹ استعمال نہیں کرتا، اس لیے تجدید کرنے کے لیے کچھ نہیں ہے اور DPI کے لیے TLS ہینڈ شیک کے طور پر پرچم لگانے کے لیے کچھ بھی نہیں ہے۔
ابھی تک سرور نہیں ہے؟ سرور کو آرڈر کرنے کا طریقہ دیکھیں
سرور سے جڑ رہا ہے۔
ونڈوز (PUTY)
PuTTY کھولیں، میزبان نام کی فیلڈ میں اپنا VPS IP ایڈریس درج کریں، پورٹ کو 22 پر سیٹ کریں، اور آپ کے VPS فراہم کنندہ نے آپ کو ای میل کیے گئے پاس ورڈ کا استعمال کرتے ہوئے روٹ کے طور پر لاگ ان کریں۔
سرور کا IP پتہ: آپ کا IP پتہ
لاگ ان کے طور پر: جڑ
پاس ورڈ: آپ کا پاس ورڈ
1. PuTTY کھولیں، میزبان کے نام کے خانے میں اپنا VPS IP ایڈریس درج کریں۔
2. پورٹ کو 22 پر سیٹ کریں۔
3. روٹ کے طور پر لاگ ان داخل کریں۔
4. پاس ورڈ استعمال کرتے ہوئے آپ کے VPS فراہم کنندہ نے آپ کو ای میل کیا تھا۔
نتیجہ مندرجہ ذیل ہونا چاہئے:
PuTTY/SSH کے ذریعے جڑنے کی تفصیلی واک تھرو کے لیے، SSH کے ذریعے لینکس سرور سے جڑنے کا طریقہ دیکھیں
لینکس / میک او ایس (ٹرمینل)
ssh root@YOUR_SERVER_IP
ذیل میں دی گئی تمام کمانڈز سرور پر چلائی جاتی ہیں، اسی SSH سیشن میں — جس میں سیکشن 2 سے 5 تک کا احاطہ کیا گیا ہے، نیز سیکشن 9 میں سرور سائیڈ چیکس۔ سیکشنز 6–8 (VPN کلائنٹ کو انسٹال اور کنفیگر کرنا) اس کے بجائے آپ کے اپنے Windows/macOS/Linux ڈیوائس پر ہوتا ہے، کیونکہ یہی وہ ڈیوائس ہے جسے VPN کو چلانے کی ضرورت ہے۔ ان حصوں میں سے ہر ایک واضح طور پر کہتا ہے کہ کون سی لائنیں، اگر کوئی ہیں، پھر بھی سرور کو چھوتی ہیں۔
سرور کی تیاری
نظام کو اپ ڈیٹ کریں
کسی بھی چیز کو انسٹال کرنے سے پہلے، پیکیج کی فہرست کو ریفریش کریں اور انسٹال کردہ پیکجوں کو اپ گریڈ کریں:
apt update -y && apt upgrade -y
اگر یہ کرنل کو اپ گریڈ کرتا ہے، تو سیکشن 3 میں AmneziaWG کرنل ماڈیول بنانے سے پہلے ریبوٹ کریں، بصورت دیگر DKMS غلط کرنل ہیڈرز کے خلاف بن سکتا ہے اور ماڈیول لوڈ ہونے میں ناکام ہو جائے گا۔ (آپٹ پر ریفریشر کے لیے اور لینکس پیکیج مینیجر کیسے کام کرتے ہیں، لینکس پیکیج مینیجر دیکھیں ۔) اس کے ساتھ چیک کریں:
cat /var/run/reboot-required
آئی پی فارورڈنگ کو فعال کریں۔
یہ ترتیب سرور کو کلائنٹس کے پیکٹ کو انٹرنیٹ پر بھیجنے دیتی ہے - اس کے بغیر، سرنگ اوپر آجائے گی لیکن اس سے کوئی ٹریفک نہیں گزرے گا۔
echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/00-amnezia.conf
sysctl --system
پہلی کمانڈ ایک سرشار کنفگ فائل بناتی ہے۔ دوسرا اسے سرور کو ریبوٹ کیے بغیر لاگو کرتا ہے۔
فائر وال کو ترتیب دیں (UFW)
UFW قواعد کے بارے میں مزید جاننے کے لیے، لینکس پر فائر وال کی تشکیل دیکھیں
آپ کو درکار دو بندرگاہوں کو کھولیں: SSH کے لیے 22/tcp (اس اصول کو چھوڑ دیں اور آپ کو سرور تک رسائی کھونے کا خطرہ ہے) اور 42666/udp، پورٹ AmneziaWG سن لے گا۔
apt install ufw -y
ufw allow 22/tcp
ufw allow 42666/udp
ufw --force enable
ufw status
دونوں اصولوں کو ufw اسٹیٹس آؤٹ پٹ میں ALLOW کے بطور ظاہر ہونا چاہیے۔
AmneziaWG انسٹال کرنا
Debian براہ راست Ubuntu طرز کے PPAs کو سپورٹ نہیں کرتا ہے، اس لیے repository کو add-apt-repository کے بجائے ہاتھ سے شامل کرنا ہوگا۔ یہ Ubuntu پر اسی طرح کام کرتا ہے۔
ذخیرہ کو دستی طور پر شامل کریں۔
echo "deb [arch=amd64] https://ppa.launchpadcontent.net/amnezia/ppa/ubuntu jammy main" > /etc/apt/sources.list.d/amnezia.list
GPG سائننگ کلید شامل کریں۔
فرسودہ apt-key کمانڈ کے بجائے ایک dearmored keyring فائل کا استعمال کریں، اور PPA کی حقیقی دستخطی کلید حاصل کریں (فنگر پرنٹ 75C9DD72C799870E310542E24166F2C257290828):
apt install -y gnupg2
gpg --keyserver keyserver.ubuntu.com --recv-keys 57290828
gpg --export 57290828 | tee /usr/share/keyrings/amnezia.gpg > /dev/null
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/amnezia.gpg] https://ppa.launchpadcontent.net/amnezia/ppa/ubuntu jammy main" > /etc/apt/sources.list.d/amnezia.list
اپ ڈیٹ اور انسٹال کریں۔
apt update
apt install -y amneziawg
بھری ہوئی ماڈیول کی تصدیق کریں۔
modprobe amneziawg
lsmod | grep amnezia
سرور اور کلائنٹ کنفیگریشن تیار کرنا
مددگار یوٹیلیٹیز انسٹال کریں۔
کیو آر کوڈ انحصار انسٹال کریں، پھر ایک وقف شدہ ورکنگ ڈائرکٹری بنائیں اور اس میں کمیونٹی کنفگ جنریٹر اسکرپٹ ڈاؤن لوڈ کریں:
apt install -y python3-qrcode
mkdir -p ~/awg && cd ~/awg
wget -O awgcfg.py \
https://gist.githubusercontent.com/remittor/8c3d9ff293b2ba4b13c367cc1a69f9eb/raw/awgcfg.py
اگر آپ کے ڈسٹرو کے ریپوز پر python3-qrcode دستیاب نہیں ہے تو، pip3 install qrcode --break-system-packages پر واپس جائیں (Debian 12+/Ubuntu 24.04 پر جھنڈا درکار ہے، جو ڈیفالٹ کے ذریعے غیر منظم پائپ انسٹال کو روکتا ہے)۔ دونوں انسٹال نہ چلائیں - ایک چنیں۔
سرور کنفیگریشن تیار کریں۔
/etc/amnezia/amneziawg/awg0.conf بنائیں۔ آپ ٹنل کے اندرونی سب نیٹ اور UDP پورٹ کو ان کے ڈیفالٹس پر چھوڑ سکتے ہیں یا خود سیٹ کر سکتے ہیں:
python3 awgcfg.py --make /etc/amnezia/amneziawg/awg0.conf \
-i 10.10.8.1/24 -p 42666
-i پرچم سرنگ کا اندرونی نیٹ ورک ایڈریس اور ماسک سیٹ کرتا ہے۔ -p سرور کا UDP پورٹ سیٹ کرتا ہے (وہی جو مرحلہ 2.3 میں کھولا گیا تھا)۔
کلائنٹ کنفگ ٹیمپلیٹ بنائیں
python3 awgcfg.py --create
یہ ایک ٹیمپلیٹ کو اسی فولڈر میں محفوظ کرتا ہے جس سے انفرادی کلائنٹ کی تشکیلات بنائی جاتی ہیں — اس میں پہلے سے ہی سرور کی عوامی کلید، اس کا IP پتہ، اور مبہم پیرامیٹرز (Jc, Jmin, Jmax, S1, S2, H1–H4) شامل ہیں جو AmneziaWG کو سادہ WireGuard سے ممتاز کرتے ہیں۔
کلائنٹس کو شامل کریں۔
فی آلہ ایک اندراج بنائیں — نام کچھ بھی ہو سکتا ہے، جیسے آلہ کا نام:
python3 awgcfg.py -a "laptop"
python3 awgcfg.py -a "phone"
کلائنٹ فائلیں اور کیو آر کوڈز بنائیں
python3 awgcfg.py -c -q
~/awg فولڈر میں اب laptop.conf اور phone.conf جیسی فائلیں ہوں گی، نیز مماثل PNG QR کوڈز جنہیں آپ سیدھے موبائل ایپ میں اسکین کر سکتے ہیں۔
~/awg فولڈر میں اب laptop.conf اور phone.conf جیسی فائلیں ہوں گی، نیز مماثل PNG QR کوڈز جنہیں آپ سیدھے موبائل ایپ میں اسکین کر سکتے ہیں۔
سروس شروع کرنا اور آٹو اسٹارٹ کو فعال کرنا
awg0 انٹرفیس لائیں اور اسے ریبوٹ پر خود بخود شروع کرنے کے قابل بنائیں:
systemctl enable --now awg-quick@awg0
systemctl restart [email protected]
systemctl status [email protected]
بوٹ پر فعال یونٹ کے ساتھ اسٹیٹس کو فعال (باہر نکلا ہوا) دکھانا چاہیے۔ اگر کنسول لاگس دکھاتے ہوئے "ہینگ" ہوتا دکھائی دے تو باہر نکلنے کے لیے Q دبائیں۔
اس کے ساتھ فعال ساتھیوں اور فی پیر ٹریفک کی فہرست چیک کریں:
awg show
ونڈوز سے جڑ رہا ہے۔
اس سیکشن میں سب کچھ آپ کے ونڈوز پی سی پر ہوتا ہے، SSH پر نہیں — VPN کلائنٹ کو اس ڈیوائس پر انسٹال کرنا ہوتا ہے جو اصل میں ٹنل کو استعمال کرے گا۔ سرور کو چھونے والا واحد مرحلہ 6.2 میں scp ڈاؤن لوڈ ہے، اور یہاں تک کہ وہ کمانڈ آپ کے کمپیوٹر پر ٹائپ کیا جاتا ہے، سیکشن 4 میں سرور پہلے سے تیار کردہ فائل کو کھینچتا ہے۔
کلائنٹ انسٹال کریں۔
AmneziaWG کے پاس ایک وقف شدہ ونڈوز ایپ ہے - اس کا انٹرفیس معیاری WireGuard کلائنٹ کا آئینہ دار ہے لیکن یہ مبہم پیرامیٹرز کو سمجھتا ہے۔ پروجیکٹ کے آفیشل ریپوزٹری سے انسٹالر ڈاؤن لوڈ کریں:
https://github.com/amnezia-vpn/amneziawg-windows-client/releases
اوپر کا لنک ونڈوز کلائنٹ کا جاری کردہ صفحہ ہے — وہاں سے تازہ ترین .msi/.exe اثاثہ ڈاؤن لوڈ کریں۔ یہ آپ کے براؤزر میں کھولنے کا صفحہ ہے، ٹرمینل میں پیسٹ کرنے کا حکم نہیں۔
انسٹالر کو چلائیں اور سیٹ اپ وزرڈ کے ذریعے قدم رکھیں؛ ڈیفالٹس کو تبدیل کرنے کی ضرورت نہیں ہے۔
ترتیب درآمد کریں۔
کلائنٹ کنفگ فائل کو سرور سے اپنے کمپیوٹر پر کاپی کریں — سب سے آسان طریقہ scp ہے، اپنے کمپیوٹر پر PowerShell میں چلائیں، سرور پر نہیں۔
scp root@YOUR_SERVER_IP:~/awg/laptop.conf .
AmneziaWG ایپ میں، "فائل سے ٹنل درآمد کریں" پر کلک کریں، laptop.conf کو منتخب کریں، اور نئی سرنگ کے آگے ٹوگل پر سوئچ کریں۔
macOS سے جڑ رہا ہے۔
دو معاون اختیارات موجود ہیں:
- AmneziaWG (Mac App Store): ایک ہلکا پھلکا کلائنٹ، macOS 12 اور بعد میں کام کرتا ہے۔ ایپ اسٹور میں "AmneziaWG" کو تلاش کریں، اسے انسٹال کریں، پھر "فائل سے ٹنل درآمد کریں" کا استعمال کریں اور اپنی .conf فائل کو منتخب کریں — ونڈوز کلائنٹ کی طرح ورک فلو۔
- AmneziaVPN (مکمل ایپ، macOS 14+): github.com/amnezia-vpn/amnezia-client/releases/latest سے .pkg ڈاؤن لوڈ کریں اگر آپ ہلکے وزن والے AmneziaWG-only کلائنٹ کی بجائے مکمل خصوصیات والی Amnezia ایپ استعمال کرنا چاہتے ہیں۔
اگر ضرورت ہو تو پہلے کلائنٹ کی تشکیل کو کاپی کریں، جیسا کہ مرحلہ 6.2 میں ہے:
scp root@YOUR_SERVER_IP:~/awg/laptop.conf .
لینکس سے جڑ رہا ہے۔
لینکس ڈیسک ٹاپ یا لیپ ٹاپ پر آپ کے پاس دو اختیارات ہیں:
- GUI: github.com/amnezia-vpn/amnezia-client/releases سے مکمل AmneziaVPN ڈیسک ٹاپ کلائنٹ انسٹال کریں، پھر .conf فائل کو اسی طرح درآمد کریں جس طرح Windows/macOS پر ہے۔
- CLI، سرور پر استعمال ہونے والے وہی amneziawg-tools کا استعمال کرتے ہوئے (awg / awg-quick):
apt install -y amneziawg
cp laptop.conf /etc/amnezia/amneziawg/awg0.conf
awg-quick up awg0
منقطع کرنے کے لیے اس کوڈ کو چلائیں۔
awg-quick down awg0
لاگ ان پر سرنگ کو خود بخود اوپر لانے کے لیے، اسے بطور سروس فعال کریں:
systemctl enable --now awg-quick@awg0
کنکشن کی تصدیق کرنا
سیکشن 6، 7، یا 8 سے فعال سرنگ کے ساتھ، اپنے آلے پر واپس جائیں (SSH سیشن نہیں) اور براؤزر میں کوئی بھی "What's My IP" چیکر کھولیں — دکھایا گیا پتہ آپ کے VPS کے IP ایڈریس سے مماثل ہونا چاہیے۔ اس کے بجائے ایس ایس ایچ سیشن کے اندر سے تصدیق کرنے کے لیے، سرور پر awg شو چلائیں اور تصدیق کریں کہ کلائنٹ کے ساتھی حالیہ ہینڈ شیک اور غیر صفر ٹریفک کو ظاہر کرتا ہے۔
حوالہ:
|
فیلڈ |
قدر |
|
ایڈریس |
YOUR_TUNNEL_IP (سرنگ کے اندر کلائنٹ کا پتہ، مثلاً 10.10.8.2/32 — جب کلائنٹ کو مرحلہ 4.4 میں شامل کیا گیا تو خود بخود تفویض ہو گیا) |
|
اختتام پوائنٹ |
YOUR_SERVER_IP:42666 (سرور کا بیرونی IP پتہ اور UDP پورٹ جس سے کلائنٹ جڑتا ہے۔) |
|
DNS |
8.8.8.8 |
|
Jc / Jmin / Jmax |
مصافحہ سے پہلے بھیجے گئے "جنک" پیکٹوں کی تعداد اور سائز - سرور اور کلائنٹ کے درمیان کنکشن کو توڑے بغیر مختلف ہو سکتے ہیں |
|
S1/S2 |
ہینڈ شیک پیڈنگ فیلڈز کا سائز - سرور اور ہر کلائنٹ کے درمیان بائٹ فار بائٹ سے مماثل ہونا چاہیے۔ |
|
H1 – H4 |
پیکٹ قسم کے ہیڈر جو پروٹوکول کو عام ٹریفک کے طور پر چھپاتے ہیں — بھی بالکل مماثل ہونا چاہیے، اور ایک دوسرے سے منفرد ہونا چاہیے۔ |
صرف S1/S2 اور H1–H4 سرنگ کے دونوں سروں پر ایک جیسے ہونے کی ضرورت ہے۔ Jc، Jmin، اور Jmax مکمل طور پر اس بارے میں ہیں کہ ہر سائیڈ اپنے باہر جانے والے جنک ٹریفک کو کس طرح پیڈ کرتا ہے، لہذا کلائنٹ اور سرور کی قدریں جائز طور پر مختلف ہو سکتی ہیں، جیسا کہ وہ اوپر کی مثال میں کرتے ہیں۔
نتیجہ
اس گائیڈ کی پیروی کرنے سے آپ کا VPS اپنا AmneziaWG سرور چلاتا ہے: ٹریفک کی الجھن کے ساتھ ایک WireGuard سے مطابقت رکھنے والا پروٹوکول جو DPI سسٹمز کے لیے عام UDP ٹریفک کو سادہ WireGuard کے مقابلے میں بتانا خاصا مشکل ہے۔ سروس سسٹمڈ یونٹ awg-quick@awg0 کے طور پر چلتی ہے اور آپ کی طرف سے کسی کارروائی کے بغیر سرور ریبوٹ سے بچ جاتی ہے۔
نتیجے میں آنے والی .conf فائلیں اور QR کوڈز ~/awg میں نہ صرف ونڈوز کلائنٹ کے ساتھ کام کرتے ہیں بلکہ انہیں AmneziaWG یا Amnezia ایپس برائے Android، iOS، macOS، اور Linux کے ساتھ ساتھ Keenetic اور OpenWrt راؤٹرز میں بھی درآمد کیا جا سکتا ہے۔
4.4–4.5 مراحل (python3 awgcfg.py -a "نام"، پھر awgcfg.py -c -q) کو دہراتے ہوئے اور systemctl ری اسٹارٹ [email protected] کے ساتھ انٹرفیس کو دوبارہ شروع کرکے کسی بھی وقت نئے کلائنٹس شامل کریں ۔
سرور کے چلنے کے بعد رکھنے کے قابل چند عادات:
- سسٹم کو ٹھیک رکھیں۔ apt update -y && apt upgrade -y کو وقتاً فوقتاً دوبارہ چلائیں، اور کرنل اپ گریڈ کے بعد دوبارہ بوٹ کریں تاکہ DKMS نئے کرنل کے خلاف amneziawg ماڈیول کو دوبارہ بناتا ہے۔
- بیک اپ ~/awg۔ یہ awg0.conf میں ہر کلائنٹ کی نجی کلید اور سرور کا اپنا کلید جوڑا رکھتا ہے۔ اسے کھونے کا مطلب ہے کہ ہر ڈیوائس کے لیے کنفیگرز کو دوبارہ تخلیق کرنا۔
- کھوئے ہوئے آلات کو فوری طور پر منسوخ کریں۔ متعلقہ [Peer] بلاک کو /etc/amnezia/amneziawg/awg0.conf سے ہٹائیں اور سسٹم سی ٹی ایل کو دوبارہ شروع کریں۔ [ای میل محفوظ].
اگر کنکشن نہیں آتا ہے، ترتیب میں چیک کریں:
- سروس کی حیثیت (systemctl status [ای میل محفوظ])
- فائر وال کے قوانین (ufw اسٹیٹس — پورٹ 42666/udp کھلا ہونا چاہیے)
- DKMS/ماڈیول کی حیثیت اگر انٹرفیس شروع بھی نہیں ہوتا ہے (dkms اسٹیٹس، lsmod | grep amnezia)
- سرور پر فعال ساتھیوں کی فہرست (awg شو)
- کہ کلائنٹ کنفیگریشن درست بیرونی سرور IP ایڈریس کی طرف اشارہ کرتا ہے۔
ارتکاب کرنے سے پہلے AmneziaWG کا دوسرے اختیارات سے موازنہ کرنا؟ لینکس پر وی پی این سرور سیٹ اپ دیکھیں : پی پی ٹی پی یا اوپن وی پی این؟ اور اپنے سرور پر Wireguard VPN کیسے ترتیب دیں ۔ اگر آپ کو مکمل VPN ٹنل کے بجائے صرف ایک سادہ پراکسی کی ضرورت ہے، تو CentOS/ArchLinux پر 3proxy کنفیگریشن ایک ہلکا متبادل ہے۔ VPN کے لائیو ہونے کے بعد عام سرور کی سختی کے لیے، لینکس کے صارفین: انتظام اور اجازتیں دیکھیں ۔