InternetSpeed.online

भाषा

लेखहरू

व्यावहारिक निर्देशिका

स्क्रिप्टबाट Ubuntu मा WireGuard VPN सर्भर कसरी सेटअप गर्ने

नयाँ Ubuntu सर्भरदेखि व्यक्तिगत VPN सम्म: सर्भर सेटअप, उपकरण प्रोफाइल र इन्टरनेट ट्राफिक टनेलबाट गएको जाँच्ने निर्देशन।

सर्भर सेटअप, Linux कन्टेनर जडान र Windows गति परीक्षण गरिएको छ। वास्तविक macOS, Ubuntu Desktop, iPhone र Android परीक्षण बाँकी छन्।

1. सर्भर छान्नुहोस् र पहुँच तयार गर्नुहोस्

यो निर्देशिका Ubuntu 26.04 LTS VPS मा सुरुदेखिको स्थापना हो। सार्वजनिक IPv4 र root पासवर्ड वा SSH कुञ्जी चाहिन्छ। प्रदायक र क्षेत्र आवश्यकताअनुसार छान्नुहोस्।

हामी Vultr Shared CPU प्रयोग गर्छौँ: 1 vCPU, 1 GB RAM, 25 GB SSD र मासिक 1 TB ट्राफिक।

IPv6 नभएको नेटवर्कबाट पनि जोडिन IPv4 सर्भर छान्नुहोस्। IPv6 मात्र भएको सर्भरलाई IPv4 साइटमा पुग्न थप व्यवस्था चाहिन्छ; यहाँ समेटिएको छैन।

2. SSH बाट लगइन जाँच्नुहोस्

Windows: Start मा PowerShell खोजेर खोल्नुहोस्। Mac: Command+Space, Terminal लेखेर Enter। Ubuntu Desktop: Ctrl+Alt+T।

हरेक आदेशमा SERVER_IP लाई सर्भर प्यानलको सार्वजनिक IPv4 ले बदल्नुहोस्। ssh root@SERVER_IP ले root का रूपमा जोड्छ।

पासवर्डको आदेश वा पहिलेको SSH कुञ्जीको आदेश छान्नुहोस्। कुञ्जीको उदाहरण पथ आफ्नो पथले बदल्नुहोस्।

पहिलो जडानमा SSH ले विश्वासको पुष्टि माग्न सक्छ। VPS ठेगाना जाँचेर yes र Enter थिच्नुहोस्। माग्दा root पासवर्ड लेख्नुहोस्; अक्षर स्क्रिनमा देखिँदैनन्।

लगइनपछि Ubuntu जाँच्ने आदेश चलाउनुहोस् र exit बाट आफ्नो कम्प्युटरमा फर्कनुहोस्।

आफ्नो कम्प्युटरको PowerShell वा Terminal — पासवर्ड लगइन
ssh root@SERVER_IP
आफ्नो कम्प्युटरको PowerShell वा Terminal — मौजुदा SSH कुञ्जी
ssh -i ~/.ssh/id_ed25519 root@SERVER_IP
सर्भरमा
cat /etc/os-release
exit
ssh आदेश भेटिएन भने

Windows मा PowerShell लाई Run as administrator बाट खोलेर तलको आदेश चलाउनुहोस्। स्थापना सकिएपछि बन्द गरी सामान्य PowerShell खोल्नुहोस्। Ubuntu मा Ubuntu आदेश प्रयोग गर्नुहोस्। macOS मा SSH क्लाइन्ट हुन्छ।

Windows — प्रशासक PowerShell मा SSH क्लाइन्ट स्थापना
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

आदेश जस्ताको तस्तै प्रतिलिपि गर्नुहोस्। OpenSSH.Client~~~~0.0.1.0 Windows कम्पोनेन्टको पहिचान हो; टिल्डा र अङ्क नबदल्नुहोस्।

Ubuntu Desktop — SSH क्लाइन्ट स्थापना
sudo apt update
sudo apt install openssh-client

3. सेटअप प्याकेज डाउनलोड गरी हेर्नुहोस्

ZIP डाउनलोड गरेर निकाल्नुहोस्। पाँचवटै स्क्रिप्ट wireguard-guide फोल्डरमा सँगै राख्नुहोस्। Windows, Mac वा Ubuntu को एउटा बाटो मात्र अपनाउनुहोस्।

स्क्रिप्टले VPS मा WireGuard र उपकरणको प्रोफाइल बनाउँछ। सर्भर पासवर्ड धेरै पटक मागिन सक्छ।

सेटअप स्क्रिप्ट डाउनलोड (.zip)

4a. Windows बाट सर्भर सेटअप

