آج کل، وی پی این ٹیکنالوجی زیادہ مقبول ہو جاتی ہے۔ عام صارفین انٹرنیٹ تک محفوظ طریقے سے رسائی کے لیے وی پی این کا استعمال کرتے ہیں۔ یہ مقامی طور پر مسدود ویب سائٹس اور خدمات کو حاصل کرنے اور ممکنہ بیرونی بدنیتی پر مبنی رویے سے بچانے میں بھی مدد کرتا ہے۔ جب آپ VPN سرور سے منسلک ہوتے ہیں، تو آپ کے کمپیوٹر اور سرور کے درمیان ایک محفوظ سرنگ ہوتی ہے جس تک باہر سے رسائی حاصل نہیں کی جا سکتی، لہذا VPN سرور آپ کے انٹرنیٹ تک رسائی کا نقطہ بن جاتا ہے۔ وہاں بہت ساری VPN سروسز موجود ہیں، مفت اور معاوضہ دونوں، لیکن اگر وہ کسی وجہ سے آپ کے لیے کام نہیں کرتی ہیں، تو آپ ہمیشہ اپنے VPN سرور کو کنفیگر کر سکتے ہیں۔
اپنا VPN چلانے کے لیے، آپ کو کرنا چاہیے۔ VPS سرور کرایہ پر لینا. مختلف سافٹ ویئر ہے جو آپ کو VPN کنکشن بنانے دیتا ہے۔ یہ تعاون یافتہ آپریٹنگ سسٹمز اور استعمال شدہ الگورتھم کے لحاظ سے ایک دوسرے سے مختلف ہے۔ ہم VPN سرور قائم کرنے کے لیے دو آزاد طریقوں پر ایک نظر ڈالیں گے۔ پہلا PPTP پروٹوکول پر مبنی ہے جو پہلے سے ہی متروک اور محفوظ نہیں سمجھا جاتا ہے لیکن ترتیب دینا واقعی آسان ہے۔ دوسرا جدید اور محفوظ سافٹ ویئر OpenVPN استعمال کرتا ہے لیکن اس کے لیے تھرڈ پارٹی کلائنٹ ایپلیکیشن کو انسٹال کرنے اور مزید مکمل سیٹ اپ کے عمل کی ضرورت ہوتی ہے۔
ہمارے آزمائشی ماحول میں، ہم Ubuntu Server 18.04 کے ذریعے چلنے والا ایک ورچوئل سرور استعمال کرنے جا رہے ہیں۔ ایک فائر وال سرور پر بند ہونے جا رہا ہے کیونکہ اس کی ترتیب ایک الگ مضمون کی مستحق ہے۔ ہم ونڈوز 10 پر سیٹ اپ کے عمل کو بیان کریں گے۔
تیاری
اس سے کوئی فرق نہیں پڑتا ہے کہ آپ کس VPN سرور کا انتخاب کرتے ہیں، انٹرنیٹ تک رسائی آپریٹنگ سسٹم کے مربوط ذرائع سے ترتیب دی جائے گی۔ ایک بیرونی سروس انٹرفیس کے ذریعے انٹرنیٹ تک رسائی کو کھولنے کے لیے آپ کو انٹرفیس کے درمیان پیکٹ فارورڈنگ کی اجازت دینی ہوگی اور نیٹ ورک ایڈریس کا ترجمہ ترتیب دینا ہوگا۔
پیکٹ فارورڈنگ کو آن کرنے کے لیے فائل کو کھولیں۔ "/etc/sysctl.conf" اور تبدیل کریں "net.ipv4.ip_forward" پیرامیٹر کی قدر میں 1.
کمپیوٹر کو ریبوٹ کیے بغیر تبدیلیاں لاگو کرنے کے لیے، کمانڈ چلائیں۔
sudo sysctl -p /etc/sysctl.conf
نیٹ ورک ایڈریس کا ترجمہ کے ذریعہ ترتیب دیا گیا ہے۔ iptables. پہلے، کمانڈ چلانے والے اپنے بیرونی نیٹ ورک انٹرفیس کا نام چیک کریں۔ "آئی پی لنک شو" - آپ کو اگلے مرحلے پر اس کی ضرورت ہوگی۔ ہمارا نام ہے۔ "ens3".
تمام مقامی نیٹ ورک نوڈس کے لیے اپنے بیرونی انٹرفیس پر نیٹ ورک ایڈریس کا ترجمہ فعال کریں۔
sudo iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
نوٹ کریں کہ آپ کو اپنے سرور کے انٹرفیس کا اصل نام بتانا ہوگا، یہ ہمارے سے مختلف ہوسکتا ہے۔
پہلے سے طے شدہ طور پر، iptables کے ذریعہ بنائے گئے تمام قواعد سرور کے دوبارہ شروع ہونے کے بعد دوبارہ ترتیب دیئے جاتے ہیں۔ اس کو روکنے کے لیے استعمال کریں۔ "iptables-مسلسل" افادیت درج ذیل پیکٹ کو انسٹال کریں:
sudo apt install iptables-persistent
تنصیب کے عمل کے دوران کسی وقت، آپ کو ایک کنفیگریشن ونڈو نظر آئے گی جو آپ کو موجودہ iptables کے قواعد کو محفوظ کرنے کا مشورہ دے گی۔ چونکہ قواعد پہلے ہی بیان کیے گئے ہیں، بس تصدیق کریں اور کلک کریں۔ "جی ہاں" دو بار چونکہ اب سرور کے دوبارہ شروع ہونے کے بعد قواعد خود بخود لاگو ہوں گے۔
پی پی ٹی پی سرور۔
سرور ترتیب
پیکٹ انسٹال کریں:
sudo apt install pptpd
انسٹالیشن ختم ہونے کے بعد، فائل کو کھولیں۔ "/etc/pptpd.conf" کسی بھی ٹیکسٹ ایڈیٹر میں اور اس طرح ترمیم کریں:
option /etc/ppp/pptpd-options #path to the settings file
logwtmp #client connections logging mechanism
connections 100 #number of simultaneous connections
localip 172.16.0.1 #the address that will serve as a client gateway
remoteip 172.16.0.2-200 #range of addresses
اس کے بعد، فائل میں ترمیم کریں "/etc/ppp/pptpd-options". زیادہ تر پیرامیٹرز پہلے سے طے شدہ ہیں۔
#name of the service for new client records
name pptpd
#restrict obsolete authentication methods
refuse-pap
refuse-chap
refuse-mschap
#allow a more secure authentication method
require-mschap-v2
#enable encryption
require-mppe-128
#specify dns servers for clients (use any available servers)
ms-dns 8.8.8.8
ms-dns 8.8.4.4
proxyarp
nodefaultroute
lock
nobsdcomp
novj
novjccomp
nologfd
اگلے مرحلے پر، آپ کو کلائنٹ کنکشن کے لیے ایک ریکارڈ بنانے کی ضرورت ہوگی۔ فرض کریں کہ آپ صارف کو شامل کرنا چاہتے ہیں۔ "vpnuser" پاس ورڈ کے ساتھ "1" اور اس کے لیے متحرک خطاب کی اجازت دیں۔ فائل کھولیں۔ "/etc/ppp/chap-secrets" اور فائل کے آخر میں صارف کے پیرامیٹرز کے ساتھ درج ذیل لائن شامل کریں:
vpnuser pptpd 1 *
"pptpd" قدر اس سروس کا نام ہے جسے ہم نے فائل میں بیان کیا ہے۔ "pptpd-اختیارات". بجائے "*" آپ ایک مقررہ IP ایڈریس بتا سکتے ہیں۔ نتیجے میں، فائل "چپ کے راز" اس طرح نظر آنا چاہئے:
سیٹنگز کو لاگو کرنے کے لیے ری سیٹ کریں۔ pptpd خدمت کریں اور اسے آٹو لوڈنگ میں شامل کریں۔
sudo systemctl restart pptpd
sudo systemctl enable pptpd
سرور کی ترتیب مکمل ہو گئی ہے۔
کلائنٹ کی ترتیب
اوپن "شروع" - "ترتیبات" - نیٹ ورک اور انٹرنیٹ - "VPN" اور پر کلک کریں "VPN کنکشن شامل کریں"
کھلی ہوئی ونڈو میں کنکشن کے پیرامیٹرز درج کریں اور کلک کریں۔ "محفوظ کریں"
- VPN فراہم کنندہ: "ونڈوز (بلٹ ان)"
- کنکشن کا نام: "vpn_connect" (آپ کوئی بھی نام منتخب کر سکتے ہیں)
- سرور کا نام یا پتہ: (سرور کا بیرونی IP پتہ بتائیں)
- وی پی این کی قسم: "آٹو"
- سائن ان معلومات کی قسم: "صارف کا نام اور پاس ورڈ"
- صارف کا نام: vpnuser (سرور پر "چیپ سیکریٹ" فائل میں نام بیان کیا گیا ہے)
- پاس ورڈ: 1 (جیسا کہ "چیپ راز" فائل میں ہے)
پیرامیٹرز کو محفوظ کرنے کے بعد، آپ کو ونڈو میں نیا VPN کنکشن نظر آئے گا۔ کنکشن پر بائیں طرف کلک کریں اور منتخب کریں۔ "جڑیں". کامیاب کنکشن کی صورت میں، آپ دیکھیں گے۔ "مربوط" حیثیت.
اختیارات میں، آپ کو کلائنٹ اور سرور کے اندرونی پتے ملیں گے۔ میدان "منزل کا پتہ" بیرونی سرور کا پتہ دکھاتا ہے۔
منسلک ہونے پر، سرور کا اندرونی IP ایڈریس، 172.16.0.1 ہمارے معاملے میں، تمام آؤٹ گوئنگ پیکٹوں کے لیے ڈیفالٹ گیٹ وے بن جاتا ہے۔
کسی بھی آن لائن سروس کا استعمال کرتے ہوئے آپ اس بات کو یقینی بنا سکتے ہیں کہ کمپیوٹر کا بیرونی IP ایڈریس اب آپ کے VPN سرور کے IP ایڈریس جیسا ہے۔
اوپن وی پی این سرور
سرور ترتیب
آئیے موجودہ صارف کی اجازت کی سطح کو فروغ دیں کیونکہ ہماری مزید ترتیب کے لیے ہمیں جڑ تک رسائی کی ضرورت ہوگی۔
sudo -s
تمام ضروری پیکٹ انسٹال کریں۔ ہمیں ضرورت ہو گی۔ "Easy-RSA" خفیہ کاری کیز کو منظم کرنے کے لیے پیکٹ۔
apt install openvpn easy-rsa iptables-persistent
UDP پروٹوکول کے ذریعے پورٹ 1194 پر آنے والے کنکشن کی اجازت دیں اور iptables کے قوانین کا اطلاق کریں۔
sudo iptables -I INPUT -p udp --dport 1194 -j ACCEPT
sudo netfilter-persistent save
"Easy-RSA" پیکیج سے کاپی شدہ فائلوں کے ساتھ ایک ڈائرکٹری بنائیں اور اس میں تشریف لے جائیں۔
make-cadir ~/openvpn
cd ~/openvpn
عوامی کلیدی بنیادی ڈھانچہ (PKI) بنائیں۔
./easyrsa init-pki
سرٹیفکیٹ اتھارٹی (CA) روٹ سرٹیفکیٹ بنائیں۔
./easyrsa build-ca
تخلیق کے عمل کے دوران، آپ کو پاس ورڈ سیٹ کرنے اور یاد رکھنے کے لیے کہا جائے گا۔ آپ کو سوالات کے جوابات دینے اور کلیدی مالک کے بارے میں معلومات درج کرنے کی بھی ضرورت ہوگی۔ آپ مربع بریکٹ میں فراہم کردہ ڈیفالٹ اقدار کو چھوڑ سکتے ہیں۔ ان پٹ کو حتمی شکل دینے کے لیے "Enter" دبائیں۔
ایک نجی کلید اور سرٹیفکیٹ کی درخواست بنائیں۔ ایک دلیل کے طور پر، ایک صوابدیدی نام کی وضاحت کریں؛ ہمارے معاملے میں، یہ "vpn-server" ہے۔
./easyrsa gen-req vpn-server nopass
عام نام کی قدر کو بطور ڈیفالٹ چھوڑ دیں۔
تیار کردہ سرور سرٹیفکیٹ کی درخواست پر دستخط کریں۔
./easyrsa sign-req server vpn-server
اس مرحلے پر، دستخط کی تصدیق کے لیے "ہاں" کا جواب دیں، پھر وہ پاس ورڈ درج کریں جو روٹ سرٹیفکیٹ کی تیاری کے دوران بنایا گیا تھا۔
Diffie-Hellman پیرامیٹرز تیار کریں۔ یہ پیرامیٹرز سرور اور کلائنٹ کے درمیان محفوظ کلیدی تبادلے کے لیے استعمال ہوتے ہیں۔
./easyrsa gen-dh
تمام ضروری فائلیں تیار کر لی گئی ہیں۔ آئیے اوپن وی پی این ورکنگ ڈائرکٹری میں ایک "کیز" فولڈر بنائیں تاکہ کیز کو اسٹور کیا جاسکے اور وہاں بنائی گئی فائلوں کو کاپی کیا جاسکے۔
mkdir /etc/openvpn/keys
sudo cp pki/ca.crt pki/issued/vpn-server.crt pki/private/vpn-server.key pki/dh.pem /etc/openvpn/keys
NAT کا استعمال کرتے ہوئے ترتیب دیں۔ iptables قواعد نام کی ایک فائل بنائیں nat اور اسے میں ترمیم کے لیے کھولیں۔ /etc/openvpn/ ڈائریکٹری.
#!/bin/sh
# Reset firewall settings
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
# (eth0 in our case, may vary)
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
# (eth0 in our case, may vary)
iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
# Allow OpenVPN connections (eth0 in our case, may vary)
iptables -A INPUT -i eth0 -p udp --dport 1194 -j ACCEPT
iptables -A INPUT -i tun0 -j ACCEPT
# (eth0 in our case, may vary):
iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT
# (eth0 in our case, may vary)
iptables -A FORWARD -i eth0 -o tun0 -m state --state ESTABLISHED,RELATED -j ACCEPT
# Enable masquerading for the local network (eth0 in our case, may vary)
iptables -t nat -A POSTROUTING -o eth0 -s 10.8.0.0/24 -j MASQUERADE
# Deny incoming connections from outside
iptables -A INPUT -i eth0 -j DROP
# Deny transit traffic from outside (eth0 in our case, may vary)
iptables -A FORWARD -i eth0 -o tun0 -j DROP
sudo netfilter-persistent save
فائل کو محفوظ کریں اور اسے قابل عمل بنائیں۔
sudo chmod 755 /etc/openvpn/nat
سرور کنفیگریشن ٹیمپلیٹ کو کاپی کریں۔
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/
فائل کھولیں "/etc/openvpn/server.conf" ترمیم کے لیے، یقینی بنائیں کہ اس میں درج ذیل سطریں ہیں، اور اگر ضرورت ہو تو ان میں ترمیم کریں:
#Port, protocol, and interface
port 1194
proto udp
dev tun
#Path to the encryption keys
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/vpn-server.crt
key /etc/openvpn/keys/vpn-server.key
dh /etc/openvpn/keys/dh.pem
#SHA256 Hashing Algorithm
auth SHA256
#Switching off additional encryption
#tls-auth ta.key 0
#Network parameters
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist /var/log/openvpn/ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
#Ping every 10 seconds to check the connection.
keepalive 10 120
#Set up AES-256 encryption for the tunnel.
cipher AES-256-GCM
#Demoting the service OpenVPN after launch
user nobody
group nogroup
#Switching on parameters saving after reboot
persist-key
persist-tun
#Set log verbosity
verb 3
#Redirecting logs
log-append /var/log/openvpn/openvpn.log
#Script the rule installation launch.
up /etc/openvpn/nat
سرور پر ٹریفک فارورڈنگ کو فعال کریں۔
sudo sysctl -w net.ipv4.ip_forward=1
echo 'net.ipv4.ip_forward=1' | sudo tee -a /etc/sysctl.conf
کنفیگریشن لاگو کرنے کے لیے OpenVPN شروع کریں۔
systemctl restart openvpn@server
سرور کی ترتیب ختم ہو گئی ہے!
کلائنٹ کی ترتیب
اوپن وی پی این کی آفیشل ویب سائٹ پر جائیں“https://openvpn.net"، پر جائیں "کمیونٹی" سیکشن پر ایک اقتصادی کینڈر سکین کر لیں۔
نیچے سکرول کریں اور اپنے آپریٹنگ سسٹم ورژن کے لیے انسٹالر ڈاؤن لوڈ کریں۔ ہمارے معاملے میں، یہ Windows 11 ARM64 ہے۔
تمام پیرامیٹرز کو بطور ڈیفالٹ چھوڑ کر ایپلیکیشن انسٹال کریں۔
اگلے مرحلے پر آپ کو درج ذیل فائل کو سرور پر تیار کرنے اور انہیں کلائنٹ کمپیوٹر پر منتقل کرنے کی ضرورت ہوگی۔
- عوامی اور نجی چابیاں؛
- سرٹیفیکیشن سینٹر کی کلید کی کاپی؛
- تشکیل فائل ٹیمپلیٹ۔
سرور سے جڑیں، مراعات کو بلند کریں، اور ہماری بنائی گئی ڈائرکٹری پر جائیں۔ "~/openvpn".
sudo -s
cd ~/openvpn
کلائنٹ کے لیے ایک نجی کلید اور سرٹیفکیٹ کی درخواست تیار کریں۔ ایک دلیل کے طور پر، ایک صوابدیدی نام کی وضاحت کریں؛ ہمارے معاملے میں، یہ "کلائنٹ1" ہے۔
./easyrsa gen-req client1 nopass
وہ پاس ورڈ درج کریں جو ہم نے روٹ سرٹیفکیٹ بناتے وقت سیٹ کیا ہے اور کامن نیم کی قدر کو بطور ڈیفالٹ چھوڑ دیں۔
تیار کردہ کلائنٹ سرٹیفکیٹ کی درخواست پر دستخط کریں۔
./easyrsa sign-req client client1
اس مرحلے پر، دستخط کی تصدیق کے لیے "ہاں" کا جواب دیں، پھر وہ پاس ورڈ درج کریں جو روٹ سرٹیفکیٹ کی تیاری کے دوران بنایا گیا تھا۔
سہولت کے لیے، آئیے ہوم ڈائرکٹری میں 'client1' کے نام سے ایک فولڈر بنائیں اور اس میں کلائنٹ کمپیوٹر پر منتقلی کے لیے تمام فائلوں کو کاپی کریں۔
mkdir ~/client1
cp pki/issued/client1.crt pki/private/client1.key pki/ca.crt ~/client1/
کلائنٹ کنفگ فائل ٹیمپلیٹ کو اسی ڈائرکٹری میں کاپی کریں۔ فائل کی توسیع کو میں تبدیل کریں۔ ".ovpn" نقل کرتے وقت.
cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/client1/client.ovpn
ڈائریکٹری کے مالک اور تمام فائلوں کو تبدیل کریں۔ "~/کلائنٹ1/" انہیں کلائنٹ میں تقسیم کرنے کے قابل ہونا۔ آئیے بناتے ہیں۔ "میہیل" ہمارے معاملے میں مالک۔
chown -R mihail:mihail ~/client1
کلائنٹ کمپیوٹر پر جائیں اور کے مواد کو کاپی کریں۔ "~/کلائنٹ1/" فولڈر کی مدد سے آپ ایسا کر سکتے ہیں۔ "PSCP" افادیت، جو پوٹی کے ساتھ جاتی ہے۔
PSCP -r mihail@[IP_сервера]:/home/mihail/client1 c:\client1
آپ کلیدی فائلوں کو محفوظ کر سکتے ہیں۔ "ca.crt", "client1.crt", "client1.key" جہاں چاہو۔ ہمارے معاملے میں، وہ اس فولڈر میں ہیں۔ "c:\پروگرام فائلیں\OpenVPN\keys"، اور ہم config فائل کو موڈ کرتے ہیں۔ "client.ovpn" میں "c:\Program Files\OpenVPN\config" ڈائریکٹری.
اب آئیے کلائنٹ کو کنفیگر کرتے ہیں۔ فائل کھولیں۔ "c:\Program Files\OpenVPN\config\client.ovpn" ٹیکسٹ ایڈیٹر میں اور درج ذیل لائنوں میں ترمیم کریں:
#announce that this is the client
client
#interface and protocol just like on the server
dev tun
proto udp
#IP address of the server and port
remote ip_address 1194
#saving parameters after reload
persist-key
persist-tun
#key paths
ca “c:\\Program Files\\OpenVPN\\keys\\ca.cert”
cert “c:\\Program Files\\OpenVPN\\keys\\client1.crt”
key “c:\\Program Files\\OpenVPN\\keys\\client1.key”
#enable server verification
remote-cert-tls server
#disable extra encryption
#tls-auth ta.key 1
cipher AES-256-CBC
auth-nocache
verb 3
باقی کو ادھورا چھوڑ دو۔
فائل کو محفوظ کریں اور کلائنٹ ایپلیکیشن لانچ کریں۔ "اوپن وی پی این جی یو آئی".
ٹاسک بار میں ایپ آئیکن پر دائیں کلک کریں اور منتخب کریں۔ "جڑیں". اگر کنکشن کامیاب ہو جاتا ہے تو آئیکن سبز ہو جائے گا۔
اس بات کو یقینی بنانے کے لیے کسی بھی آن لائن سروس کا استعمال کریں کہ آپ کا عوامی IP ایڈریس بدل گیا ہے اور اب وہی سرور کے IP ایڈریس جیسا ہے۔