ทำไมเราต้องมีที่อยู่ IP สำหรับบริดจ์


27

บริดจ์เป็นอุปกรณ์เครือข่ายเลเยอร์ 2 บนสะพานจริงเรามีที่อยู่ IP สำหรับการใช้งานและการบำรุงรักษาเท่านั้น ฉันสับสนเล็กน้อยว่าทำไมเราต้องใช้ที่อยู่ IP ของ KVM สำหรับบริดจ์ ฉันเข้าใจว่าส่วนต่อประสานของ VM รับเป็นที่อยู่ IP และส่วนต่อประสานทางกายภาพที่เชื่อมต่อกับบริดจ์ไม่มีที่อยู่ IP สิ่งนี้ทำให้มั่นใจได้ว่าที่อยู่ IP ของ VM สามารถมองเห็นได้จากภายนอก ในสภาพแวดล้อมเซิร์ฟเวอร์ฉันจะใช้เฉพาะที่อยู่ IP แบบคงที่สำหรับ VM ของ

สมมติว่าฉันใช้ที่อยู่ IP แบบคงที่กับ VM มากกว่าทำไมฉันจึงต้องมีที่อยู่ IP บนบริดจ์

คำตอบ:


14

คุณไม่จำเป็นต้องมีการกำหนดค่า IP สำหรับบริดจ์เช่นเดียวกับที่คุณไม่จำเป็นต้องมีการกำหนดค่า IP สำหรับอุปกรณ์อีเธอร์เน็ตบนเครื่องใด ๆ (ไม่ว่าจะเป็นโฮสต์ / แขกหรืออะไรก็ตาม)

อย่างไรก็ตามหากคุณมีอุปกรณ์ / บริดจ์ที่ไม่มีที่อยู่ IP คุณไม่สามารถคาดหวังได้ว่าบุคคลดังกล่าวจะสามารถใช้งานได้โดยที่ไม่ได้กำหนดค่าอย่างเหมาะสม (ไม่ว่าจะเป็นโฮสต์หรือแขก)

ตัวอย่างเช่นถ้าฉันมีโฮสต์ KVM ที่มีบริดจ์ชื่อ "br_vm" ซึ่งฉันกำหนดให้กับแขก KVM ทั้งหมดเป็นอินเทอร์เฟซเดียวของพวกเขา (แขกมักจะเรียกมันว่า "eth0") และหากไม่ได้กำหนดค่าที่โฮสต์ คุณไม่สามารถคาดหวังได้ว่าแขกจะสามารถพูดคุยกับโฮสต์ผ่านทางอินเทอร์เฟซของ eth0

คุณถามว่าทำไมคุณต้องใช้ IP สำหรับบริดจ์และคำตอบคือคุณไม่ อย่างไรก็ตามหากคุณต้องการทราบว่าในสถานการณ์ใดที่คุณต้องการมี IP สำหรับบริดจ์ที่โฮสต์ฉันสามารถนึกถึงบางสิ่ง:

  1. คุณต้องการให้ VMs สื่อสารกับโฮสต์แม้ว่าจะเป็น DHCP หรือ DNS เท่านั้นก็ตาม
  2. คุณอาจต้องการปิดการรับส่งข้อมูล VM-to-VM หากคุณแชร์บริดจ์นั้นกับ VMs จำนวนมากนั่นเป็นสิ่งที่ควรพิจารณา
  3. คุณอาจต้องการมีไฟร์วอลล์ที่ระดับโฮสต์นอกเหนือจากไฟร์วอลล์ใด ๆ ที่คุณอาจตั้งค่าสำหรับ VMs ของคุณ การรวมกฎไฟร์วอลล์ทั้งหมดบนโฮสต์สามารถฉลาดได้หากนโยบายโซน ฯลฯ สำหรับ VMs ทั้งหมดของคุณนั้นเหมือนกัน มันจะง่ายกว่าถ้ากฎ, ที่อยู่ IP, นโยบาย, ฯลฯ ทั้งหมดถูกเก็บไว้ในที่เดียว (แม้ว่าฉันจะตั้งค่าไฟร์วอลล์พื้นฐานสำหรับ VM แต่ละตัวในกรณีนี้);

และโดยวิธีการที่คุณสามารถมีที่อยู่ IP แบบไดนามิกบนแขกวีไอพีของคุณที่มีอะไรจะทำอย่างไรกับโฮสต์หรือไม่มี IP บนสะพาน (ยกเว้นแน่นอนโฮสต์เป็นเซิร์ฟเวอร์ DHCP สำหรับเครือข่าย) .


7

นี่เป็นเรื่องแปลกในเอกสารที่ฉันพบ ฉันสมมติว่าโฮสต์ของคุณใช้/etc/network/interfacesไฟล์สำหรับการกำหนดค่าเครือข่าย

หากในอินเตอร์เฟสบริดจ์ (br0 สำหรับตัวอย่างนี้) stanza คุณระบุที่อยู่ 0.0.0.0 คุณจะได้สิ่งที่คุณต้องการอย่างแน่นอน: VM ที่เชื่อมต่อกับบริดจ์ยังคงเชื่อมต่อกับเครือข่ายและรักษา IP ของตนเอง

อย่างไรก็ตามคุณสูญเสีย "พอร์ต" ของโฮสต์บนบริดจ์นั้น หาก (ในinterfacesไฟล์) คุณระบุที่อยู่ IP นั่นจะกลายเป็น IP ของโฮสต์ของคุณบนบริดจ์นั้นอย่างมีประสิทธิภาพเหมือนกับอินเทอร์เฟซการจัดการบนสวิตช์แบบดั้งเดิม

โปรดจำไว้ว่าบริดจ์เหมือนสวิตช์แบบสแตนด์อะโลน แต่โฮสต์ยังคง "จัดการ" อยู่ดังนั้นการเพิ่ม IP ก็เพิ่มส่วนต่อประสานการจัดการที่ได้รับการแก้ไข (ถ้าเหมาะสม)


ถ้าเช่นฉันโฮสต์ของคุณมีสอง NICs: หนึ่งสำหรับ VM และหนึ่งสำหรับตัวคุณเองคุณสามารถใส่ที่อยู่ 0.0.0.0 บน "VM bridge" และพึ่งพา NIC ทางกายภาพอื่น ๆ สำหรับการจัดการเพื่อรับการตั้งค่าที่คล้ายกัน


หากไม่ใช่สิ่งที่คุณขอให้แจ้งให้เราทราบและฉันจะแก้ไขให้เหมาะสม


3

คุณไม่จำเป็นต้องกำหนด IP ให้กับบริดจ์ Linux

นี่คือตัวอย่างของสิ่งที่ดูเหมือนว่า/etc/network/interfacesมา br0คือบริดจ์ซึ่งเชื่อมต่อกับeth0อินเตอร์เฟส:

auto br0
iface br0 inet manual
    bridge_ports eth0
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.