ทำไมเครื่องเสมือนทั้งสองของฉันถึงได้รับที่อยู่ IP เดียวกัน


31

ฉันมีสองเครื่องเสมือนทั้งสองทำงานบนโฮสต์ Linux (Fedora 16) ฉันตั้งค่าอะแดปเตอร์ทั้งสองเป็นแนบกับ NAT 10.0.2.2เมื่อฉันบูตพวกเขาขึ้นพวกเขาทั้งสองมีชุดเกตเวย์เริ่มต้นของพวกเขาไป (10.0.2.15)พวกเขายังทั้งสองมีที่อยู่เดียวกัน พวกเขาทั้งคู่อยู่ในอะแดปเตอร์เดียวกัน (อะแดปเตอร์ 1) ฉันไม่รู้ว่าทำไมพวกเขาถึงได้รับที่อยู่ IP เดียวกันและไม่ควรเกตเวย์เริ่มต้นเป็น10.0.2.1เพราะที่อยู่เครือข่ายย่อย10.0.2.0และ netmask คือ 255.255.255.0 มีบางสิ่งที่ฉันหายไปเกิดเหตุการณ์นี้กับทุกคนหรือไม่ ฉันจะทำให้ VirtualBox DHCP ทำงานอย่างถูกต้องได้อย่างไร


2
ไม่จำเป็นจริงมันเป็นไปได้ที่จะสร้างเครือข่าย NAT เสมือนที่ "จริง" ซึ่ง VM หลายตัวต้องได้รับการกำหนดที่อยู่ IP ที่แตกต่างกันโดยขึ้นอยู่กับที่อยู่ MAC ของระบบเสมือนจริงและ VM สามารถมองเห็นเครือข่าย NAT เสมือนเครือข่ายย่อยทั้งหมดที่อยู่เบื้องหลังส่วนต่อประสาน NAT ขึ้นอยู่กับตัวเลือกของคุณในการกำหนดค่าอะแดปเตอร์เครือข่ายหากเลือก "NAT" NAT จะเป็นหนึ่งในความสัมพันธ์ของโฮสต์ / vm หนึ่งตัวหากเลือก "เครือข่าย NAT" จากนั้นจะเป็นความสัมพันธ์ของโฮสต์ / เครือข่ายย่อยที่แต่ละ VM บน เครือข่ายเสมือนจริงจะต้องมีที่อยู่ IP ที่แตกต่างกัน

ฉันตอบคำถามที่คล้ายกันที่นี่
Mian Asbat Ahmad

คำตอบ:


22

VirtualBox DHCP ทำงานอย่างถูกต้อง

ไม่มีอะไรผิดปกติหากให้เครื่องทั้งหมดของคุณได้รับที่อยู่เดียวกันในการกำหนดค่า NAT VMs ทั้งหมดถูกแยกออกจากกันดังนั้นจึงไม่มีความเสี่ยงต่อความขัดแย้ง พวกเขายังไม่ได้อยู่ในอะแดปเตอร์เดียวกัน VM แต่ละตัวมีฮาร์ดแวร์เสมือนจริงของตัวเองรวมถึง NIC

เกตเวย์เริ่มต้นนั้นไม่จำเป็นต้องเป็น 10.0.2.1 แม้ว่าจะเป็นวิธีปฏิบัติทั่วไปที่จะมีที่อยู่ IP ที่ต่ำกว่า แต่สามารถเป็น IP ใด ๆ ในช่วงเครือข่ายย่อย

นอกจากนี้ยังไม่มีบริการ dhcp "ของจริง" ทุกอย่างจะถูก hardcoded ในรหัส VirtualBox แม้ว่าคุณจะไม่พอใจกับที่อยู่ IP เริ่มต้นคุณก็สามารถปรับแต่งโปรแกรม NATได้


สวัสดี @jlliagre นี่เป็นพฤติกรรมที่คาดหวังจริงๆหรือ ดังที่ฉันเข้าใจหาก VMs ทั้งหมดได้รับที่อยู่ IP เดียวกันพวกเขาจะไม่สามารถใช้อินเทอร์เฟซเครือข่ายนี้เพื่อสื่อสารได้ใช่ไหม ถ้าเป็นเช่นนั้นคุณกำลังระบุว่าสำหรับ VMs จำนวนมากหากแต่ละรายการมีอะแดปเตอร์ NAT เพียงอันเดียวโดยค่าเริ่มต้นพวกเขาจะไม่สามารถสื่อสารได้
เป็นเพียงผู้เรียนที่

1
@OgrishMan ใช่นี่เป็นพฤติกรรมที่คาดหวัง นั่นเป็นหนึ่งในเหตุผลหลักของ NAT อนุญาตให้เครื่องจำนวนมากใช้ที่อยู่ IP ในเครื่องเดียวกัน พวกมันไม่สามารถสื่อสารโดยตรงเช่นเดียวกับแล็ปท็อปของฉันที่มี 192.168.1.4 เนื่องจากที่อยู่ IP ไม่สามารถสื่อสารกับอุปกรณ์ของคุณได้ซึ่งอาจใช้ที่อยู่ IP เดียวกันมาก เหตุผลหลักที่ทำไมพวกเขาไม่สามารถสื่อสารได้ก็คือพวกเขาอยู่ใน LAN ที่แตกต่างกันอยู่แล้ว เครื่องที่ใช้อินเตอร์เฟส NAT สามารถสื่อสารกันผ่านเกตเวย์ภายนอกของบุคคลภายนอกเท่านั้นหรือใช้การแม็พพอร์ตย้อนกลับที่ระดับโฮสต์
jlliagre

