वर्चुअलबॉक्स: उबंटू के एक डेबियन मेहमान में दो नेटवर्क इंटरफेस (एनएटी और होस्ट-ओनली)


48

मैंने VirtualBox पर एक Debian VM को दो इंटरफेस के साथ बनाया: एक NAT (इंटरनेट एक्सेस करने के लिए) और एक होस्ट-केवल एक। हालांकि, मुझे नहीं पता कि एक ही समय में दोनों इंटरफेस कैसे काम करते हैं। यदि मैं होस्ट-केवल एडॉप्टर 1 के रूप में परिभाषित करता हूं, तो मैं अपने वीएम को होस्ट से एक्सेस कर सकता हूं लेकिन इंटरनेट नहीं; अगर मैं NAT को एडॉप्टर 1 के रूप में परिभाषित करता हूं, तो मैं इंटरनेट तक पहुंच सकता हूं लेकिन अपने अतिथि डेबियन तक नहीं पहुंच सकता।

तो, मैं दोनों इंटरफेस को एक साथ कैसे बना सकता हूं?

नोट : मैं अभी भी अपने अतिथि SO से अपने होस्ट से SSH पोर्ट में कुछ पोर्ट मैप करने की कोशिश कर रहा हूं, इसलिए मुझे इसे करने के लिए सुझाव देने की कोई आवश्यकता नहीं है :)

संपादित करें : यह ifconfigतब होता है जब पहला एडॉप्टर होस्ट-केवल एक होता है:

