اڄڪلهه، وي پي اين ٽيڪنالاجي وڌيڪ مشهور ٿي رهي آهي. عام استعمال ڪندڙ انٽرنيٽ تائين محفوظ رسائي لاءِ وي پي اين استعمال ڪندا آهن. اهو مقامي طور تي بلاڪ ٿيل ويب سائيٽن ۽ خدمتن جي چوڌاري وڃڻ ۽ ممڪن ٻاهرين خراب رويي کان بچائڻ ۾ پڻ مدد ڪري ٿو. جڏهن توهان وي پي اين سرور سان ڳنڍي رهيا آهيو، ته توهان جي ڪمپيوٽر ۽ سرور جي وچ ۾ هڪ محفوظ سرنگ آهي جيڪا ٻاهر کان رسائي نه ٿي سگهي، تنهن ڪري وي پي اين سرور توهان جو انٽرنيٽ رسائي پوائنٽ بڻجي ويندو آهي. اتي ڪيتريون ئي وي پي اين خدمتون آهن، مفت ۽ ادا ڪيل، پر جيڪڏهن اهي ڪنهن سبب جي ڪري توهان لاءِ ڪم نه ٿيون ڪن، ته توهان هميشه پنهنجو وي پي اين سرور ترتيب ڏئي سگهو ٿا.
پنهنجي اوون وي پي اين کي هلائڻ لاءِ، توهان کي وي پي ايس سرور ڪرائي تي وٺڻ گهرجي . مختلف سافٽ ويئر آهن جيڪي توهان کي وي پي اين ڪنيڪشن ٺاهڻ جي اجازت ڏين ٿا. اهو سپورٽ ٿيل آپريٽنگ سسٽم ۽ استعمال ٿيل الگورتھم جي لحاظ کان هڪ ٻئي کان مختلف آهي. اسان وي پي اين سرور قائم ڪرڻ لاءِ ٻن آزاد طريقن تي نظر وجهنداسين. پهريون هڪ پي پي ٽي پي پروٽوڪول تي ٻڌل آهي جيڪو اڳ ۾ ئي پراڻو ۽ محفوظ نه سمجهيو ويندو آهي پر ترتيب ڏيڻ ۾ تمام آسان آهي. ٻيو هڪ جديد ۽ محفوظ سافٽ ويئر اوپن وي پي اين کي استعمال ڪري ٿو پر ٽئين پارٽي ڪلائنٽ ايپليڪيشن کي انسٽال ڪرڻ ۽ وڌيڪ مڪمل سيٽ اپ عمل جي ضرورت آهي.
اسان جي ٽيسٽ ماحول ۾، اسان Ubuntu Server 18.04 پاران هلندڙ هڪ ورچوئل سرور استعمال ڪرڻ وارا آهيون. سرور تي هڪ فائر وال بند ڪيو ويندو ڇاڪاڻ ته ان جي ترتيب هڪ الڳ مضمون جي لائق آهي. اسان ونڊوز 10 تي سيٽ اپ جي عمل کي بيان ڪنداسين.
تياري
توهان ڪهڙو به VPN سرور چونڊيو، انٽرنيٽ رسائي آپريٽنگ سسٽم جي مربوط ذريعن ذريعي قائم ڪئي ويندي. هڪ ٻاهرين سروس انٽرفيس ذريعي انٽرنيٽ رسائي کولڻ لاءِ توهان کي انٽرفيس جي وچ ۾ پيڪٽ فارورڊنگ جي اجازت ڏيڻي پوندي ۽ نيٽ ورڪ ايڊريس ٽرانسليشن کي ترتيب ڏيڻو پوندو.
پيڪٽ فارورڊنگ کي آن ڪرڻ لاءِ "/etc/sysctl.conf" فائل کوليو ۽ "net.ipv4.ip_forward" پيرا ميٽر ويليو کي 1 ۾ تبديل ڪريو.
ڪمپيوٽر کي ريبوٽ ڪرڻ کان سواءِ تبديليون لاڳو ڪرڻ لاءِ، ڪمانڊ هلايو
sudo sysctl -p /etc/sysctl.conf
نيٽ ورڪ ايڊريس ٽرانسليشن iptables جي ذريعي ترتيب ڏنل آهي . پهرين، "ip لنڪ شو" ڪمانڊ هلائيندي پنهنجي ٻاهرين نيٽ ورڪ انٽرفيس جو نالو چيڪ ڪريو - توهان کي ايندڙ قدم تي ان جي ضرورت پوندي. اسان جو نالو "ens3" آهي.
سڀني مقامي نيٽ ورڪ نوڊس لاءِ پنهنجي ٻاهرين انٽرفيس تي نيٽ ورڪ ايڊريس ترجمو فعال ڪريو.
sudo iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
ياد رکو ته توهان کي پنهنجي سرور جي انٽرفيس جو اصل نالو بيان ڪرڻ جي ضرورت آهي، اهو اسان کان مختلف ٿي سگهي ٿو.
ڊفالٽ طور، iptables پاران ٺاهيل سڀئي قاعدا سرور جي ٻيهر شروع ٿيڻ کان پوءِ ري سيٽ ڪيا ويندا آهن. ان کي روڪڻ لاءِ، "iptables-persistent" يوٽيلٽي استعمال ڪريو. هيٺ ڏنل پيڪٽ انسٽال ڪريو:
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-options" فائل ۾ بيان ڪيو آهي . "*" جي بدران توهان هڪ مقرر IP پتو بيان ڪري سگهو ٿا. نتيجي ۾، فائل "chap-secrets" هن طرح نظر اچڻ گهرجي:
سيٽنگون لاڳو ڪرڻ لاءِ pptpd سروس کي ري سيٽ ڪريو ۽ ان کي آٽو لوڊنگ ۾ شامل ڪريو.
sudo systemctl restart pptpd
sudo systemctl enable pptpd
سرور جي ترتيب مڪمل ٿي وئي آهي.
ڪلائنٽ جي ترتيب
"شروع" - "سيٽنگون" - "نيٽ ورڪ ۽ انٽرنيٽ" - "وي پي اين" کوليو ۽ "وي پي اين ڪنيڪشن شامل ڪريو" تي ڪلڪ ڪريو.
کليل ونڊو ۾ ڪنيڪشن پيرا ميٽر داخل ڪريو ۽ "محفوظ ڪريو" تي ڪلڪ ڪريو.
- وي پي اين فراهم ڪندڙ: "ونڊوز (بلٽ ان)"
- ڪنيڪشن جو نالو: "vpn_connect" (توهان ڪو به نالو چونڊي سگهو ٿا)
- سرور جو نالو يا پتو: (سرور جو ٻاهرين IP پتو بيان ڪريو)
- وي پي اين جو قسم: "خودڪار"
- سائن ان معلومات جو قسم: "صارف جو نالو ۽ پاسورڊ"
- استعمال ڪندڙ جو نالو وي پي اينسر (سرور تي "چيپ-سيڪريٽس" فائل ۾ بيان ڪيل نالو)
- پاسورڊ: 1 (جيئن "چيپ-سيڪريٽس" فائل ۾)
پيرا ميٽرز محفوظ ڪرڻ کان پوءِ، توهان ونڊو ۾ نئون VPN ڪنيڪشن ڏسندا. ڪنيڪشن تي کاٻي ڪلڪ ڪريو ۽ "ڪنيڪٽ" چونڊيو. ڪامياب ڪنيڪشن جي صورت ۾، توهان "ڪنيڪٽڊ" اسٽيٽس ڏسندا .
آپشنز ۾، توهان کي ڪلائنٽ ۽ سرور جا اندروني پتا ملندا. فيلڊ "منزل ايڊريس" ٻاهرين سرور ايڊريس ڏيکاري ٿو.
جڏهن ڳنڍيل هوندو آهي، سرور جو اندروني IP پتو، اسان جي صورت ۾ 172.16.0.1 ، سڀني ٻاهر نڪرندڙ پيڪٽس لاءِ ڊفالٽ گيٽ وي بڻجي ويندو آهي.
ڪنهن به آن لائن سروس استعمال ڪندي توهان پڪ ڪري سگهو ٿا ته ڪمپيوٽر جو ٻاهرين IP پتو هاڻي توهان جي VPN سرور جي IP پتي وانگر آهي.
OpenVPN سرور
سرور جي ترتيب
اچو ته موجوده استعمال ڪندڙ جي اجازت جي سطح کي فروغ ڏيون ڇو ته اسان جي وڌيڪ ترتيب لاءِ اسان کي روٽ رسائي جي ضرورت پوندي.
sudo -s
سڀ ضروري پيڪيٽ انسٽال ڪريو. انڪرپشن ڪيز کي منظم ڪرڻ لاءِ اسان کي "Easy-RSA" پيڪٽ جي ضرورت پوندي.
apt install openvpn easy-rsa iptables-persistent
پورٽ 1194 تي UDP پروٽوڪول ذريعي ايندڙ ڪنيڪشن جي اجازت ڏيو ۽ 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
هن قدم تي، دستخط جي تصديق ڪرڻ لاءِ "ها" جو جواب ڏيو، پوءِ پاسورڊ داخل ڪريو جيڪو روٽ سرٽيفڪيٽ جنريشن دوران ٺاهيو ويو هو.
ڊفي-هيلمن پيرا ميٽرز ٺاهيو. اهي پيرا ميٽرز سرور ۽ ڪلائنٽ جي وچ ۾ محفوظ ڪي مٽاسٽا لاءِ استعمال ٿيندا آهن.
./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
ترتيب لاڳو ڪرڻ لاءِ اوپن وي پي اين شروع ڪريو.
systemctl restart openvpn@server
سرور جي ترتيب مڪمل ٿي وئي آهي!
ڪلائنٽ جي ترتيب
اوپن وي پي اين جي سرڪاري ويب سائيٽ " https://openvpn.net " تي وڃو، "ڪميونٽي" سيڪشن ڏانهن وڃو.
هيٺ لٿو ۽ پنهنجي آپريٽنگ سسٽم ورزن لاءِ انسٽالر ڊائون لوڊ ڪريو. اسان جي صورت ۾، اهو ونڊوز 11 ARM64 آهي.
سڀني پيرا ميٽرز کي ڊفالٽ طور ڇڏي ايپليڪيشن انسٽال ڪريو.
ايندڙ مرحلي تي توهان کي سرور تي هيٺ ڏنل فائل تيار ڪرڻ ۽ انهن کي ڪلائنٽ ڪمپيوٽر ڏانهن منتقل ڪرڻ جي ضرورت پوندي:
- سرڪاري ۽ خانگي چاٻيون؛
- سرٽيفڪيشن سينٽر جي چاٻي جي ڪاپي؛
- config فائل ٽيمپليٽ.
سرور سان ڳنڍيو، استحقاق بلند ڪريو، ۽ اسان جي ٺاهيل ڊاريڪٽري ڏانهن وڃو. "~/openvpn".
sudo -s
cd ~/openvpn
ڪلائنٽ لاءِ هڪ خانگي ڪي ۽ سرٽيفڪيٽ درخواست ٺاهيو. دليل جي طور تي، هڪ من ماني نالو بيان ڪريو؛ اسان جي صورت ۾، اهو "client1" آهي.
./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
ڊاريڪٽري جي مالڪ ۽ سڀني فائلن کي تبديل ڪريو "~/client1/" ته جيئن اهي ڪلائنٽ ۾ ورهائي سگهجن. اچو ته اسان جي صورت ۾ "mihail" کي مالڪ بڻايون.
chown -R mihail:mihail ~/client1
ڪلائنٽ ڪمپيوٽر ڏانهن وڃو ۽ "~/client1/" فولڊر جي مواد کي ڪاپي ڪريو. توهان اهو "PSCP" يوٽيليٽي جي مدد سان ڪري سگهو ٿا ، جيڪا پوٽي سان گڏ وڃي ٿي.
PSCP -r mihail@[IP_сервера]:/home/mihail/client1 c:\client1
توهان ڪي فائلون "ca.crt" ، "client1.crt" ، "client1.key" جتي به چاهيو ذخيرو ڪري سگهو ٿا. اسان جي صورت ۾، اهي هن فولڊر "c:\Program Files\OpenVPN\keys" ۾ آهن ، ۽ اسان ڪنفگ فائل "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
باقي کي اڻ ڇهيو ڇڏي ڏيو.
فائل محفوظ ڪريو ۽ ڪلائنٽ ايپليڪيشن "اوپن وي پي اين GUI" لانچ ڪريو.
ٽاسڪ بار ۾ ايپ آئڪن تي ساڄي ڪلڪ ڪريو ۽ "ڪنيڪٽ" چونڊيو . جيڪڏهن ڪنيڪشن ڪامياب ٿي ويو ته آئڪن سائو ٿي ويندو.
ڪنهن به آن لائن سروس استعمال ڪريو انهي کي يقيني بڻائڻ لاءِ ته توهان جو عوامي IP پتو تبديل ٿي ويو آهي ۽ هاڻي سرور جي IP پتي وانگر ساڳيو آهي.