หากฉันมี OpenStack VM ซึ่งมีการกำหนดค่าที่อยู่ IP แบบลอยตัวและพยายามเชื่อมต่อกับบริการนอก "จักรวาล" ของ OpenStack ฉันจะมั่นใจได้อย่างไรว่าที่อยู่ IP ต้นทางของการเชื่อมต่อนี้เป็นที่อยู่ IP แบบลอยตัวของ VM นี้ เบื้องหลังของคำถามนี้คือเรามีกฎไฟร์วอลล์ที่จำกัด (แน่นอน) และต้องการอนุญาตทราฟฟิกขาออกจาก VM เท่านั้น (เช่น Jenkins ซึ่งสร้างซอฟต์แวร์และต้องการให้แจกจ่ายโดยตรงไปยังบริการขาออกผ่าน SSH) ไปยังเครื่องภายนอก
ในคำพูดของเครือข่ายนี้ดูเหมือนจะเป็นไปไม่ได้เพราะใน VM ฉันไม่มีอินเทอร์เฟซเครือข่ายที่เชื่อมต่อกับเครือข่ายนี้ซึ่งมี IP แบบลอยอยู่ดังนั้นฉันจึงไม่มีเส้นทางเฉพาะผ่านเราเตอร์เริ่มต้นของการลอยตัว IP ไปยังเครือข่ายภายนอก ฉันไม่สามารถใช้ที่อยู่ IP (คงที่) ของ VM ได้เนื่องจากที่อยู่ IP เหล่านี้มองไม่เห็นและเป็นส่วนตัวต่อโลกภายนอก เราใช้ SNAT บนเราเตอร์เพื่อออกไปข้างนอก ปัญหาคือ VM ทั้งหมดใช้เราเตอร์ตัวเดียวกันเพื่อเชื่อมต่อกับภายนอก ดังนั้นที่อยู่ IP ต้นทางจะเหมือนกันสำหรับ VM ทั้งหมด แต่ฉันต้องการที่อยู่ IP ต้นทางอื่นเพื่อให้สามารถใช้กฎไฟร์วอลล์ได้
ฉันหวังว่าฉันจะสามารถอธิบายปัญหาของฉันได้อย่างเพียงพอ
ขอบคุณ! โยอาคิม.