eth0      Link encap:Ethernet  HWaddr 08:00:27:f6:b2:45  
          inet addr:192.168.56.101  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fef6:b245/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:495 errors:0 dropped:0 overruns:0 frame:0
          TX packets:206 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:48187 (47.0 KiB)  TX bytes:38222 (37.3 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:560 (560.0 B)  TX bytes:560 (560.0 B)

यह netstat -nrतब होता है जब पहला एडॉप्टर होस्ट-केवल एक होता है:

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.56.0    0.0.0.0         255.255.255.0   U         0 0          0 eth0

यह आउटपुट ifconfigतब होता है जब पहला एडेप्टर NAT एक होता है:

eth0      Link encap:Ethernet  HWaddr 08:00:27:f6:b2:45  
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fef6:b245/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:53 errors:0 dropped:0 overruns:0 frame:0
          TX packets:59 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:6076 (5.9 KiB)  TX bytes:5526 (5.3 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:16 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1664 (1.6 KiB)  TX bytes:1664 (1.6 KiB)

यह आउटपुट netstat -nrतब होता है जब पहला एडेप्टर NAT एक होता है:

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
10.0.2.0        0.0.0.0         255.255.255.0   U         0 0          0 eth0
0.0.0.0         10.0.2.2        0.0.0.0         UG        0 0          0 eth0

जवाबों:


48

समाधान बहुत सरल था: मुझे सिर्फ डेबियन वर्चुअल मशीन की /etc/network/interfacesफ़ाइल में निम्नलिखित पंक्तियाँ जोड़नी थीं :

allow-hotplug eth1
iface eth1 inet dhcp

दूसरी पंक्ति इंटरफ़ेस को डीएचसीपी के माध्यम से आईपी प्राप्त करने का निर्देश देती है। पहली पंक्ति बूट समय पर इंटरफ़ेस लोड करती है।

किसी चल रहे सिस्टम में परिवर्तन लागू करने के लिए, चालान करें:

ifup eth1

eth1इंटरफ़ेस का नाम भिन्न हो सकता है, ifconfig -aसभी उपलब्ध इंटरफेस को सूचीबद्ध करने के लिए उपयोग करें।

संपादित करें : पूर्ण /etc/network/interfaces:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp

allow-hotplug eth1
iface eth1 inet dhcp

1
मैं पुष्टि कर सकता हूं। डेबियन दूसरे इंटरफ़ेस को सेटअप नहीं करता है /etc/network/interfaces। मेरी समस्या तय की, धन्यवाद। संभावित डीबगिंग के लिए, यह वर्चुअलबॉक्स द्वारा प्रदान किए गए दो पुण्य इंटरफेस हैं। एक एनएटी इंटरफ़ेस है जिसे इंटरनेट एक्सेस के लिए उपयोग किया जाता है (NAT को व्यक्तिगत रूप से vbox द्वारा प्रदान किया जाता है), दूसरा एक होस्ट-ओनली नेटवर्क है जिसमें डीएचसीपी पूरी तरह से अलग निजी आईपी क्लास में है। डेबियन संस्करण 6.0.6 x64 का परीक्षण किया।
डावोल्फमैन

क्या आप कृपया अपना पूरा / etc / network / इंटरफेस पोस्ट कर सकते हैं। 2 दिनों से इसके लिए संघर्ष कर रहे हैं।
जॉन निकोलस

@ जॉनकोइलस ने किया। ध्यान दें कि आपको अतिथि /etc/network/interfaces फ़ाइल को संपादित करना चाहिए ।
ब्रांडीज़ी

चीयर्स, मेरा वही था। मेरी समस्या यह थी कि जब मैं एनएटी अडैप्टर पहले vbox में था तो दूसरा (होस्ट) अडैप्टर उस अडैप्टर पर dhcp सर्वर का उपयोग करने की कोशिश करेगा और सब गलत हो जाएगा। जब मैंने होस्ट के रूप में vbox में एडाप्टर्स का आदेश दिया था तब NAT सभी ने काम करना शुरू कर दिया था (भले ही लिनक्स में उनके ऑर्डर काफी दिलचस्प थे)। Netctl को किसी अन्य vm में यह समस्या नहीं आई।
जॉन निकोलस

2
यह महान काम करता है, धन्यवाद! हालाँकि उबंटू 18 अब "नेटप्लान" नामक एक नए इंटरफ़ेस का उपयोग करता है। किसी भी विचार कैसे ऊपर netplan में दोहराने के लिए?
21

11

मैं अपने Ubuntu 14.04 VM के साथ इसी तरह की समस्या का सामना कर रहा था, और डेबियन के लिए @brandizzi द्वारा सुझाए गए समाधान ने थोड़े बदलाव के साथ काम किया।

EDIT: file /etc/network/interfaces:


# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet dhcp

UBUNTU 16.04 के लिए

चलाने के आदेश

ifconfig -a

मेरे मामले में नए इंटरफ़ेस की तलाश करें यह 'enp0s8' है

EDIT file /etc/network/interfaces:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto enp0s3
iface enp0s3 inet dhcp

auto enp0s8
iface enp0s8 inet dhcp  

3
यह अब डेबियन 9+ (उबंटू 16 सेटअप) पर लागू होता है
मक्सिम लुज़िक

3

दोनों एडाप्टर को डेबियन में कॉन्फ़िगर किया जाना चाहिए

ऐसा लगता है कि दोनों ही स्थिति में आपके पास केवल एक एडेप्टर कॉन्फ़िगर है, इसलिए आपकी समस्या।

अपने VM के वर्चुअलबॉक्स कॉन्फ़िगरेशन में 2 एडेप्टर बनाएं और फिर इसे शुरू करें। यदि आप ifconfig (एक ही eth0, कोई eth1 भी) का उपयोग करते समय केवल एक कॉन्फ़िगर किया गया एडाप्टर देखते हैं, तो आपको DHCP में दोनों इंटरफ़ेस को कॉन्फ़िगर करने के लिए डेबियन (नेटवर्क मैनेजर, ifupdown, आदि) के लिए नेटवर्क कॉन्फ़िगरेशन टूल का उपयोग करना चाहिए। तो आपके पास DH0 में eth0 और eth1 होना चाहिए।


0

सुनिश्चित करें कि आप प्रत्येक इंटरफ़ेस के लिए अलग निजी पता स्थान सबनेट का उपयोग कर रहे हैं ।

इसलिए उदाहरण के लिए, NAT के इंटरफ़ेस के लिए, आप 192.168.0.0/16 स्थान में एक पते का उपयोग कर सकते हैं।

इंटरफ़ेस जो केवल 'होस्ट' है, 10.0.0.0/24 स्पेस में हो सकता है।


खैर, वे अलग हो गए हैं (मेरा NAT स्थान 10.0.2.0/24 है और मेरा NAT 192.168.56.0/24 है)।
ब्रांडीजी

क्या आप अपने प्रश्न को संपादित करने के लिए आउटपुट शामिल कर सकते हैं ifconfigऔर netstat -nrइसलिए हम देख सकते हैं कि इंटरफ़ेस और रूटिंग कैसे कॉन्फ़िगर किए गए हैं?
जॉर्ज एम

ठीक है, मैंने कमांड के आउटपुट को प्रश्न में जोड़ा है।
ब्रांडीजी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.