अपने VPS पर WireGuard VPN कैसे सेट अप करें

ApexVPS टीम द्वारा लिखित • अंतिम अपडेट: जुलाई 2026 • 9 मिनट पठन

यह WireGuard VPS सेटअप ट्यूटोरियल दिखाता है कि कैसे Ubuntu या Debian सर्वर पर अपना स्वयं का निजी, तेज़ और आधुनिक VPN बनाएं। WireGuard Linux कर्नेल में निर्मित एक हल्का VPN प्रोटोकॉल है, इसलिए यह OpenVPN या IPsec की तुलना में काफी सरल है, जबकि मजबूत, नवीनतम क्रिप्टोग्राफी प्रदान करता है। अंत तक आपके पास एक चालू सर्वर, कम से कम एक कनेक्टेड क्लाइंट, और अपनी स्वयं की एन्क्रिप्टेड सुरंग पर पूर्ण नियंत्रण होगा — किसी तृतीय-पक्ष VPN सदस्यता की आवश्यकता नहीं है।

अपनी स्वयं की मशीन पर WireGuard चलाने का मतलब है कि ट्रैफिक आपके द्वारा किराए पर लिए गए हार्डवेयर पर समाप्त होता है, न कि किसी भीड़भाड़ वाले उपभोक्ता VPN एंडपॉइंट पर। यदि आप इस बात पर गहराई से विचार करना चाहते हैं कि एक निजी बॉक्स इसके लिए बेहतर आधार क्यों है, तो शुरू करने से पहले व्यक्तिगत VPN के लिए VPS चुनने पर हमारी मार्गदर्शिका पढ़ें।

आपको शुरू करने से पहले क्या चाहिए

एक स्थिर, अप्रतिबंधित एंडपॉइंट VPN के लिए महत्वपूर्ण है, यही कारण है कि वास्तव में समर्पित संसाधन ओवरसेल्ड साझा होस्टिंग को बेहतर बनाते हैं। ApexVPS Business और Enterprise योजनाओं पर एक समर्पित IPv4 उपलब्ध है, जो आपकी सुरंग को एक ऐसा पता देता है जो किसी और के साथ साझा नहीं होता है।

चरण 1: सिस्टम को अपडेट करें और WireGuard इंस्टॉल करें

पैकेज इंडेक्स को रिफ्रेश करके और WireGuard यूज़रस्पेस टूल्स को इंस्टॉल करके शुरू करें। आधुनिक कर्नेल पर यह एकमात्र पैकेज है जिसकी आपको आवश्यकता है।

sudo apt update
sudo apt install wireguard -y

यह wg और wg-quick इंस्टॉल करता है, जो कुंजी, इंटरफ़ेस और कॉन्फ़िगरेशन को प्रबंधित करने वाले दो कमांड हैं। आप wg --version के साथ इंस्टॉल की पुष्टि कर सकते हैं।

चरण 2: सर्वर कुंजियाँ बनाएँ

WireGuard प्रमाणीकरण के लिए सार्वजनिक/निजी कुंजी जोड़ी का उपयोग करता है, बिल्कुल SSH की तरह। कॉन्फ़िग निर्देशिका में जाएँ, फ़ाइल अनुमतियाँ umask से कड़ी करें, और एक चरण में कुंजियाँ बनाएँ।

cd /etc/wireguard
umask 077
wg genkey | sudo tee server_private.key | wg pubkey | sudo tee server_public.key

umask 077 पंक्ति यह सुनिश्चित करती है कि निजी कुंजी केवल root द्वारा पठनीय है। दोनों मान प्रिंट करें ताकि आप उन्हें आगे के कॉन्फ़िग में चिपका सकें।

sudo cat /etc/wireguard/server_private.key
sudo cat /etc/wireguard/server_public.key

निजी कुंजी को गुप्त रखें। जिसके पास भी यह होगी, वह आपके सर्वर की नकल कर सकता है।

चरण 3: सर्वर कॉन्फ़िग (wg0.conf) बनाएँ

सर्वर इंटरफ़ेस एक ही फ़ाइल में वर्णित है, /etc/wireguard/wg0.conf। इसे अपने पसंदीदा संपादक से बनाएँ:

sudo nano /etc/wireguard/wg0.conf

नीचे दिया गया ब्लॉक चिपकाएँ, <SERVER_PRIVATE_KEY> को चरण 2 की निजी कुंजी से और eth0 को अपने वास्तविक इंटरफ़ेस नाम से बदलें यदि वह अलग है।