File Explorer मा निकालिएको wireguard-guide खोल्नुहोस्। ठेगाना पट्टीमा powershell लेखेर Enter थिच्दा त्यही फोल्डरमा PowerShell खुल्छ।

एउटा आदेश चलाउनुहोस्। SERVER_IP र आवश्यक भए SSH कुञ्जीको पथ बदल्नुहोस्।

-Device पछिको windows प्रोफाइलको नाम हो। अर्को कम्प्युटरलाई laptop जस्तो फरक नाम दिनुहोस्। छुट्टै प्रोफाइलले अरूलाई नछुटाई एउटा उपकरणको पहुँच हटाउन दिन्छ।

सकिएपछि File Explorer को ठेगाना पट्टीमा %USERPROFILE%\WireGuard लेख्नुहोस्। सर्भर-उपकरण नामको फोल्डरमा windows.conf छ। स्क्रिप्टले पूरा पथ पनि देखाउँछ। चरण 5 मा VPN चलाउनुहोस्।

PowerShell — पासवर्ड प्रमाणीकरण
.\Connect-WireGuardServer.ps1 -Server SERVER_IP -Device windows
PowerShell — SSH कुञ्जी प्रमाणीकरण
.\Connect-WireGuardServer.ps1 -Server SERVER_IP -Device windows -IdentityFile "$HOME\.ssh\id_ed25519"
PowerShell ले स्क्रिप्ट रोकेमा

फाइलमा डिजिटल हस्ताक्षर छैन भन्ने त्रुटि आए यही फोल्डरमा यो आदेश चलाएर सेटअप फेरि गर्नुहोस्।

PowerShell — डाउनलोड फाइलको रोक हटाउने
Unblock-File -LiteralPath .\Connect-WireGuardServer.ps1

स्क्रिप्ट चलाउन बन्द गरिएको भए यी आदेश चलाएर पुष्टि गर्नुहोस् र फेरि प्रयास गर्नुहोस्। परिवर्तन PowerShell झ्याल बन्द हुँदासम्म मात्र रहन्छ।

PowerShell — यो झ्यालमा मात्र स्क्रिप्ट अनुमति
Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned
Unblock-File -LiteralPath .\Connect-WireGuardServer.ps1

नीतिसम्बन्धी त्रुटि बाँकी भए रोक्नुहोस् र निदानका लागि सन्देश राख्नुहोस्।

4b. Mac बाट सर्भर सेटअप

Terminal खोल्नुहोस्। cd र स्पेस लेख्नुहोस्, Finder बाट wireguard-guide तानेर Terminal मा राखी Enter थिच्नुहोस्।

सुरुको bash सहित एउटा आदेश चलाउनुहोस्। SERVER_IP र कुञ्जीको पथ बदल्नुहोस्। mac प्रोफाइल नाम हो; अर्को Mac लाई macbook जस्तो नाम दिनुहोस्।

Finder मा Command+Shift+H ले गृह फोल्डर खोल्नुहोस्। WireGuard र सर्भर-उपकरण फोल्डरमा mac.conf भेटिन्छ। स्क्रिप्टले पूरा पथ पनि देखाउँछ।

macOS Terminal — पासवर्ड
bash ./connect-wireguard-server.sh SERVER_IP mac
macOS Terminal — SSH कुञ्जी
bash ./connect-wireguard-server.sh SERVER_IP mac 22 ~/.ssh/id_ed25519

4c. Ubuntu Desktop बाट सर्भर सेटअप

Ctrl+Alt+T थिच्नुहोस्। cd र स्पेस लेखेर wireguard-guide फोल्डर Terminal मा तान्नुहोस् र Enter थिच्नुहोस्।

SERVER_IP बदल्दै एउटा आदेश चलाउनुहोस्। ubuntu प्रोफाइल नाम हो। यो लन्चर र SSH लगइनलाई sudo चाहिँदैन।

फाइल व्यवस्थापकमा Home, WireGuard र सर्भर-उपकरण फोल्डर खोल्नुहोस्। वास्तविक सर्भर ठेगानासहित ~/WireGuard/SERVER_IP-ubuntu/ubuntu.conf मा प्रोफाइल छ। जडानका लागि NetworkManager प्रयोग हुन्छ।

Ubuntu Desktop मा — पासवर्ड
bash ./connect-wireguard-server.sh SERVER_IP ubuntu
Ubuntu Desktop मा — SSH कुञ्जी
bash ./connect-wireguard-server.sh SERVER_IP ubuntu 22 ~/.ssh/id_ed25519

5a. Windows वा macOS जोड्नुहोस्

