हिन्दी (Hindi)

UFW से प्राइवेट नेटवर्क की ओर जाने वाला ट्रैफ़िक ब्लॉक करें

3 min
VPS/VDS होस्टिंग

जब कोई समझौता किया गया स्क्रिप्ट या गलत कॉन्फ़िगर की गई एप्लिकेशन 10.x या 192.168.x पतों को टटोलना शुरू करती है, तो वह ट्रैफ़िक आपके सर्वर से निकलता है और अक्सर नेटवर्क की ओर से एब्यूज़ रिपोर्ट का कारण बनता है। प्राइवेट रेंज की ओर आउटबाउंड कनेक्शन ब्लॉक करना किसी भी VPS Linux Infrawire पर एक सरल सुरक्षा उपाय है। यह गाइड दिखाती है कि UFW से यह कैसे करें, बिना DNS या अपने कनेक्शन को तोड़े।

📋 पूर्वापेक्षाएँ

  • Ubuntu 24.04 या Debian 12 पर root SSH एक्सेस वाला VPS (UFW दोनों पर उपलब्ध है)।
  • UFW की बुनियादी जानकारी। यदि अभी इंस्टॉल नहीं है:
Bash
sudo apt update && sudo apt install -y ufw
  • फ़ायरवॉल बदलते समय खुला रखा गया दूसरा SSH सत्र।

🧭 कौन सी रेंज ब्लॉक करें

रेंजउपयोग
10.0.0.0/8RFC1918 प्राइवेट
172.16.0.0/12RFC1918 प्राइवेट
192.168.0.0/16RFC1918 प्राइवेट
100.64.0.0/10कैरियर-ग्रेड NAT (RFC6598)
169.254.0.0/16IPv4 लिंक-लोकल
192.0.0.0/24IETF प्रोटोकॉल असाइनमेंट
198.18.0.0/15बेंचमार्किंग
fc00::/7IPv6 यूनिक लोकल पते

fe80::/10 को ब्लॉक न करें: IPv6 नेबर डिस्कवरी के लिए और अक्सर डिफ़ॉल्ट गेटवे के लिए लिंक-लोकल पते इस्तेमाल करता है, इसलिए इसे ब्लॉक करने से IPv6 पूरी तरह कट जाता है।

🔍 पहले देखें कि आपके VPS को वास्तव में क्या चाहिए

यदि आपका गेटवे या DNS रिज़ॉल्वर किसी प्राइवेट रेंज में है, तो सब कुछ ब्लॉक करने से आपका नेटवर्क कट जाएगा। कोई भी नियम जोड़ने से पहले अपना कॉन्फ़िगरेशन देखें:

Bash
ip route ip -6 route cat /etc/resolv.conf resolvectl status | grep -E 'DNS Servers|Link'

यदि कोई रिज़ॉल्वर या आपकी निर्भर कोई सेवा प्राइवेट पते (PRIVATE_DNS_IP) पर है, तो नीचे दिखाए अनुसार उसे स्पष्ट रूप से अनुमति दें और वह नियम सबसे पहले रखें। यदि आप जो भी इस्तेमाल करते हैं वह सार्वजनिक है, तो यह चरण छोड़ सकते हैं।

🧱 विधि 1: ufw deny out

सुनिश्चित करें कि SSH पहुँच में रहे, फिर डिफ़ॉल्ट नीतियाँ सेट करें। प्राइवेट रेंज पर आउटबाउंड नियम आपके SSH सत्रों के इनबाउंड उत्तरों को प्रभावित नहीं करते।

Bash
sudo ufw allow 22/tcp sudo ufw default deny incoming sudo ufw default allow outgoing

यदि अपवाद चाहिए, तो उसे स्थिति 1 पर डालें ताकि वह इनकार वाले नियमों से पहले जाँचा जाए:

Bash
sudo ufw insert 1 allow out to PRIVATE_DNS_IP port 53

अब हर रेंज के लिए एक इनकार नियम जोड़ें (UFW नियम क्रम से जाँचे जाते हैं, पहला मेल जीतता है):

Bash
sudo ufw deny out to 10.0.0.0/8 sudo ufw deny out to 172.16.0.0/12 sudo ufw deny out to 192.168.0.0/16 sudo ufw deny out to 100.64.0.0/10 sudo ufw deny out to 169.254.0.0/16 sudo ufw deny out to 192.0.0.0/24 sudo ufw deny out to 198.18.0.0/15 sudo ufw deny out to fc00::/7 sudo ufw enable

ufw enable चेतावनी दे सकता है कि यह SSH कनेक्शन बाधित कर सकता है; पोर्ट 22 की अनुमति दी जा चुकी है, इसलिए y उत्तर दें। क्रम इस तरह जाँचें:

Bash
sudo ufw status numbered

📄 विधि 2: before.rules

यदि आप यूज़र नियमों से पहले लागू होने वाला एक ही नियम-समूह चाहते हैं, तो /etc/ufw/before.rules संपादित करें। पहले बैकअप लें:

Bash
sudo cp /etc/ufw/before.rules /etc/ufw/before.rules.bak sudo nano /etc/ufw/before.rules

*filter भाग में, लूपबैक और स्थापित कनेक्शन स्वीकार करने वाली पंक्तियों के बाद, यह जोड़ें:

TEXT
1# प्राइवेट नेटवर्क की ओर आउटबाउंड ट्रैफ़िक ब्लॉक करें 2-A ufw-before-output -d 10.0.0.0/8 -j REJECT 3-A ufw-before-output -d 172.16.0.0/12 -j REJECT 4-A ufw-before-output -d 192.168.0.0/16 -j REJECT 5-A ufw-before-output -d 100.64.0.0/10 -j REJECT 6-A ufw-before-output -d 169.254.0.0/16 -j REJECT

IPv6 की अपनी फ़ाइल /etc/ufw/before6.rules है, जिसमें चेन का नाम भी ufw-before-output है:

TEXT
-A ufw-before-output -d fc00::/7 -j REJECT

PRIVATE_DNS_IP के लिए अपवाद इन पंक्तियों के ठीक ऊपर -A ufw-before-output -d PRIVATE_DNS_IP -j ACCEPT से जोड़ें। फिर रीलोड करें:

Bash
sudo ufw reload

REJECT तुरंत त्रुटि लौटाता है, इसलिए एप्लिकेशन टाइमआउट का इंतज़ार किए बिना जल्दी विफल होती हैं। यदि आप चुप्पी पसंद करते हैं तो -j DROP इस्तेमाल करें।

✅ जाँच

नियम लोड होने चाहिए, ब्लॉक किए गए गंतव्य विफल होने चाहिए, और सार्वजनिक गंतव्य चलते रहने चाहिए:

Bash
sudo ufw status verbose ping -c 1 10.0.0.1 # विफल होना चाहिए ping -c 1 192.168.1.1 # विफल होना चाहिए curl -m 5 http://10.0.0.1 # विफल होना चाहिए ping -c 2 1.1.1.1 # सफल होना चाहिए dig +short example.com # रिज़ॉल्व होना चाहिए curl -I https://www.debian.org

ufw deny out के साथ विफल ping आमतौर पर Operation not permitted बताता है। पैकेट काउंटर हिट की पुष्टि करते हैं:

Bash
sudo iptables -L ufw-user-output -n -v sudo iptables -L ufw-before-output -n -v

🛠️ समस्या निवारण

DNS चलना बंद हो गया। आपका रिज़ॉल्वर किसी प्राइवेट रेंज में है। sudo ufw status numbered से क्रम हटाएँ या ठीक करें, फिर sudo ufw insert 1 allow out to PRIVATE_DNS_IP port 53 जोड़ें। आप नेटवर्क कॉन्फ़िगरेशन में किसी सार्वजनिक रिज़ॉल्वर पर भी जा सकते हैं।

बदलाव के बाद IPv6 टूट गया। संभवतः आपने fe80::/10 या fc00::/7 के भीतर के किसी गेटवे को ब्लॉक कर दिया। नियम को sudo ufw delete deny out to fc00::/7 से हटाएँ और केवल ज़रूरी हिस्सा दोबारा जोड़ें।

प्राइवेट नेटवर्क की किसी सेवा (VPN, आंतरिक API) तक नहीं पहुँच पा रहे। उसी सटीक पते के लिए ufw insert 1 allow out to PRIVATE_IP से अनुमति नियम जोड़ें। यदि SSH ही नहीं पहुँच पा रहा, तो सर्वर तक किसी भी कंसोल एक्सेस का उपयोग करें और sudo ufw disable चलाएँ।


🔒 आपका VPS अब गलती से प्राइवेट नेटवर्क स्कैन नहीं करेगा: इस तरह की एब्यूज़ रिपोर्ट बंद होनी चाहिए।

नवीनतम ऑफ़र, छूट और विशेष प्रोमोशन से अपडेट रहें।

प्रोमोशन देखें

हम cookies का उपयोग करते हैं

हम अपनी साइट पर आपके अनुभव को बेहतर बनाने के लिए एनालिटिक्स cookies का उपयोग करते हैं। कोई भी डेटा तीसरे पक्ष को नहीं बेचा जाता है। हमारे बारे में और जानें गोपनीयता नीति.