[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = <SERVER_PRIVATE_KEY>

PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

यहाँ 10.8.0.1/24 निजी VPN सबनेट है, 51820/udp सुनने का पोर्ट है, और PostUp/PostDown नियम NAT जोड़ते और हटाते हैं ताकि क्लाइंट ट्रैफ़िक सर्वर के सार्वजनिक इंटरफ़ेस से बाहर निकल सके। अपना इंटरफ़ेस नाम खोजने के लिए, चलाएँ:

ip route list default

आउटपुट में dev के बाद वाला शब्द (अक्सर eth0, ens3, या enp1s0) वह इंटरफ़ेस है जिसका उपयोग ऊपर की दो फ़ायरवॉल पंक्तियों में करना है।

चरण 4: IP फ़ॉरवर्डिंग और NAT सक्षम करें

डिफ़ॉल्ट रूप से Linux इंटरफ़ेसों के बीच पैकेट रूट नहीं करता, इसलिए कर्नेल को फ़ॉरवर्ड करने के लिए कहना होगा। इसे sysctl ड्रॉप-इन फ़ाइल से स्थायी रूप से सक्षम करें।

echo 'net.ipv4.ip_forward = 1' | sudo tee /etc/sysctl.d/99-wireguard.conf
sudo sysctl -p /etc/sysctl.d/99-wireguard.conf

यदि आप IPv6 को भी टनल से रूट करते हैं, तो उसी फ़ाइल में net.ipv6.conf.all.forwarding = 1 जोड़ें। MASQUERADE नियम चरण 3 से NAT को संभालता है, इसलिए फ़ॉरवर्डिंग चालू होते ही रूटिंग पथ पूरा हो जाता है।

फ़ायरवॉल पोर्ट खोलें

WireGuard UDP पोर्ट की अनुमति दें। यदि आप ufw का उपयोग करते हैं, तो निम्न चलाएँ, और SSH को खुला रखना सुनिश्चित करें ताकि आप खुद को लॉक न करें।

sudo ufw allow 51820/udp
sudo ufw allow OpenSSH
sudo ufw enable

यदि आप ufw के बजाय सीधे iptables से नियम प्रबंधित करते हैं, तो PostUp पंक्तियाँ पहले से ही फ़ॉरवर्डिंग और NAT नियम जोड़ती हैं; आपको केवल यह सुनिश्चित करना है कि इनबाउंड UDP 51820 किसी भी होस्ट फ़ायरवॉल या प्रदाता सुरक्षा समूह द्वारा अनुमत है।

चरण 5: systemd से WireGuard प्रारंभ करें

wg-quick एक systemd सेवा टेम्पलेट के साथ आता है, इसलिए आप अभी टनल शुरू कर सकते हैं और रीबूट के बाद इसे स्वतः वापस आने दें।

sudo systemctl enable --now wg-quick@wg0
sudo systemctl status wg-quick@wg0

enable --now फ़्लैग इंटरफ़ेस को शुरू करता है और बूट पर लॉन्च करने के लिए सेट करता है। एक त्वरित जाँच पुष्टि करती है कि इंटरफ़ेस चालू है:

sudo wg show

आपको एक wg0 इंटरफ़ेस अपनी सार्वजनिक कुंजी और सुनने के पोर्ट के साथ दिखना चाहिए। अभी कोई पीयर नहीं है — यह अगला कदम है।

चरण 6: एक क्लाइंट (पीयर) जोड़ें

हर जुड़ने वाला उपकरण एक पीयर है जिसकी अपनी कुंजी जोड़ी होती है। अपने पहले क्लाइंट के लिए एक कुंजी जोड़ी बनाएँ:

wg genkey | sudo tee client1_private.key | wg pubkey | sudo tee client1_public.key

अब क्लाइंट को सर्वर पर पंजीकृत करें। /etc/wireguard/wg0.conf में एक [Peer] ब्लॉक जोड़ें, जिसमें क्लाइंट की सार्वजनिक कुंजी और VPN सबनेट में अगला खाली पता उपयोग करें।

[Peer]
PublicKey = <CLIENT1_PUBLIC_KEY>
AllowedIPs = 10.8.0.2/32

इंटरफ़ेस को रीलोड करें ताकि नया पीयर प्रभावी हो:

sudo systemctl restart wg-quick@wg0

टनल को ड्रॉप नहीं करना चाहते? आप बिना रीस्टार्ट के पीयर को हॉट-ऐड कर सकते हैं:

sudo wg set wg0 peer <CLIENT1_PUBLIC_KEY> allowed-ips 10.8.0.2/32

चरण 7: क्लाइंट कॉन्फ़िग और QR कोड बनाएँ

सर्वर पर, क्लाइंट कॉन्फ़िगरेशन फ़ाइल तैयार करें। यह वही है जो डिवाइस — लैपटॉप या फ़ोन — लोड करेगा। प्लेसहोल्डर को क्लाइंट की निजी कुंजी और सर्वर की सार्वजनिक कुंजी और सार्वजनिक IP से बदलें।

[Interface]
PrivateKey = <CLIENT1_PRIVATE_KEY>
Address = 10.8.0.2/24
DNS = 1.1.1.1

[Peer]
PublicKey = <SERVER_PUBLIC_KEY>
Endpoint = <SERVER_PUBLIC_IP>:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25

AllowedIPs = 0.0.0.0/0, ::/0 सेट करने से क्लाइंट का सारा ट्रैफ़िक टनल से रूट होता है — क्लासिक फुल-VPN व्यवहार। PersistentKeepalive = 25 NAT और फ़ायरवॉल के माध्यम से कनेक्शन को जीवित रखता है। इसे client1.conf के रूप में सहेजें।

डेस्कटॉप के लिए, client1.conf को मशीन पर कॉपी करें और आधिकारिक WireGuard क्लाइंट में आयात करें। फ़ोन के लिए, फ़ाइल को टर्मिनल में स्कैन करने योग्य QR कोड के रूप में प्रस्तुत करें:

sudo apt install qrencode -y
qrencode -t ansiutf8 < client1.conf

Android या iOS पर WireGuard ऐप खोलें, "Add tunnel" फिर "Scan from QR code" चुनें, और टनल सेकंडों में आयात हो जाएगा। आधिकारिक ऐप्स और क्लाइंट सभी wireguard.com से जुड़े हैं।

चरण 8: टनल सत्यापित करें

क्लाइंट पर टनल सक्रिय करें, फिर सर्वर पर हैंडशेक की पुष्टि करें। एक स्वस्थ कनेक्शन हालिया हैंडशेक और बढ़ते ट्रांसफर काउंटर दिखाता है।

sudo wg show

अपने पीयर के अंतर्गत latest handshake टाइमस्टैम्प और गैर-शून्य transfer मान देखें। अंत में, क्लाइंट से सत्यापित करें कि आपका सार्वजनिक IP अब सर्वर का IP है:

curl ifconfig.me

यदि यह VPS पता लौटाता है, तो आपका ट्रैफिक टनल के माध्यम से बह रहा है और WireGuard VPS सेटअप पूरा हो गया है। अधिक डिवाइस जोड़ने के लिए, एक नई कुंजी जोड़ी और 10.8.0.0/24 रेंज में अगले पते के साथ चरण 6 और 7 दोहराएं।

कनेक्शन न आने की समस्या का निवारण

यदि wg show कभी हैंडशेक की रिपोर्ट नहीं करता है, तो सामान्य कारणों को क्रम से जांचें। पहले, पुष्टि करें कि पोर्ट वास्तव में खुला है: दूसरी मशीन से nc -uzv <SERVER_PUBLIC_IP> 51820 चलाएं, और जांचें कि आपके प्रदाता का सुरक्षा समूह या फ़ायरवॉल इनबाउंड UDP 51820 की अनुमति देता है, केवल TCP नहीं। दूसरा, सुनिश्चित करें कि IP फ़ॉरवर्डिंग वास्तव में sysctl net.ipv4.ip_forward के साथ सक्षम है — इसे 1 लौटाना चाहिए। तीसरा, दोबारा जांचें कि PostUp NAT नियम में इंटरफ़ेस नाम ip route list default के आउटपुट से मेल खाता है; बेमेल सबसे आम कारण है कि ट्रैफिक प्रमाणित होता है लेकिन इंटरनेट तक कभी नहीं पहुंचता है। अंत में, सत्यापित करें कि कुंजियाँ स्वैप नहीं हैं: सर्वर कॉन्फ़िग में सर्वर की निजी कुंजी और क्लाइंट की सार्वजनिक कुंजी होती है, जबकि क्लाइंट कॉन्फ़िग उस व्यवस्था को प्रतिबिंबित करता है। एक भी क्रॉस कुंजी चुपचाप हैंडशेक को रोक देती है।

WireGuard के लिए सही VPS चुनना

WireGuard स्वयं छोटा है — प्रोटोकॉल मुश्किल से CPU छूता है — इसलिए एक एंट्री-लेवल प्लान भी व्यक्तिगत VPN आराम से चलाता है। असली अनुभव नेटवर्क से निर्धारित होता है: बैंडविड्थ, आपके क्षेत्र की विलंबता, और क्या IP केवल आपका है। ApexVPS 39 स्थानों पर वास्तव में समर्पित vCPU, RAM और NVMe स्टोरेज पर चलता है, प्रमुख क्षेत्रों में कम विलंबता के साथ, इसलिए थ्रूपुट पूर्वानुमानित रहता है, शोर-शराबे वाले पड़ोसियों के तहत शिथिल नहीं होता।

यदि आप टनल को एक स्थिर, साझा-रहित पते पर रखना चाहते हैं, तो Business और Enterprise plans पर एक समर्पित IPv4 शामिल है। और क्योंकि गोपनीयता VPN को सेल्फ-होस्ट करने का मुख्य उद्देश्य होती है, यह ध्यान देने योग्य है कि आप साइन अप कैसे करते हैं: ApexVPS एक नो-KYC VPS है जिसमें केवल ईमेल साइनअप और ऑक्सापे के माध्यम से केवल क्रिप्टो चेकआउट है, जो Bitcoin, Ethereum, USDT और 30+ क्रिप्टोकरेंसी स्वीकार करता है — कोई नाम, पता, क्रेडिट कार्ड या बैंक खाता आवश्यक नहीं।

अक्सर पूछे जाने वाले प्रश्न

क्या VPS पर WireGuard सेट करना मुश्किल है?

नहीं। WireGuard एक छोटी, पढ़ने में आसान कॉन्फ़िगरेशन फ़ाइल और कुछ मानक कमांड का उपयोग करता है। ताज़ा Ubuntu या Debian VPS पर आप इसे इंस्टॉल कर सकते हैं, कुंजियाँ उत्पन्न कर सकते हैं, wg0.conf लिख सकते हैं, और लगभग दस से पंद्रह मिनट में अपना पहला क्लाइंट कनेक्ट कर सकते हैं।

क्या WireGuard VPN के लिए समर्पित IP की आवश्यकता है?

समर्पित IP सख्ती से आवश्यक नहीं है, लेकिन यह आपके टनल को एक स्थिर एंडपॉइंट देता है जो अन्य ग्राहकों के साथ साझा नहीं होता है। ApexVPS पर Business प्लान में एक समर्पित IPv4 शामिल है, Enterprise पर दो।

कौन से Ubuntu और Debian संस्करण WireGuard का समर्थन करते हैं?

WireGuard लिनक्स कर्नेल में संस्करण 5.6 से निर्मित है, इसलिए Ubuntu 20.04 और बाद के, और Debian 11 और बाद के संस्करण इसे आउट-ऑफ-बॉक्स शामिल करते हैं। आपको केवल apt के साथ यूज़रस्पेस टूल्स इंस्टॉल करने की आवश्यकता है।

क्या मैं अपने फोन पर उसी सर्वर का उपयोग कर सकता हूं?

हां। फोन के लिए एक दूसरा पीयर जोड़ें, एक क्लाइंट कॉन्फ़िग उत्पन्न करें, और इसे qrencode के साथ QR कोड के रूप में प्रस्तुत करें। Android और iOS के लिए आधिकारिक WireGuard ऐप्स कोड स्कैन करते हैं और तुरंत कनेक्ट होते हैं।

क्या मैं बिना क्रेडिट कार्ड के VPS के लिए भुगतान कर सकता हूं?

हां। ApexVPS चेकआउट केवल क्रिप्टो है और Bitcoin, Ethereum, USDT और 30+ क्रिप्टोकरेंसी स्वीकार करता है। साइनअप केवल ईमेल मांगता है ताकि हम एक्सेस विवरण भेज सकें — कोई नाम, पता या ID नहीं।

क्या आप अपना खुद का VPN होस्ट करने के लिए तैयार हैं? जानें क्यों ApexVPS निजी VPN के लिए बनाया गया है →