การกำหนดค่า 1: 1 Nat โดยใช้ Firewalld สำหรับ VM


10

ฉันตั้งค่า 2 vm ภายในเซิร์ฟเวอร์ของฉันและฉันพยายามติดตั้ง NAT 1: 1 สำหรับพวกเขาด้วย firewalld บน CentOS 7 ปัจจุบัน vm ทั้งสองอยู่หลังสะพานเสมือน (virbr0, vnet0, vnet1) และฉันได้ทำสำเนา ของ NIC สำหรับแต่ละ IP ที่จะใช้กับพวกเขา ฉันต้องการตั้งค่าเช่นนี้:

eth0: 0 (IP สาธารณะ) -----> vnet0 (IP ภายใน); eth0: 1 (IP สาธารณะ) -----> vnet1 (IP ภายใน)

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

ฉันได้ลองบางสิ่งแล้ว แต่ฉันยังไม่สะดวกกับไฟร์วอลล์


ดังนั้นนี่คือสิ่งที่ฉันทำไปแล้วในที่สุดฉันก็พยายามทำให้ VM เหล่านี้มี IP สาธารณะ นั่นคือความกังวลหลักของฉัน ฉันตั้งค่าบริดจ์เสมือน 2 ชุด (virbr1, virb2) แต่ละอันมี VM ของตัวเอง และพวกมันกำลังติดตั้งด้วย nat ดังนี้: eth0: 0 -> virbr1 -> vnet0; eth0: 1 -> virbr2 -> vnet1 ทุกอย่างก็โอเค แต่เมื่อฉันพยายาม ssh เข้าไปใน IP ที่กำหนดให้กับ eth0: 0 ฉันยังคงได้รับเซิร์ฟเวอร์หลัก
dstana

คำตอบ:


10

NAT ทำที่ระดับไฟร์วอลล์ / เราเตอร์

ขึ้นอยู่กับไฟร์วอลล์ / เราเตอร์ของคุณคุณสามารถตั้งค่า 1: 1 NAT สิ่งเดียวที่คุณต้องจำไว้คือคุณสามารถตั้งค่าหนึ่งพอร์ตเป็น IP เดียวเท่านั้น

ดังนั้นหากคุณมีเว็บเซิร์ฟเวอร์ 2 เครื่องคุณจะต้องเรียกใช้พอร์ตอื่น (นอกเหนือจาก 80) เพื่อให้ NAT ทำงานได้


มีวิธีที่จะมีเพียงแค่มันจึงเป็นส่วนต่อประสานแทนการส่งต่อพอร์ต? หรือ IP เป็น IP
dstana
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.