ฉันจะตั้งค่าเครือข่ายเพื่อให้ทั้งโฮสต์และ VM สามารถเชื่อมต่ออินเทอร์เน็ตได้อย่างไร
ฉันได้ตั้งค่าเซิร์ฟเวอร์เพื่อโฮสต์เครื่องเสมือนหลายเครื่องโดยใช้ KVM มีวัตถุประสงค์เพื่อให้บริการห้องสมุดหนังสือสำหรับคนตาบอดที่ดาวน์โหลดได้ (รายละเอียดเพิ่มเติมด้านล่าง)
สถานะปัจจุบันเป็นผลมาจากการพยายามทำตามบทช่วยสอนเกี่ยวกับระบบเครือข่ายสำหรับเครื่องเสมือน เป้าหมายคือการเข้าถึงอินเทอร์เน็ตจากทั้งโฮสต์และ VM
ทั้งโฮสต์และแขกใช้งาน Debian 10 การ์ดเครือข่ายได้รับการกำหนดค่าเป็นบริดจ์เครือข่าย br0 พร้อมที่อยู่แบบคงที่ ('ส่วนต่อประสาน' ดูด้านล่าง)
ในปัจจุบัน VM เริ่มทำงานด้วยตนเองโดยใช้ virsh เมื่อไม่มี VM ทำงานอยู่ โฮสต์จะมีการเข้าถึงอินเทอร์เน็ต (เช่น ping debian.org, รับการอัปเดต, wget ...)
เมื่อ VM เริ่มทำงาน VM จะมีการเข้าถึงอินเทอร์เน็ตโดยใช้ br0 VM แต่ละเครื่องมีที่อยู่คงที่ จากนั้นโฮสต์จะสูญเสียการเข้าถึงอินเทอร์เน็ต สามารถ Ping กับเครื่องอื่นๆ ในเครือข่ายท้องถิ่นได้เช่นเดียวกับเราเตอร์ แต่ไม่เกินนั้น (ไม่ว่าจะ Ping ชื่อโดเมนหรือที่อยู่ IP)
ทั้งโฮสต์และ VM สามารถเข้าถึงได้โดยใช้ ssh จากเครื่องอื่น
เมื่อตั้งค่า VM ให้เริ่มทำงานอัตโนมัติแล้ว จะไม่สามารถอัปเดตได้อีกต่อไปโดยไม่ปิดเครื่อง VM ด้วยตนเอง อีกทั้งโฮสต์ไม่ได้เชื่อมต่อกับเซิร์ฟเวอร์เวลา นอกจากนี้ ip ยังแสดงแพ็คเกจที่ลดลง
ทั้งหมดนี้น่าจะเป็นผลมาจากความเข้าใจอย่างจำกัดของฉันเกี่ยวกับเครือข่ายและบริดจ์โดยเฉพาะ ฉันขอบคุณมากสำหรับความช่วยเหลือใด ๆ !
นี่คือข้อมูลเพิ่มเติม
วัตถุประสงค์
VM หนึ่งเครื่องควรจะให้บริการผู้ใช้จากภายนอกเครือข่ายท้องถิ่น โดยใช้เว็บเซิร์ฟเวอร์ NginX จัดการการดาวน์โหลดหนังสือที่ผู้ใช้เช็คเอาท์ซึ่งจัดเก็บไว้ในไดรฟ์ในเครื่อง
VM ตัวที่สองมีเซิร์ฟเวอร์ฐานข้อมูล PostgreSQL ซึ่งสามารถเข้าถึงได้จากเวิร์กสเตชันในเครื่องเท่านั้น ซึ่งผู้ใช้ห้องสมุดและเงินยืมจะได้รับการจัดการ
โฮสต์ควรสามารถเข้าถึงได้โดย ssh จากเครือข่ายท้องถิ่น จำเป็นต้องมีการเข้าถึงอินเทอร์เน็ตเพื่อเชื่อมต่อกับเซิร์ฟเวอร์เวลาและเพื่อให้ซอฟต์แวร์ทันสมัยอยู่เสมอ
พีซี
เมนบอร์ด: MSI MPG B550 GAMING PLUS
ซีพียู: AMD Ryzen 7 3700X
RAM: ชุด Corsair DIMM 32 GB DDR4-3200
HD: Samsung 980 PRO 1 TB, SSD
กราฟิกการ์ด: MSI GeForce GT 710 1GD3H LP
ระบบปฏิบัติการ
ชื่อ -r
4.19.0-17-amd64
lsb_release -a
ไม่มีโมดูล LSB
ID ผู้จัดจำหน่าย: Debian
คำอธิบาย: Debian GNU/Linux 10 (บัสเตอร์)
ปล่อย: 10
สมญานาม: บัสเตอร์
เครือข่าย
เซิร์ฟเวอร์อยู่ที่โฮมออฟฟิศของฉันซึ่งเชื่อมต่อกับเราเตอร์ AVM Fritz!Box 7490 จนกว่าจะย้ายไปที่ไลบรารี
ls /sys/คลาส/net/
br0 enp42s0 โล
แมว /etc/network/interfaces
# ไฟล์นี้อธิบายอินเทอร์เฟซเครือข่ายที่มีอยู่ในระบบของคุณ
#และวิธีเปิดใช้งาน สำหรับข้อมูลเพิ่มเติม โปรดดูอินเทอร์เฟซ(5)
ที่มา /etc/network/interfaces.d/*
# อินเทอร์เฟซเครือข่ายย้อนกลับ
อัตโนมัติ
iface lo inet ย้อนกลับ
# อินเทอร์เฟซเครือข่ายหลัก
คู่มือการใช้งาน iface enp42s0 inet
# การตั้งค่าสะพาน br0
อัตโนมัติ br0
iface br0 inet แบบคงที่
bridge_ports enp42s0
ที่อยู่ 192.168.10.50
เครือข่าย 192.168.10.0
ออกอากาศ 192.168.10.255
เน็ตมาสก์ 255.255.255.0
เกตเวย์ 192.168.10.1
DNS-เนมเซิร์ฟเวอร์ 94.247.43.254 194.36.144.87 192.168.10.1
ปิด bridge_stp
บริดจ์_fd 0
bridge_maxwait 0
(VM มีที่อยู่ 192.168.10.51, 192.168.10.52)
ip -s ลิงก์แสดง dev br0
3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 สถานะ qdisc noqueue UP โหมด DEFAULT กลุ่มเริ่มต้น qlen 1000
ลิงค์/อีเธอร์ 2c:f0:5d:e4:36:d5 brd ff:ff:ff:ff:ff:ff
RX: ข้อผิดพลาดของแพ็กเก็ตไบต์ลดลงเกิน mcast
206602 2218 0 1130 0 177
TX: ข้อผิดพลาดของแพ็กเก็ต bytes ทำให้ผู้ให้บริการ collsns ลดลง
99981 593 0 0 0 0
แมว /proc/net/dev
อินเตอร์-| รับ | ส่ง
ใบหน้า | ไบต์ แพ็กเก็ต ข้อผิดพลาด ปล่อย fifo เฟรม มัลติคาสต์ที่บีบอัด| ไบต์แพ็กเก็ต ข้อผิดพลาดปล่อย fifo colls ผู้ให้บริการที่บีบอัด
br0: 210026 2268 0 1138 0 0 0 177 103273 615 0 0 0 0 0 0
vnet0: 1384510 18903 0 0 0 0 0 0 58389276 40523 0 0 0 0 0 0
เลย: 1840 26 0 0 0 0 0 0 1840 26 0 0 0 0 0 0
enp42s0: 58580534 42260 0 38 0 0 0 289 1467123 19358 0 0 0 0 0 0
เส้นทาง -n
Kernel-IP-รูเทนทาเบล
Ziel Router Genmask ตั้งค่าสถานะการอ้างอิงเมตริกใช้ Iface
0.0.0.0 0.0.0.0 0.0.0.0 ยู 0 0 0 vnet0
0.0.0.0 192.168.10.1 0.0.0.0 UG 0 0 0 br0
169.254.0.0 0.0.0.0 255.255.0.0 คุณ 0 0 0 vnet0
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 br0
ls /sys/คลาส/net/
br0 enp42s0 จริง vnet0