वास्तव में, आपके VMs के साथ bridged इंटरफ़ेस के बजाय NAT का उपयोग करने के लिए अच्छे कारणों की एक पूरी गुच्छा है .. (यह एक पुराना सवाल है, लेकिन यह मेरा पहला परिणाम के रूप में सामने आया कि यह कैसे करना है, वर्चुअलबॉक्स से माइग्रेट करना जहां मैं करता हूं यह हर समय, इसलिए मैंने इसे जोड़ने के लायक समझा)
NAT का उपयोग करने के बस कुछ कारण हैं:
- यह आसान और पोर्टेबल है
- यदि आप एक ग्राहक लैन पर हैं जिसे एक आईपी प्राप्त करने के लिए एक ज्ञात मैक पते की आवश्यकता होती है (अन्यथा आपको अप्रयुक्त लोगों पर अनुमान लगाने और संघर्ष को जोखिम में डालने की कोशिश करनी होगी, और आम तौर पर अपने आप पर ध्यान आकर्षित करना होगा :)),
- अपने होस्ट पर अपने वीएम को एक एकल प्रॉक्सी सर्वर का उपयोग करने की अनुमति देने जैसी चीजें (IE यदि आप उस नेटवर्क को नियंत्रित नहीं करते हैं जो आपके पास हैं), या एक में बाहर जाने पर अपने प्रसारण (विंडोज़ आदि) ट्रैफ़िक को फ़ायरवॉल / फ़िल्टर करने में सक्षम हैं। सुविधाजनक स्थान।
- उन्हें एक निश्चित या आरक्षित आईपी आवंटित करने में सक्षम होने के कारण आप उन्हें होस्ट के बाहर से नाम / आईपी द्वारा संदर्भित कर सकते हैं (फिर, यदि आप नेटवर्क पर इंटरफ़ेस के साथ आरक्षण नहीं प्राप्त कर सकते हैं)
- लेकिन इन सबसे, यह आपको अपने होस्ट पर एक एकल फ़ायरवॉल कॉन्फिगर करने के पीछे छुपाने की अनुमति देता है, और हर वीएम को "वाइल्ड" को उजागर करने और व्यक्तिगत रूप से उन सभी की सुरक्षा करने आदि के बजाय आपके / उनके बीच चीजों को अधिक संरक्षित तरीके से साझा करता है। .. जैसे आप इंटरनेट मॉडेम / राउटर से करते हैं
वैसे भी, मेरे मामले के लिए (VMWare वर्कस्टेशन 10, लिनक्स होस्ट, ओएस एक्स गेस्ट), और जो कोई भी इस पर ठोकर खाता है, यह मेरे लिए काम करने का सिंहावलोकन है। वफ़लिंग और व्हाट्स-आइफ़ के अलावा, वास्तव में केवल 3 मुख्य चरण हैं।
- तो, पहले आपको यह तय करने की आवश्यकता है कि आप अपने वीएम / गेस्ट को अपने होस्ट के "बाहर" से क्या अनुमति देना चाहते हैं (नीचे के रूप में नोट करें, आप इसे होस्ट से आसानी से प्राप्त कर पाएंगे)। एक सुरक्षित शर्त केवल आपके सबनेट पर मशीनों को केवल SSH (पोर्ट 22) को उजागर / अनुमति देना होगा। यदि आप वीएम, आदि पर एक वेबसर्वर रखते थे, तो आप पोर्ट 80/443 की भी अनुमति दे सकते हैं, और आप एसएसएच का उपयोग करके अन्य सेवाओं तक पहुंचने के लिए "सुरंग" का भी उपयोग कर सकते हैं (नीचे उदाहरण देंगे), और अपने मेजबान को देने के लिए FUSE / SSHFS का उपयोग करें फ़ाइल सिस्टम एक्सेस .. (या VMWare पर साझा फ़ोल्डर सुविधा, लेकिन मैंने अभी तक इसका उपयोग नहीं किया है)।
तो विचार कुछ इस प्रकार है: "होस्ट पर 22222 पोर्ट से कनेक्ट करने के लिए मेरे होस्ट के स्थानीय नेटवर्क (जैसे 10.1.1.0/24, या 192.168.1.0/24) पर चीजों को अनुमति दें, जिसे हम 22 के पोर्ट के साथ आगे भेजेंगे विशिष्ट अतिथि ”। यह निश्चित रूप से एक विशिष्ट अतिथि होना है (यह आपके आईपी को सभी अधिक उपयोगी कॉन्फ़िगर करने में सक्षम बनाता है, और आप उन सभी को एक वीएम को खोलने के बिना एक ही स्थान पर बदल सकते हैं), जैसे गेमिंग चीजों की अनुमति देने के लिए अपने इंटरनेट राउटर के माध्यम से करना। के माध्यम से आदि।
इसलिए, एक बार जब यह सब हो जाता है, तो आप अपने लैपटॉप या लैन पर अन्य मशीन पर हो सकते हैं, 22222 को अपने कार्य केंद्र (vmware होस्ट) पर ssh, और आप उस अतिथि को दूर कर देंगे जिसे आपने इसे आगे भेजने के लिए कहा था। जैसा कि ऊपर कहा गया है, अगर आप यह भी कहते हैं कि अतिथि (या vnc सर्वर, जो अक्सर अनएन्क्रिप्टेड होता है) पर पोस्टग्रेज सर्वर से कनेक्ट करने में सक्षम होना चाहते हैं, तो आप उसी कमांड में सुरंग बना सकते हैं (इसके बजाय इसे dhp conf में भी जोड़ सकते हैं)। उदाहरण के लिए
console ~> ssh root@hostip -p 22222 -L 54320:localhost:5432
और आप vmware में आगे आईपी के माध्यम से अतिथि को ssh'ed करेंगे, और अपने pgadmin3 टूल को स्थानीयहोस्ट पर इंगित कर सकते हैं: अपने लैपटॉप पर 54320 (नॉन-प्रिवेल्ड), और नेटवर्क पर आपका ट्रैफ़िक एन्क्रिप्ट किया जाएगा। (नोट 'लोकलहोस्ट' पहले से ही गेस्ट के पास भेजा गया है)
टिप्पणियाँ
- ऐसा करने के लिए सभी तरह के तरीके हैं .. एक के लिए, आप केवल -L में मेहमान के आईपी को होस्ट करने और निर्दिष्ट करने के लिए सुरंग बना सकते हैं और यह "ब्रेक आउट" करेगा और आपको वहां इंगित करेगा, लेकिन nat.conf विकल्प अच्छा है और सुविधाजनक है, और आपको इसे हर बार टाइप नहीं करना है। पोर्ट फ़ॉरवर्डिंग के अन्य तरीके भी हैं
- मैंने ऐसा करने के लिए वर्चुअल नेटवर्क gui के थ्रेड के एक जोड़े पर संदर्भ देखा था (जैसे virtualbox है), लेकिन मैं इसे इस संस्करण में नहीं ढूंढ सका
- मैं विंडोज़ का उपयोग नहीं करता, इसलिए भले ही मुझे लगता है कि यह मेजबान के रूप में कॉन्फ़िगर करने के लिए बहुत समान होगा, मुझे यकीन नहीं है। NAT कॉन्फ़िगरेशन किसी भी vmware अतिथि के लिए काम करना चाहिए (हालांकि मैंने VMWare के किसी भी अन्य संस्करण का उपयोग नहीं किया है)
VMware एक मार्ग सेट करता है ताकि मेजबान NAT अतिथि से सीधे संपर्क कर सके, IE मेजबान के कंसोल से, मैं NAT अतिथि 192.168.198.10 (ऊपर परिभाषित) को सीधे पिंग / ssh कर सकता हूं।
console ~> route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
<snip>
192.168.198.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet8
192.168.233.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet1
- एक लिनक्स नोट से, vmware के साथ सिस्टमाइट इनिट के साथ कुछ अच्छी तरह से शुरू होता है, अच्छी तरह से `शुरू करने के लिए, और इसके साथ ही मैंने पाया है कि मैं सिर्फ vmware को पुनः आरंभ नहीं कर सकता (vmci फिर से लोड नहीं करता है), और मुझे पुनरारंभ करना होगा छड़ी के ऊपर NAT / DHCP सामान बनाने के लिए मेरी मशीन, लेकिन आपको समस्या नहीं हो सकती है। हालांकि सिस्टमड सॉल्यूशंस के साथ कुछ धागे हैं