इसलिए मैं अपने मैक बुक पर 'हैशिकॉर्प / सटीक 64' के वैग्रंट सेटअप के साथ एक समस्या है।
सबसे पहले, मेरा विन्यास:
VAGRANTFILE_API_VERSION = "2" Vagrant.configure (VAGRANTFILE_API_VERSION) करना | config | config.vm.box = "हैशिकॉर्प / सटीक 64" config.vm.network "public_network", प्रकार: "dhcp",: पुल => 'en4: थंडरबोल्ट ईथरनेट' config.vm.hostname = "mddirector" समाप्त
यह 'योनि ऊपर' का उभार है
==> डिफ़ॉल्ट: वीएम के सुंदर बंद का प्रयास ... ==> डिफ़ॉल्ट: चेकिंग अगर बॉक्स 'हैशिकॉर्प / सटीक 64' अप टू डेट है ... ==> डिफ़ॉल्ट: पहले से सेट किए गए किसी भी पोर्ट को साफ़ करना ... ==> डिफ़ॉल्ट: किसी भी पहले से सेट किए गए नेटवर्क इंटरफ़ेस को साफ़ करना ... ==> डिफ़ॉल्ट: कॉन्फ़िगरेशन के आधार पर नेटवर्क इंटरफेस तैयार करना ... डिफ़ॉल्ट: एडाप्टर 1: नेट डिफ़ॉल्ट: एडाप्टर 2: ब्रिजिंग ==> डिफ़ॉल्ट: अग्रेषित पोर्ट ... डिफ़ॉल्ट: 22 => 2222 (एडाप्टर 1) ==> डिफ़ॉल्ट: बूटिंग वीएम ... ==> डिफ़ॉल्ट: बूट करने के लिए मशीन की प्रतीक्षा कर रहा है। इसमें कुछ मिनट लग सकते हैं... डिफ़ॉल्ट: SSH पता: 127.0.0.1:2222 डिफ़ॉल्ट: SSH उपयोगकर्ता नाम: आवारा डिफ़ॉल्ट: SSH सामान्य तरीका: निजी कुंजी डिफ़ॉल्ट: चेतावनी: कनेक्शन टाइमआउट। पुनः प्रयास किया जाएगा ... ==> डिफ़ॉल्ट: मशीन बूट और तैयार! GuestAdditions 4.3.10 चल रहा है --- ठीक है। ==> डिफ़ॉल्ट: VM में अतिथि परिवर्धन के लिए जाँच ... ==> डिफ़ॉल्ट: होस्टनाम सेट करना ... ==> डिफ़ॉल्ट: नेटवर्क इंटरफेस को कॉन्फ़िगर और सक्षम करना ... ==> डिफ़ॉल्ट: साझा किए गए फ़ोल्डर बढ़ते ... डिफ़ॉल्ट: / योनि => / उपयोगकर्ता / गर्थ / परियोजना / योनि ==> डिफ़ॉल्ट: मशीन पहले से ही प्रावधान है। `योनि प्रावधान` चलाएं या` - प्रोविजन` का उपयोग करें ==> डिफ़ॉल्ट: प्रोविजनिंग को बाध्य करने के लिए। हमेशा चलाने के लिए चिह्नित प्रावधान अभी भी चलेंगे।
'ifconfig' निम्नलिखित दिखाता है:
योनि @ mddirector: ~ $ ifconfig eth0 लिंक एनकैप: ईथरनेट HWaddr 08: 00: 27: 88: 0c: a6 inet addr: 10.0.2.15 Bcast: 10.0.2.255 मास्क: 255.255.255.0 inet6 addr: fe80 :: a00: 27ff: fe88: ca6 / 64 स्कोप: लिंक UP BROADCAST RUNNING MULTICAST MTU: 1500 मीट्रिक: 1 आरएक्स पैकेट: 725 त्रुटियां: 0 गिरा: 0 ओवररन: 0 फ्रेम: 0 TX पैकेट: 544 त्रुटियां: 0 गिरा: 0 ओवररन: 0 वाहक: 0 टकराव: 0 txqueuelen: 1000 RX बाइट्स: 90824 (90.8 KB) TX बाइट्स: 63375 (63.3 KB) eth1 लिंक एनकैप: ईथरनेट HWaddr 08: 00: 27: 2f: bb: 6a inet addr: 10.0.24.118 Bcast: 10.0.31.255 मास्क: 255.255.248.0 UP BROADCAST RUNNING MULTICAST MTU: 1500 मीट्रिक: 1 आरएक्स पैकेट: 3490 त्रुटियां: 0 गिरा: 0 ओवररन: 0 फ्रेम: 0 TX पैकेट: 7 त्रुटियां: 0 गिरा: 0 ओवररन: 0 वाहक: 0 टकराव: 0 txqueuelen: 1000 RX बाइट्स: 345981 (345.9 KB) TX बाइट्स: 1102 (1.1 KB) लो लिंक एनकैप: लोकल लूपबैक inet addr: 127.0.0.1 मास्क: 255.0.0.0 inet6 addr: :: 1/128 स्कोप: होस्ट UP LOOPBACK RUNNING MTU: 16436 मीट्रिक: 1 आरएक्स पैकेट: 0 त्रुटियां: 0 गिरा: 0 ओवररन: 0 फ्रेम: 0 TX पैकेट: 0 त्रुटियां: 0 गिरा: 0 ओवररन: 0 वाहक: 0 टकराव: 0 txqueuelen: 0 RX बाइट्स: 0 (0.0 B) TX बाइट्स: 0 (0.0 B)
मेरी समस्या यह है, कि मैं अपने होस्ट मशीन से VM को पिंग कर सकता हूं ( IP: 10.0.24.112
), दूसरे लोग मेरे VM को भी पिंग कर सकते हैं ( 10.0.24.XXX
), मेरा VM मेरे डिवबॉक्स ( IP: 10.10.116.254
) को पिंग कर सकता है, मैं अपने डेवबॉक्स से अन्य डेवलपर्स के वर्चुअल मशीन सेटअप को पिंग कर सकता हूं ( ) नहीं Vagrant, IP: 10.10.116.254
), लेकिन मैं अपने वीएम मेरी devbox और अन्य डेवलपर से पिंग नहीं कर सकते उनके devbox से मेरी वी एम को पिंग नहीं कर सकता।
वर्चुअल मशीन सेटअप उनके पास केवल एक Bridged NIC के साथ है, लेकिन किसी कारण से योनि में NAT और Bridged दोनों होते हैं, भले ही, मैंने कॉन्फ़िगरेशन में ब्रिजिंग निर्दिष्ट की हो। जैसा कि आप देख सकते हैं, Vagrant VM के लिए दो IP पते हैं, जो सही नहीं लगता है। आप यह भी कर सकते हैं, जब यह बूट होता है, तो यह एडेप्टर 1 पर एक पोर्ट फॉरवर्ड करता है, जो कि नैट अडैप्टर है, जिसका अर्थ है कि यह सब कुछ के लिए डिफ़ॉल्ट रूप से नैट अडैप्टर का उपयोग कर रहा है।
मैं NAT एडाप्टर से कैसे छुटकारा पाऊं और केवल ब्रिजेड का उपयोग करूं?
अगर मैं वर्चुअलबॉक्स सेटिंग्स को एडिट करता हूं और NAT एडॉप्टर को डिसेबल कर देता हूं, तो केवल ब्रिज एडॉप्टर होता है और वर्चुअलबॉक्स के जरिए बॉक्स को बूट करता है (यानी: वेजेंट अप का उपयोग नहीं कर रहा है), तो इसमें केवल आईपी एड्रेस के साथ eth0 है जो मेरे डेबक्स के लिए पिंगेबल है , जो मैं देख रहा हूँ। अगर मैं VirtualBox सेटिंग्स को संपादित करने और NAT एडाप्टर को अक्षम करने के बाद बॉक्स को आज़माता हूं, तो मुझे निम्नलिखित त्रुटि मिलती है:
'VBoxManage` को क्रियान्वित करते समय एक त्रुटि हुई, Vagrant द्वारा प्रयुक्त एक CLI VirtualBox को नियंत्रित करने के लिए। आदेश और stderr नीचे दिखाया गया है। कमान: ["संशोधित", "7f1c12f7-74cd-4c6b-aa5a-16d6209cf2b3", "--natpf1", "ssh, tpp, 127.0.0.1,2222, 22"]] Stderr: VBoxManage: त्रुटि: इस नाम का NAT नियम पहले से मौजूद है VBoxManage: त्रुटि: विवरण: कोड NS_ERROR_INVALID_ARG (0x80070057), घटक NATEngine, इंटरफ़ेस INATEngine, callee nsISupports VBoxManage: error: संदर्भ: "AddRedirect (Bstr (strName) .raw (), प्रोटो, Bstr (strHostIp) .raw (), RTStrToUInt16 (strostostPort), Bstr (strGuestIp) (), RTStrToUIU16 और स्ट्रैटो। फ़ाइल का लाइन 1655 VBoxManageModifyVM.cpp
अगर मैं तुरंत फिर से एक योनि करता हूं, तो उसने NAT एडाप्टर को फिर से सक्षम किया है, और हम फिर से उसी समस्या के लिए वापस आ रहे हैं।