ฉันเป็นแล็ปท็อปที่ใช้ Linux ซึ่งเชื่อมต่อกับ LAN โดยใช้ wifi ฉันใช้ virt-manager เพื่อสร้าง KVM / QEMU VM และติดตั้ง Ubuntu บนนั้น ตามที่คาดไว้มันสามารถเชื่อมต่ออินเทอร์เน็ตเพื่อดาวน์โหลดการอัพเดทและอื่น ๆ
ฉันต้องการเรียกใช้ Apache กับแขกเพื่อทำการพัฒนาเว็บไซต์และเรียกดูไซต์จากเครื่องโฮสต์ แขกจะเรียกใช้เว็บไซต์หลายแห่งและฉันไม่ต้องการระบุหมายเลขพอร์ตเมื่อเรียกดูดังนั้นฉันต้องการให้ผู้เยี่ยมชมมีที่อยู่ IP ของตัวเองที่โฮสต์ปรากฏให้เห็นดังนั้นฉันสามารถแก้ไขโฮสต์ / etc / ไฟล์โฮสต์ที่จะชี้ไปที่แขก
ฉันไม่สนใจว่าแขกจะเข้าถึงอินเทอร์เน็ตอย่างไร มันจะต้องสามารถที่จะ แต่จะต้องเห็นโฮสต์เท่านั้นไม่ใช่คอมพิวเตอร์เครื่องอื่น ดังนั้นหากแขกเข้าถึงอินเทอร์เน็ตผ่านทาง NIC เสมือนหนึ่งและโฮสต์ผ่านทางอื่นก็ไม่เป็นไร
ฉันได้อ่านว่าข้อเท็จจริงที่ว่าโฮสต์ใช้ wifi นั้นสำคัญเพราะฉันไม่สามารถเชื่อมต่อกับ wlan0 ได้
อะไรคือวิธีที่ง่ายที่สุดในการบรรลุเป้าหมายนี้โปรดจำไว้ว่าฉันไม่มีกูรูด้านเครือข่าย / iptables?
ปรับปรุง: ฉันลืมที่จะพูดถึงเครื่องเกสต์ถูกตั้งค่าเป็นผู้ใช้ที่ไม่ใช่รูทเช่นใช้เซสชัน qemu: /// ฉันไม่ทราบว่ามีแบริ่งใด ๆ หรือไม่ แต่ดูเหมือนจะหมายความว่าฉันไม่สามารถเห็นเครือข่ายเสมือน 'ค่าเริ่มต้น' ที่ libvirtd กำหนดค่าสำหรับ qemu: /// ระบบ VM
อัปเดต 2: ฉันเพิ่งพบข้อมูลใน เอกสาร libvirt ซึ่งระบุว่า Userspace SLIRP เป็นตัวเลือกเดียวสำหรับผู้ใช้ที่ไม่มีสิทธิ์ นี่หมายความว่าสิ่งที่ฉันต้องการจะทำไม่สามารถทำได้หากไม่เริ่ม VM เป็น root หรือไม่
Userspace SLIRP สแต็ก
มอบ LAN เสมือนพร้อม NAT ให้กับโลกภายนอก เครือข่ายเสมือนมี DHCP & amp; DNS บริการและจะให้ที่อยู่ VM ของแขกเริ่มต้นจาก 10.0.2.15 ค่าเริ่มต้น เราเตอร์จะเป็น 10.0.2.2 และเซิร์ฟเวอร์ DNS จะเป็น 10.0.2.3 เครือข่ายนี้เป็นเพียงอย่างเดียว ตัวเลือกสำหรับผู้ใช้ที่ไม่มีสิทธิพิเศษที่ต้องการ VMs ของพวกเขาเพื่อเข้าถึงขาออก