ฉันกำลังคิดที่จะเปิดหนึ่งใน VM ของฉัน (ทั้งหมดบน KVM) เพื่อการเข้าถึงจากภายนอก ปัจจุบัน ทำได้เฉพาะผ่าน cloudflared tunnel เท่านั้น แต่สามารถเปลี่ยนแปลงได้ เพื่อสิ่งนั้น ฉันต้องการวิธีที่จะบล็อกการเข้าถึงจาก VM เฉพาะนั้นไปยังโฮสต์ใดๆ และทั้งหมดบนเครือข่ายส่วนตัวได้อย่างปลอดภัยและปลอดภัย ในกรณีที่มีคนเจาะระบบและรูทได้ VM เฉพาะนั้น (ขอเรียกมันว่า VM10) ควรเข้าถึงได้เฉพาะเกตเวย์ และจากนั้นไปที่อินเทอร์เน็ต ในเวลาเดียวกัน ฉันต้องการเข้าถึง VM เฉพาะนั้นจาก IP บนเครือข่ายส่วนตัวสำหรับการบำรุงรักษา สำรองข้อมูล และการพัฒนาเพิ่มเติม ฉันกำลังใช้สะพาน
VM10 เชื่อมต่อผ่าน br1 และ br2
Br1 เชื่อมต่อกับอินเทอร์เน็ต Br2 เป็นเครือข่ายส่วนตัวความเร็วสูง
บน VM10 eth0 จะเชื่อมต่อกับ br1 ด้วย IP 192.168.1.10 ; eth2 เชื่อมต่อกับ br2 ด้วย IP 192.168.222.10
ใครก็ตามที่เข้าสู่ระบบ VM10 แม้ว่าจะมีการเข้าถึงระดับรูท ก็ควรเข้าถึงได้เฉพาะ 192.168.1.1 และอินเทอร์เน็ตหลังจากนั้น ใครก็ตามที่เข้าสู่ระบบ VM10 แม้ว่าจะมีการเข้าถึงระดับรูท ก็ไม่ควรเข้าถึงสิ่งใดเลยผ่าน eth2 โดยเฉพาะอย่างยิ่ง eth2 ไม่ควรปรากฏขึ้นด้วยซ้ำเมื่อเปิดเข้าสู่ระบบ VM10
ฉันไม่ต้องการทำเช่นนั้นกับกฎไฟร์วอลล์บน VM10 เพราะหากมีคนรูทบน VM10 ไฟร์วอลล์จะปิดลงในไม่กี่วินาที
ฉันไม่ต้องการทำตามกฎไฟร์วอลล์ในกล่องบนเครือข่ายส่วนตัวเพราะมันยุ่งยากและมองข้ามได้ง่าย ฉันต้องการติดบางอย่างใน XML ของ VM10 และทำมันให้เสร็จ
สำหรับ VM10:
- อนุญาตให้เข้าและออกไปยัง/จาก 192.168.1.1 และอินเทอร์เน็ต
- ไม่อนุญาตให้ส่งออกไปยัง ips อื่น ๆ บน br1 อนุญาตให้เข้า
- ไม่อนุญาตให้ส่งออกไปยัง ips ทั้งหมดใน br2 อนุญาตให้เข้า
- ทำเช่นนี้เพื่อให้ผู้ใช้รูทที่ล็อกอินเข้าสู่ VM10 ไม่สามารถเปลี่ยนแปลงได้
ฉันคิดว่าตัวกรองเครือข่ายของ libvirt สามารถทำได้ แต่ฉันกลัว เอกสารของพวกเขา เป็นเรื่องที่หนาแน่นเกินไปสำหรับหัวเก่าของฉัน
วิญญาณที่ใจดีสามารถช่วยได้หรือไม่? เป็นไปได้ด้วยกฎที่สมบูรณ์?
ขอขอบคุณ.