आधिकारिक WireGuard एप स्थापना गर्नुहोस्। बनेको .conf आयात गरेर VPN अनुमति स्वीकार्नुहोस् र टनेल चलाउनुहोस्। आयात विकल्पको नाम संस्करणअनुसार फरक हुन सक्छ।

प्रोफाइलले IPv4 टनेलमा पठाउँछ र IPv6 बाहिर नजाओस् भनेर पूर्वनिर्धारित IPv6 मार्ग राख्छ। सर्भरले IPv6 इन्टरनेट दिँदैन। तलका परीक्षणले उपकरणको व्यवहार जाँच्नुहोस्।

प्रोफाइलमा निजी कुञ्जी हुन्छ। प्रतिलिपि हुनेले उपकरणको VPN पहिचान चलाउन प्रयास गर्न सक्छ। सहायता टिकट, अनलाइन QR बनाउने सेवा वा अरू उपकरणसँग साझा नगर्नुहोस्।

आधिकारिक WireGuard डाउनलोड

5b. NetworkManager बाट Ubuntu Desktop जोड्नुहोस्

NetworkManager ले प्रोफाइल आयात, DNS र मार्ग व्यवस्थापन गर्छ; ग्राफिकल संवादको संस्करणमा निर्भर हुँदैन। आदेश आफ्नै डेस्कटपमा चलाउनुहोस्, VPS को SSH मा होइन। पहिले nmcli र NetworkManager चलेको जाँच्नुहोस्।

ubuntu.conf ले ubuntu नामको जडान बनाउँछ। नाम पहिले भए अर्को उपकरण नाम र मिल्दो आदेश प्रयोग गर्नुहोस्। आयात एक पटक; पछि up र down प्रयोग गर्नुहोस्। तलको सेटिङले कम्प्युटर सुरु हुँदा स्वतः VPN जडान बन्द गर्छ।

यो DNS सेटिङले जडान सक्रिय हुँदा सबै नामका लागि VPN प्राथमिकता दिन्छ। ब्राउजरको सुरक्षित DNS फरक हुन सक्छ। चरण 7 को IP, DNS र IPv6 जाँच्नुहोस्। यो तरिका वास्तविक Ubuntu Desktop मा परीक्षण भएको छैन; कन्टेनर नतिजाले डेस्कटप DNS वा IPv6 प्रमाणित गर्दैन।

एउटै प्रोफाइल सँगसँगै wg-quick बाट नचलाउनुहोस्; मार्ग बाझिन सक्छ। दृश्य फरक भए पनि nmcli बाट जाँच र विच्छेद गर्न सकिन्छ।

Ubuntu Desktop — NetworkManager जाँच
nmcli --version
systemctl is-active NetworkManager
Ubuntu Desktop — एक पटक आयात र DNS सेटअप
sudo nmcli connection import type wireguard file "$HOME/WireGuard/SERVER_IP-ubuntu/ubuntu.conf"
sudo nmcli connection modify ubuntu connection.autoconnect no ipv4.dns-priority -50 ipv4.dns-search "~."
Ubuntu Desktop — जोड्ने
sudo nmcli connection up ubuntu
nmcli connection show --active
Ubuntu Desktop — छुटाउने
sudo nmcli connection down ubuntu

6. QR बाट iPhone वा Android जोड्नुहोस्

तलको App Store वा Google Play लिङ्कबाट आधिकारिक WireGuard एप राख्नुहोस्।

कम्प्युटरबाट ssh root@SERVER_IP वा कुञ्जीको आदेशले VPS मा फेरि पस्नुहोस्। फोनको आदेशले प्रोफाइल र QR बनाउँछ।

फोनको WireGuard मा QR स्क्यान गरेर टनेल थप्ने विकल्प छान्नुहोस्। कम्प्युटरको कोड स्क्यान गरी नाम दिनुहोस्, VPN अनुमति स्वीकारेर चलाउनुहोस्।

हरेक फोनलाई अलग प्रोफाइल। QR साझा नगर्नुहोस्: यसले VPN पहुँच दिन्छ। कोडका लाइन बिग्रिए Terminal झ्याल ठूलो पारेर फेरि देखाउनुहोस्।

सर्भरमा — iPhone प्रोफाइल बनाउने
python3 /root/internetspeed-wireguard/manage-client.py add iphone
qrencode -t ANSIUTF8 < /etc/wireguard/clients/iphone.conf
सर्भरमा — अलग Android प्रोफाइल बनाउने
python3 /root/internetspeed-wireguard/manage-client.py add android
qrencode -t ANSIUTF8 < /etc/wireguard/clients/android.conf

iPhone का लागि WireGuard — App Store