ขอบคุณสำหรับคำอธิบาย! ฉันคิดว่าฉันชัดเจนตอนนี้
เป็นเพียงผู้เรียนที่

7

ในแผงควบคุม VirtualBox ไปที่ไฟล์ -> การตั้งค่า -> เครือข่าย

เลือกแท็บ NAT Networks สร้าง "NatNetwork" ใหม่โดยคลิกปุ่ม + ที่ด้านข้างแล้วกดตกลง

ตอนนี้เลือกแต่ละ VM ไปที่การตั้งค่า -> เครือข่าย

ในตัวเลือกแนบกับ: เลือกเครือข่าย NAT แล้วเลือก "NatNetwork" แล้วกดตกลง

รีสตาร์ท VMs ทั้งหมด

ตอนนี้ VMs มีที่อยู่เครือข่ายที่แตกต่างกัน


1
ฉันพบว่าฉันยังคงได้รับที่อยู่ IP เดียวกันโดยใช้วิธีการนี้!
jersey bean

6

เครื่องเสมือนของคุณจะได้รับที่อยู่ IP เดียวกันจากบริการ DHCP ใด ๆ ตราบใดที่พวกเขามีที่อยู่ Ethernet MAC เดียวกัน (ที่อยู่ฮาร์ดแวร์ไม่ซ้ำกันเหมือนลายนิ้วมือที่กำหนดโดยผู้ผลิตฮาร์ดแวร์ของอุปกรณ์เครือข่ายของคุณ)

เมื่อคุณใช้เครื่องเสมือนพวกเขามีฮาร์ดแวร์เสมือนและดังนั้นพวกเขา "ปลอม" ที่อยู่ MAC คุณต้องแน่ใจว่าไม่มีเครื่องสองเครื่องที่มีที่อยู่ฮาร์ดแวร์อีเธอร์เน็ตเดียวกัน

คุณสามารถตั้งค่าที่อยู่ Ethernet MAC ของเครื่องเสมือนของคุณใน VirtualBox ในส่วนเครือข่ายฮาร์ดแวร์ (ดูเหมือนว่านี้: 3c: 08: 51: 05: 24: 8a)

คุณสามารถตรวจสอบได้ใน VM ที่รันอยู่:

sudo ifconfig

en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=2b<RXCSUM,TXCSUM,VLAN_HWTAGGING,TSO4>
    ether 3c:08:51:05:24:8a 
    media: autoselect (none)
    status: inactive

2
เซิร์ฟเวอร์ NAT dhcp ที่ฝังตัวกับ VirtualBox ไม่ใช่ของจริง โดยเฉพาะมันไม่สนใจเกี่ยวกับที่อยู่ MAC ไม่ว่าในกรณีใด VM หลายเครื่องอาจมีที่อยู่ MAC เดียวกันซึ่งไม่สำคัญว่าจะแยกเครือข่ายเสมือนออกจากกันอย่างสมบูรณ์
jlliagre

2

พวกเขาจะได้รับเกตเวย์เริ่มต้นของพวกเขาจากเซิร์ฟเวอร์ dhcp - ดังนั้นมันจะเป็นสิ่งที่ตั้งอยู่ในนั้น คุณจะต้องดูที่เซิร์ฟเวอร์ dhcp เพื่อดูว่ามันกำลังส่งมอบอะไร (โดยทั่วไปเพียงแค่ตั้งค่าไว้ในการกำหนดค่าเซิร์ฟเวอร์ให้เป็นสิ่งที่คุณต้องการให้เป็น)

เกี่ยวกับอะแดปเตอร์สองตัวที่มีที่อยู่เดียวกันนี่เป็นไปได้มากที่สุดในการกำหนดค่าที่คุณตั้งไว้ใน Virtualbox หากเป็นโคลนคุณอาจต้องให้ที่อยู่ MAC ใหม่อย่างชัดเจน

ตรวจสอบการกำหนดค่าเครือข่ายสำหรับแต่ละรายการและดูว่าพวกเขาคิดว่าเหมือนกันหรือไม่

หากแตกต่างกันคุณสามารถตั้งค่า IP คงที่ชั่วคราวสำหรับแต่ละรายการที่เซิร์ฟเวอร์ dhcp (กำหนดโดยที่อยู่ MAC)

ดูที่ส่วนนี้จากคู่มือ VirtualBox สำหรับข้อมูลเพิ่มเติม


1
ลิงค์ที่คุณโพสต์ไม่ได้ใช้กับ NAT
jlliagre

1

ฉันมีปัญหาเดียวกัน Adapter2 ที่กำหนดให้กับระบบปฏิบัติการผู้เยี่ยมชมที่ 2 กำหนดที่อยู่ Mac และ Ip เฉพาะสำหรับแขก

ป้อนคำอธิบายรูปภาพที่นี่


0

ต้องเปลี่ยนการตั้งค่าสองอย่าง

1) ในด้านกล่อง VM - ซอฟต์แวร์ไคลเอ็นต์ VMware ของคอนโซลเปลี่ยนการตั้งค่าเครือข่าย (เช่น) เพิ่ม nat ใหม่ในการตั้งค่าเครือข่าย 2) ในด้านเครื่อง VM - รีเฟรชที่อยู่ Mac สำหรับแต่ละ VM


-1

เปิดการตั้งค่าเครือข่ายสำหรับแต่ละ vm คลิกที่ขั้นสูง> คลิกที่ปุ่มรีเฟรชข้าง mac addr รับสิ่งที่แตกต่างทั้งสองอย่างและคุณพร้อมแล้ว


คำตอบที่มีคำต่ำกว่า
elsadek
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.