WireGuard VPN सर्वर सेट करने के लिए wireguard इंस्टॉल करें, सर्वर और हर क्लाइंट के लिए की पेयर बनाएं, एक प्राइवेट सबनेट के साथ /etc/wireguard/wg0.conf लिखें, IP फ़ॉरवर्डिंग और NAT चालू करें, एक UDP पोर्ट खोलें और wg-quick@wg0 शुरू करें। Ubuntu 24.04 या Debian 12 पर इसमें लगभग दस मिनट लगते हैं।
WireGuard छोटा, तेज़ और Linux कर्नेल में बना हुआ है। यह जर्मन एग्ज़िट वाले निजी VPN, कंपनी नेटवर्क तक रिमोट एक्सेस, या सर्वरों को आपस में जोड़ने के लिए बढ़िया है।
आपको क्या चाहिए
- पब्लिक IPv4 एड्रेस वाला एक VPS (IPv6 हो तो और अच्छा)। 1 vCPU / 1 GB प्लान काफ़ी है। फ़्रैंकफ़र्ट VPS पूरे यूरोप में कम लेटेंसी देता है।
- root या sudo एक्सेस।
- हर क्लाइंट पर WireGuard ऐप: Windows, macOS, Linux, Android या iOS।
उदाहरणों में:
| चीज़ | उदाहरण मान |
|---|---|
| सर्वर का पब्लिक एड्रेस | 203.0.113.10 |
| VPN सबनेट | 10.8.0.0/24 |
| सर्वर का टनल एड्रेस | 10.8.0.1 |
| पहला क्लाइंट | 10.8.0.2 |
| UDP पोर्ट | 51820 |
इन्हें अपने मानों से बदलें। शॉर्टकट चाहिए? Wolkra पर सर्वर बनाते समय WireGuard वन-क्लिक ऐप चुनें और सीधे चरण 7 पर जाएं।
1. WireGuard इंस्टॉल करें
sudo apt update
sudo apt install -y wireguard qrencode
qrencode से आप क्लाइंट कॉन्फ़िग को फ़ोन के लिए QR कोड के रूप में दिखा सकते हैं।
2. सर्वर की कीज़ बनाएं
sudo -i
cd /etc/wireguard
umask 077
wg genkey | tee server.key | wg pubkey > server.pub
umask 077 यह पक्का करता है कि प्राइवेट की सिर्फ़ root पढ़ सके।
3. पब्लिक नेटवर्क इंटरफ़ेस पता करें
ip route show default
dev के बाद वाला शब्द आपका पब्लिक इंटरफ़ेस है, आम तौर पर eth0 या ens3। उदाहरण eth0 इस्तेमाल करते हैं।
4. सर्वर कॉन्फ़िग लिखें
/etc/wireguard/wg0.conf बनाएं:
[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = <contents of server.key>
# इंटरनेट पर जाने वाले VPN क्लाइंट के लिए NAT
PostUp = iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
PostDown = iptables -t nat -D POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
की को इससे पेस्ट करें:
sed -i "s|<contents of server.key>|$(cat server.key)|" wg0.conf
chmod 600 wg0.conf
Debian 12 और Ubuntu 24.04 अंदर से nftables इस्तेमाल करते हैं, और iptables कमांड nftables बैकएंड के ज़रिए काम करता है, इसलिए ऊपर के नियम दोनों पर चलते हैं।
5. IP फ़ॉरवर्डिंग चालू करें
echo 'net.ipv4.ip_forward=1' > /etc/sysctl.d/99-wireguard.conf
sysctl --system
6. फ़ायरवॉल खोलें और टनल शुरू करें
UFW के साथ:
ufw allow 51820/udp
ufw route allow in on wg0 out on eth0
ufw reload
ufw route allow टनल से आने वाले फ़ॉरवर्ड ट्रैफ़िक को इंटरनेट तक जाने देता है। इसके बिना क्लाइंट कनेक्ट तो हो जाते हैं, लेकिन इंटरनेट नहीं चलता।
अगर आप Wolkra फ़ायरवॉल इस्तेमाल करते हैं, तो वहां भी UDP 51820 के लिए एक इनबाउंड नियम जोड़ें।
WireGuard शुरू करें और बूट पर चालू होने के लिए सेट करें:
systemctl enable --now wg-quick@wg0
wg show
wg show में wg0 इंटरफ़ेस और उसका लिसनिंग पोर्ट दिखना चाहिए।
7. क्लाइंट जोड़ें
क्लाइंट की कीज़ सर्वर पर बनाएं (या क्लाइंट डिवाइस पर, जो थोड़ा ज़्यादा सुरक्षित है क्योंकि प्राइवेट की कभी डिवाइस से बाहर नहीं जाती):
cd /etc/wireguard
wg genkey | tee laptop.key | wg pubkey > laptop.pub
क्लाइंट को चल रहे सर्वर में peer के रूप में जोड़ें और कॉन्फ़िग सेव करें:
wg set wg0 peer "$(cat laptop.pub)" allowed-ips 10.8.0.2/32
wg-quick save wg0
wg-quick save लाइव स्थिति को वापस wg0.conf में लिख देता है, इसलिए peer रीस्टार्ट के बाद भी बना रहता है।
8. क्लाइंट कॉन्फ़िग लिखें
laptop.conf बनाएं:
[Interface]
PrivateKey = <contents of laptop.key>
Address = 10.8.0.2/32
DNS = <your resolver>
[Peer]
PublicKey = <contents of server.pub>
Endpoint = 203.0.113.10:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25
AllowedIPs = 0.0.0.0/0, ::/0सारा ट्रैफ़िक VPN से भेजता है (फ़ुल टनल)।- ऐसे स्प्लिट टनल के लिए जो सिर्फ़ आपके प्राइवेट नेटवर्क तक पहुंचे, उदाहरण के लिए
AllowedIPs = 10.8.0.0/24, 10.0.0.0/24इस्तेमाल करें। PersistentKeepaliveघरेलू राउटर और मोबाइल नेटवर्क के पीछे टनल को खुला रखता है।DNSकिसी भरोसेमंद रिज़ॉल्वर का एड्रेस है, जैसे कोई पब्लिक रिज़ॉल्वर या जिसे आप सर्वर पर खुद चलाते हैं।
फ़ोन पर इम्पोर्ट करें
qrencode -t ansiutf8 < laptop.conf
WireGuard ऐप खोलें, Scan from QR code चुनें और फ़ोन को टर्मिनल की ओर करें।
कंप्यूटर पर इम्पोर्ट करें
laptop.conf को सुरक्षित तरीके से डिवाइस पर कॉपी करें (जैसे scp से) और WireGuard ऐप में इम्पोर्ट करें, या Linux पर:
sudo cp laptop.conf /etc/wireguard/wg0.conf
sudo wg-quick up wg0
Linux क्लाइंट पर wg-quick DNS को resolvconf के ज़रिए सेट करता है। अगर यह शिकायत करे कि कमांड मौजूद नहीं है, तो openresolv (Debian) इंस्टॉल करें या DNS लाइन हटाकर DNS खुद कॉन्फ़िगर करें।
अगर आपने क्लाइंट की प्राइवेट की सर्वर पर बनाई थी, तो बाद में उसे सर्वर से डिलीट कर दें।
9. टनल टेस्ट करें
क्लाइंट पर कनेक्ट करें और पब्लिक एड्रेस जांचें:
curl -4 https://ifconfig.me
इसमें सर्वर का एड्रेस दिखना चाहिए। सर्वर पर:
wg show
हाल का "latest handshake" और बढ़ते हुए transfer काउंटर का मतलब है कि peer कनेक्टेड है।
टनल में IPv6 जोड़ना
अगर आपके सर्वर के पास IPv6 एड्रेस है, तो आप क्लाइंट को भी IPv6 दे सकते हैं। सर्वर के Address में एक प्राइवेट IPv6 रेंज जोड़ें (कोई यूनिक लोकल एड्रेस जैसे fd42:42:42::1/64), हर क्लाइंट के लिए मेल खाता एड्रेस दें, net.ipv6.conf.all.forwarding=1 चालू करें, और IPv4 वाले नियम की तरह एक ip6tables masquerade नियम जोड़ें। ऐसा न करें तो क्लाइंट के AllowedIPs में ::/0 न रखें, वरना IPv6 ट्रैफ़िक लीक होने के बजाय ड्रॉप हो जाएगा।
समस्या निवारण
| लक्षण | जांचें |
|---|---|
| कोई handshake नहीं | क्या UFW और क्लाउड फ़ायरवॉल में UDP पोर्ट खुला है? एंडपॉइंट और पब्लिक की सही है? |
| handshake है पर इंटरनेट नहीं | ip_forward सेट है? NAT नियम सही इंटरफ़ेस पर है? ufw route allow जोड़ा? |
| वेबसाइटें धीरे खुलती हैं | MTU कम करके देखें: क्लाइंट के [Interface] में MTU = 1380 जोड़ें |
| Wi-Fi पर चलता है, मोबाइल पर नहीं | PersistentKeepalive = 25 जोड़ें |
journalctl -u wg-quick@wg0 स्टार्ट-अप की त्रुटियां दिखाता है।
ट्रैफ़िक और लागत
VPN सर्वर पर ट्रैफ़िक दोगुना कर देता है: डेटा इंटरनेट से आता है और फिर क्लाइंट तक जाता है। मीटर्ड प्लान पर यह जल्दी बढ़ जाता है। Wolkra सर्वरों पर अनमीटर्ड बैंडविड्थ है, बिना प्रति-GB शुल्क के, उचित उपयोग के तहत 10 Gbit/s तक के शेयर्ड पोर्ट पर। ध्यान रखें कि आपके VPN से गुज़रने वाली हर चीज़ पर स्वीकार्य उपयोग नीति फिर भी लागू होती है।
लोग अपना खुद का VPN क्यों चलाते हैं, इस बारे में और जानने के लिए देखें VPN सर्वर के उपयोग। होस्ट को खुद मज़बूत करने के लिए Ubuntu सर्वर को सुरक्षित कैसे करें फ़ॉलो करें, लेकिन sysctl की वे redirect सेटिंग्स छोड़ दें जो रूटिंग से टकराती हैं।
अक्सर पूछे जाने वाले सवाल
WireGuard के लिए कितना बड़ा सर्वर चाहिए?
बहुत छोटा। WireGuard कर्नेल में चलता है और 1 vCPU, 1 GB वाला सर्वर एक घर या छोटी टीम को आराम से संभाल लेता है।
WireGuard कौन-सा पोर्ट इस्तेमाल करता है?
आपका चुना हुआ कोई भी UDP पोर्ट। 51820 आम डिफ़ॉल्ट है; इसे सर्वर फ़ायरवॉल और किसी भी क्लाउड फ़ायरवॉल, दोनों में खोलें।
क्या VPN सर्वर बहुत ट्रैफ़िक इस्तेमाल करता है?
हां, क्लाइंट का इस्तेमाल किया हर बाइट सर्वर में आता भी है और बाहर जाता भी है। अनमीटर्ड प्लान इसके लिए प्रति-GB शुल्क से बचाता है।
क्या WireGuard को हाथ से कॉन्फ़िगर करने से आसान कोई तरीका है?
Wolkra पर सर्वर बनाते समय आप WireGuard वन-क्लिक ऐप चुन सकते हैं। यह बूट के कुछ मिनट बाद तैयार हो जाता है।
क्या मैं WireGuard से प्राइवेट सर्वरों तक पहुंच सकता हूं?
हां। सारे ट्रैफ़िक के बजाय अपनी प्राइवेट नेटवर्क रेंज को टनल से रूट करें, और क्लाइंट उन सर्वरों तक पहुंच सकेंगे जिनका कोई पब्लिक IP नहीं है।