Android का लागि WireGuard — Google Play

7. इन्टरनेट VPN बाट गएको जाँच्नुहोस्

VPN चलाउनुअघि My IP खोलेर ठेगाना टिप्नुहोस्। WireGuard चलाएर My IP पुनः लोड गर्नुहोस् र VPS को सार्वजनिक IPv4 सँग दाँज्नुहोस्।

पृष्ठ खुलेर VPS ठेगाना देखिए त्यो ब्राउजर जडान VPN बाट गएको छ। पुरानो ठेगाना रहे समस्या समाधान हेर्नुहोस्।

यसले ब्राउजर जाँच गर्छ, सबै एप वा VPN छुट्दा हुने सुरक्षा होइन। थप परीक्षण DNS र IPv6 का हुन्।

सार्वजनिक IP जाँच्नुहोस्

ऐच्छिक: IPv6 र DNS जाँच

IPv6: जडानअघि Test IPv6 मा IPv6 ठेगाना छ कि हेर्नुहोस्। VPN चलाएर दोहोर्‍याउनुहोस्। यस IPv4 सेटअपमा IPv6 इन्टरनेट चल्नु हुँदैन। सामान्य IPv6 देखिए टनेलबाहिर गएको छ। पहिले नै IPv6 थिएन भने IPv6 नेटवर्कको व्यवहार यो परीक्षणले बताउँदैन।

DNS: VPN चलाएर DNS Leak Test मा Standard test गर्नुहोस्। प्रोफाइलले Cloudflare DNS चलाउँछ। घरको प्रदायक देखिए उपकरण DNS जाँच्नुहोस्। अर्को प्रदायक ब्राउजरको Secure DNS बाट पनि आउन सक्छ; आफैँमा चुहावटको प्रमाण होइन। परिणामले सबै एप सुरक्षित भएको सुनिश्चित गर्दैन।

Test IPv6 खोल्नुहोस्

DNS Leak Test खोल्नुहोस्

8. जडान समस्या समाधान

My IP मा सामान्य ठेगाना रहे WireGuard प्रोफाइल सक्रिय छ कि हेर्नुहोस्। एक पटक बन्द-चालु गरी My IP पुनः लोड गर्नुहोस्।

VPN चलाउँदा साइट नखुले बन्द गरेर उही पृष्ठ खोल्नुहोस्। त्यसरी पनि नखुले सामान्य इन्टरनेट सुधार्नुहोस्। VPN मा मात्र समस्या भए तल जाँच्नुहोस्।

तुलनाका लागि कम्प्युटर फोनको हटस्पटमा जोडेर VPN चलाउनुहोस्। फोनमा Wi-Fi बन्द गरेर मोबाइल डेटा प्रयोग गर्नुहोस्; शुल्क लाग्न सक्छ। यो अस्थायी परीक्षण हो। मोबाइलमा मात्र चले समस्या त्यो Wi-Fi जडानसँग सम्बन्धित छ, निश्चित कारण अझै खुलेको छैन।

सेटअप त्रुटिमा रोकिए अन्तिम सन्देश राख्नुहोस्। कारण सुधारेर उही उपकरण नामसहित आदेश दोहोर्‍याउनुहोस्। पुरानो प्रोफाइल जोगिन्छ।

VPN सर्भर चलिरहेको जाँच

चरण 2 जस्तै SSH मा पसेर आदेश चलाउनुहोस्। नतिजा active हुनुपर्छ। inactive वा failed भए पुनः सुरु गर्ने आदेशपछि जाँच्नुहोस्। active नभए त्रुटि राख्नुहोस्।

सर्भरमा — WireGuard जाँच
systemctl is-active wg-quick@wg0
सर्भरमा — सक्रिय नभए WireGuard पुनः सुरु
systemctl restart wg-quick@wg0
systemctl is-active wg-quick@wg0

पुनः सुरु गर्दा जोडिएका उपकरण केहीबेर छुट्छन्।

उपकरण सर्भरमा पुगेको जाँच

VPN चलाएर My IP खोल्नुहोस्, सर्भरमा wg show चलाउनुहोस्। उपकरणमुनि latest handshake खोज्नुहोस्। 10 seconds ago ले हालै एन्क्रिप्टेड जडान बनेको जनाउँछ। लाइन नभए सफल जडान रेकर्ड भएको छैन।

नयाँ जडान नदेखिए Endpoint मा VPS ठेगाना र :51820 छ कि जाँच्नुहोस्। VPS प्यानलको Firewall वा Security groups मा लागू नियम भए आगमन UDP 51820 अनुमति दिनुपर्छ। स्क्रिन प्रदायकअनुसार फरक हुन्छ; Ubuntu को फायरवाल स्क्रिप्टले सेट गर्छ।

