Score:1

ฉันสามารถให้แขก KVM ของฉันอยู่บนซับเน็ตเดียวกับโฮสต์ได้หรือไม่

ธง sk

การใช้เครือข่ายเสมือน "ค่าเริ่มต้น" ฉันรับแขกในซับเน็ตของตัวเอง NAT'ed ไปยังซับเน็ตของโฮสต์

การใช้สะพานแยก ดูเหมือนว่าเป็นไปได้ที่จะมีแขกในเครือข่ายย่อยเดียวกันกับโฮสต์ แต่เห็นได้ชัดว่าสิ่งนี้ต้องการอุปกรณ์ทางกายภาพเฉพาะสำหรับโฮสต์

ฉันได้ทดลองกับ macvtap vepa หรือบริดจ์แล้ว แต่ไม่สามารถรับลิงก์ด้วยวิธีนี้ได้

เป็นไปได้หรือไม่ที่จะให้แขกปรากฏเหมือนกับเครื่องอื่น ๆ บนซับเน็ตเดียวกันกับโฮสต์ และถ้าเป็นเช่นนั้นได้อย่างไร? ฉันต้องการสิ่งนี้เนื่องจากแอปพลิเคชันของฉันใช้การสื่อสารแบบกระจายเสียง

ฉันใช้ QEMU/KVM บน rhel และ ubuntu แขกยังเป็น rhel หรือ Ubuntu ฉันกำหนด/จัดการ VM โดยใช้ virt-install, virsh (และ virt-manager สำหรับการทดสอบ/ดีบั๊ก) เซิร์ฟเวอร์ไม่มี nic พิเศษสำหรับวัตถุประสงค์เหล่านี้ มีเพียงอันเดียวที่ใช้โดยโฮสต์เอง

Michael Hampton avatar
cz flag
ใช่ แน่นอนคุณสามารถทำได้ และคุณมี NIC อยู่แล้ว! ดูตัวอย่าง https://access.redhat.com/labs/kvmbridgeconfiguration/ หรือ https://access.redhat.com/solutions/18734
Score:2
ธง br

ดำเนินการต่อ อูบุนตู 20.04:

ตั้งค่าบริดจ์เครือข่ายโลจิคัลบนโฮสต์

สร้าง /etc/netplan/01-kvmbridge.yaml. ตัวอย่าง:

เครือข่าย:
  อีเธอร์เน็ต:
    เอ็นพี2s0f0:
      dhcp4: เท็จ
  สะพาน:
    br0:
      อินเทอร์เฟซ: [enp2s0f0]
      dhcp4: จริง
      หน่วย: 1500
      พารามิเตอร์:
        ขั้นตอน: จริง
        ไปข้างหน้าล่าช้า: 15

หมายเหตุ: ชื่อ NIC จะแตกต่างกันไปขึ้นอยู่กับไดรเวอร์ การกำหนดที่อยู่ไม่จำเป็นต้องทำโดย DHCP

วิ่ง sudo netplan ลอง เพื่อทดสอบการกำหนดค่าและ ใช้ sudo netplan เพื่อใช้เมื่อคุณพอใจแล้ว โปรดทราบว่าการเปลี่ยนการกำหนดค่าเครือข่ายผ่าน ssh อาจไม่ใช่ความคิดที่ดี

บอก KVM ถึงวิธีเข้าถึงการเชื่อมต่อ

สร้างไฟล์ ~/kvmbridge.xml โดยมีเนื้อหาดังต่อไปนี้:

<network>
  <name>host-bridge</name>
  <forward mode="bridge"/>
  <bridge name="br0"/>
</network>

เปิดใช้งานสะพาน:

virsh net-define ~/kvmbridge.xml
virsh net-start โฮสต์บริดจ์
virsh net-autostart โฮสต์บริดจ์

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

Score:0
ธง jp

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

ในที่นี้ขอเพิ่มบางสิ่งสำหรับผู้ที่จะทำตามขั้นตอนตามประสบการณ์ของฉัน:

  1. หลังจากเปิดใช้งานบริดจ์ตามด้านบนแล้ว ให้รีบูตเซิร์ฟเวอร์ ขอให้สังเกตว่าการ์ดเครือข่ายจริงจะไม่สามารถเข้าถึงได้ (เช่น โดย SSH) จากเครือข่ายอีกต่อไป อินเทอร์เฟซ (บริดจ์) ใหม่ "br0" จะมีและจะมีที่อยู่ IP แตกต่างจากการ์ดเครือข่าย

  2. หากต้องการเปลี่ยน VM (ที่นี่ ubuntu-guest) โดยใช้บริดจ์:

virsh แก้ไข ubuntu-guest

เพียงเปลี่ยนเฉพาะแหล่งที่มาเป็น br0

<interface type='bridge'> <mac address='52:54:00:f9:71:d5'/> <source bridge='br0'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'> </interface>

  1. (อีกครั้ง) เริ่ม VM

  2. หากต้องการค้นหา IP ของ VM ให้ใช้ virsh console จากนั้นเรียกใช้ ifconfig เพื่อค้นหา IP (ฉันไม่พบวิธีอื่นในการค้นหา IP ของ VM)

BTW. เกี่ยวกับการเปลี่ยนการกำหนดค่าเครือข่ายผ่าน SSH สิ่งที่ฉันใช้คือการเชื่อมต่อแบบอนุกรม "โมเด็ม NULL" ระหว่างเซิร์ฟเวอร์และไคลเอนต์

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา