bindIp
पर
127.0.0.1
कन्वेंशन द्वारा localhost
का IP पता है और लूपबैक इंटरफ़ेस के लिए बाध्य है, जो केवल उसी मशीन से पहुँचा जा सकता है।
डिफ़ॉल्ट के रूप में इस पते का उपयोग करना सबसे अच्छा अभ्यास है, क्योंकि ऐसा करने से गलती से किसी सेवा को जनता के सामने प्रकट करना असंभव हो जाता है। आपको अपनी सेवा को सार्वजनिक रूप से उपलब्ध कराने के लिए बाइंड आईपी को बदलने के लिए सचेत विकल्प बनाना होगा। जो आपको सुनिश्चित करने के बाद . के बाद ही करना चाहिए कि आपने उचित सुरक्षा उपाय किए हैं।
आमतौर पर, एक मशीन में लूपबैक इंटरफ़ेस और एक या अधिक "वास्तविक" नेटवर्क इंटरफ़ेस होते हैं।
मान लें कि आपके पास एक नेटवर्क इंटरफ़ेस है जो "आंतरिक" है (केवल आपके एप्लिकेशन सर्वर द्वारा पहुंच योग्य है, क्योंकि आप उन्हें एक ही नेटवर्क में डालते हैं) और आपके पास एक नेटवर्क इंटरफ़ेस है जो "बाहरी" है (रखरखाव उद्देश्यों के लिए सार्वजनिक इंटरनेट के माध्यम से पहुंचा जा सकता है)। अब, यदि आप अपने MongoDB इंस्टेंस को सभी इंटरफेस से बाँधेंगे (आप IP पते का उपयोग करेंगे 0.0. 0.0 ऐसा करने के लिए), आपका MongoDB उदाहरण सार्वजनिक इंटरनेट से सुलभ होगा - शायद ही एक वांछित स्थिति। हमलावर आपके पासवर्ड को ज़बरदस्ती बनाने की कोशिश कर सकते हैं और अंततः आपके MongoDB उदाहरण तक पहुँच प्राप्त कर सकते हैं। सार्वजनिक इंटरनेट से किसी भी पहुंच को रोकने के लिए बेहतर है।
आप इसके बजाय क्या चाहते हैं कि आपका मोंगोडीबी इंस्टेंस आपके एप्लिकेशन सर्वर और उस मशीन से पहुंच योग्य हो जिस पर यह चलता है। तो आप MongoDB को लूपबैक इंटरफ़ेस के IP (127.0.0.1
दोनों से बाइंड कर देंगे। ) और निजी नेटवर्क का IP, जो सामान्य रूप से
- सीमा
10.0.0.0
. से करने के लिए10.255.255.255
- सीमा
172.16.0.0
. से करने के लिए172.31.255.255
- सीमा
192.168.0.0
. से करने के लिए192.168.255.255
आइए हम अपना उदाहरण लें और कहें कि एप्लिकेशन सर्वर और MongoDB इंस्टेंस दोनों एक निजी नेटवर्क में 192.168.X.X
रेंज में हैं। और आपने MongoDB उदाहरण को IP पता दिया है 192.168.0.1
. तो आप चाहते हैं कि आपका MongoDB उदाहरण 192.168.0.1
. के माध्यम से पहुंच योग्य हो ताकि एप्लिकेशन सर्वर उससे और 127.0.0.1
. के माध्यम से बात कर सकें MongoDB मशीन से प्रशासन उपकरण का उपयोग करने के लिए आसानी से चलता है।
तो YAML कॉन्फ़िगरेशन सिंटैक्स के साथ, आप कई IP पास करेंगे
नोट एकाधिक IP पर अल्पविरामों के बीच स्थान न जोड़ें
# WARNING!!! WARNING!!! WARNING!!!
# DO NOT DO THIS UNLESS YOU HAVE CLIENT AUTHENTICATION ENABLED
# (or you really, really, really know what you are doing)
net:
bindIp: 127.0.0.1,192.168.0.1
चेतावनियों पर
संक्षेप में, यह MongoDBs कहने का तरीका है:
एक तरह का निहित है "जब तक कि आप वास्तव में जानिए आप क्या कर रहे हैं!", क्योंकि iirc, चेतावनी गायब हो जाती है यदि आप क्लाइंट प्रमाणीकरण को सक्रिय करते हैं या बाइंडआईपी बदलें।