हालको handshake भएर साइट नखुले नतिजा र एपको त्रुटि वा लग राख्नुहोस्। उन्नत नेटवर्क सेटिङ जथाभावी बदल्दा निदान गाह्रो हुन्छ।

सर्भरमा — VPN स्थिति देखाउने
wg show

9. कति गति अपेक्षा गर्न सकिन्छ?

Windows परीक्षणमा डाउनलोड करिब 350–400 Mbps र अपलोड 450–500 Mbps आयो। परियोजनाका अन्य VPN कै विधि अपनाइयो। मार्ग: San Diego का प्रयोगकर्ता → San Francisco Bay Area को VPN → Seattle को मापन सर्भर।

Vultr Shared CPU vc2-1c-1gb: 1 vCPU, 1 GB RAM, 25 GB SSD र मासिक 1 TB ट्राफिक; बनाउँदा मासिक US$5 थियो।

यो यही सेटअपको नतिजा हो। आफ्नो गति इन्टरनेट, सर्भर र स्थानमा भर पर्छ। अरू VPS योजना वा प्रदायकको तुलना भएको छैन।

10. लागत, गोपनीयता र प्रदायकका सीमा

निजी VPN ले सेटिङ र एउटा निकास स्थान नियन्त्रण गर्न दिन्छ। अपडेट, बिल, उपकरण पहुँच र पुनर्स्थापना आफ्नै जिम्मा हुन्। होस्टिङ प्रदायकबाट गुमनाम बनाउँदैन वा HTTPS प्रतिस्थापन गर्दैन।

ब्राउजिङ, भिडियो, डाउनलोड, अपलोड र गति परीक्षणले VPS कोटा खर्च गर्छन्। बाँकी प्यानलमा हेर्नुहोस्। सीमा नाघ्दा योजनाअनुसार थप शुल्क वा रोक लाग्न सक्छ।

P2P अघि प्रदायकका हालका सर्त र लागू कानुन हेर्नुहोस्। प्रोटोकल र सामग्रीको अधिकार अलग हुन्। आफूलाई अधिकार भएको सामग्री मात्र डाउनलोड र साझा गर्नुहोस्; सबै होस्टले सबै P2P अनुमति दिँदैनन्।

डेटा सेन्टर IP ले CAPTCHA, सेवा वा स्ट्रिमिङ रोक भेट्न सक्छ। साधारण WireGuard ले सबै फिल्टर गरिएका नेटवर्कमा पहुँच सुनिश्चित गर्दैन। एउटा VPS एकल विफलता बिन्दु हो; ठूला प्रदायकजस्तो धेरै स्थान र वैकल्पिक सर्भर हुँदैनन्।

11. उपकरण थप्ने, पहुँच हटाउने र मर्मत

प्रत्येक उपकरणको छुट्टै प्रोफाइल। हराएको फोनको नामको peer सर्भरबाट र बाँकी प्रोफाइल प्रतिलिपि हटाएर नयाँ बनाउनुहोस्। फोनको फाइल मात्र हटाउँदा सर्भरको पहुँच रद्द हुँदैन।

Ubuntu सुरक्षा अपडेट राख्नुहोस् र रिबुट आवश्यक छ कि जाँच्नुहोस्। उपयुक्त बेला रिबुट गरेर VPN फर्केको हेर्नुहोस्। होस्टिङ खाता र SSH जोगाउनुहोस्; SSH प्रमाणीकरण छुट्टै चरणमा परीक्षण गरिएको वैकल्पिक लगइनसहित बदल्नुहोस्।

हटाउने स्क्रिप्टले यो VPN रोकेर आफ्ना सेटिङ र फायरवाल नियम मेटाउँछ। SSH, UFW र प्याकेज रहन्छन्। फर्वार्डिङ रिबुटमा प्रणाली नीति लागू हुँदासम्म चालु रहन्छ। VPN हटाउँदा VPS बिल बन्द हुँदैन; आवश्यक डेटा बचाएर नचाहिने सर्भर प्रदायकबाट हटाउनुहोस्।

सर्भरमा — iPhone प्रोफाइल रद्द
python3 /root/internetspeed-wireguard/manage-client.py remove iphone
सर्भरमा — अपडेट र रिबुट आवश्यकता जाँच
apt update
apt list --upgradable
test ! -f /var/run/reboot-required || cat /var/run/reboot-required
सर्भरमा — VPN सेटिङ हटाउने (सबै क्लाइन्ट छुट्छन्)
bash /root/internetspeed-wireguard/remove-server.sh --confirm