Bridge Network คืออะไร? เชื่อม 2 Interface ให้ทำงานเป็นเครือข่ายเดียวกัน
สำหรับผู้ดูแลระบบเครือข่ายหรือคนที่ทำงานกับ Virtual Machines การทำ Bridge Network เป็นทักษะพื้นฐานที่ขาดไม่ได้ Bridge Network คือการเชื่อมต่อสอง network interface หรือมากกว่าให้ทำงานร่วมกันเสมือนเป็น interface เดียว ทำให้อุปกรณ์ทั้งสองฝั่งสามารถสื่อสารกันได้ราวกับอยู่ในเครือข่ายเดียวกัน โดยไม่ต้องใช้ router
เทคนิคนี้ทำงานอยู่ใน Layer 2 (Data Link Layer) ของ OSI Model ซึ่งหมายความว่าการ bridge ทำได้อย่างโปร่งใสโดยไม่กระทบ routing ระดับ IP
Use Case ที่ใช้ Bridge Network ในงานจริง
Virtual Machines ที่ต้องเข้าถึงเครือข่ายภายนอก
กรณีที่พบบ่อยที่สุดคือการใช้ Bridge Network กับ Virtual Machines (VMs) หากมีเครื่อง host ที่รัน VM หลายตัว Bridge Network จะให้ VM ได้รับ IP address จาก DHCP server เดียวกับเครือข่ายจริง ทำให้เข้าถึงได้จากภายนอกเหมือนเครื่องจริงอีกเครื่องหนึ่ง
สำหรับผู้ที่ใช้ VPS ของ DriteStudio และต้องการรัน nested virtualization หรือ container Bridge Network ช่วยให้การจัดการเครือข่ายเป็นเรื่องง่าย
Docker และ Container Networking
Docker ใช้ Bridge Network เป็น default networking mode โดยสร้าง virtual bridge ชื่อ docker0 และเชื่อม container ทุกตัวเข้ากับ bridge นี้
วิธีสร้าง Bridge Network บน Linux ด้วย iproute2
วิธีสมัยใหม่ใช้คำสั่ง ip link จากชุดเครื่องมือ iproute2 ทำตามขั้นตอนดังนี้
ขั้นตอนที่ 1: สร้าง Bridge Interface
sudo ip link add name br0 type bridge
ขั้นตอนที่ 2: เปิดใช้งาน Bridge
sudo ip link set br0 up
ขั้นตอนที่ 3: เพิ่ม Physical Interface เข้า Bridge
สมมติต้องการเพิ่ม eth0 และ eth1 เข้าไปใน bridge:
sudo ip link set eth0 master br0
sudo ip link set eth1 master br0
ขั้นตอนที่ 4: กำหนด IP Address ให้ Bridge
sudo ip addr add 192.168.1.100/24 dev br0
ขั้นตอนที่ 5: ตั้ง Default Gateway
sudo ip route add default via 192.168.1.1 dev br0
ตรวจสอบสถานะ Bridge
ดูรายละเอียด bridge ที่สร้างไว้:
bridge link show
ตัวอย่างผลลัพธ์:
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 master br0 state forwarding
3: eth1: <BROADCAST,MULTICAST,UP> mtu 1500 master br0 state forwarding
ดู IP ที่กำหนดให้ bridge:
ip addr show br0
วิธีสร้าง Bridge แบบถาวรด้วย Netplan (Ubuntu)
การตั้งค่าผ่าน ip link จะหายไปเมื่อ reboot ให้ใช้ Netplan สำหรับการตั้งค่าถาวร แก้ไขไฟล์ /etc/netplan/01-bridge.yaml:
network:
version: 2
ethernets:
eth0:
dhcp4: false
eth1:
dhcp4: false
bridges:
br0:
interfaces:
- eth0
- eth1
addresses:
- 192.168.1.100/24
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
จากนั้น apply การตั้งค่า:
sudo netplan apply
วิธีเก่าด้วย brctl (bridge-utils)
สำหรับระบบเก่าที่ยังใช้ brctl:
sudo apt install bridge-utils
sudo brctl addbr br0
sudo brctl addif br0 eth0
sudo brctl addif br0 eth1
sudo ip link set br0 up
sudo ip addr add 192.168.1.100/24 dev br0
ดูสถานะ bridge:
brctl show
ตัวอย่างผลลัพธ์:
bridge name bridge id STP enabled interfaces
br0 8000.aabbccddeeff no eth0
eth1
ข้อควรระวังเมื่อทำ Bridge Network
Wi-Fi ที่ไม่รองรับ Bridge โดยตรง - Wi-Fi adapter หลายตัวไม่รองรับการ bridge เนื่องจากข้อจำกัดของ 802.11 standard ในกรณีนี้ต้องใช้ proxy ARP หรือ NAT แทน
Performance - Bridge เพิ่ม overhead เล็กน้อย สำหรับ workload ที่ต้องการ performance สูงสุด ควรพิจารณาใช้ macvlan หรือ SR-IOV แทน
ความปลอดภัย - Bridge ทำให้สอง network segment สื่อสารกันได้โดยตรง ควรใช้ร่วมกับ firewall rules ระบบ Security ของ DriteStudio ช่วยปกป้องเครือข่ายของคุณจากภัยคุกคาม
Bridge Network ในบริบทของ Data Center
ใน Data Center ที่ให้บริการ Dedicated Server และ Colocation Bridge Network มีบทบาทสำคัญในการจัดการ VLAN และแยกทราฟฟิกระหว่างลูกค้า
สำหรับผู้ที่ต้องการ Hosting ที่มีเครือข่ายคุณภาพสูง DriteStudio มีโครงสร้างพื้นฐานที่ออกแบบมาอย่างดีพร้อมรองรับทุกรูปแบบการใช้งาน
คำถามที่พบบ่อย
Bridge Network กับ NAT ต่างกันอย่างไร?
Bridge ทำให้อุปกรณ์ทั้งสองฝั่งอยู่ใน subnet เดียวกัน ส่วน NAT แปลง IP address ทำให้อุปกรณ์ภายในใช้ IP คนละชุดกับภายนอก Bridge เหมาะเมื่อต้องการให้ VM มี IP ในเครือข่ายเดียวกัน NAT เหมาะเมื่อต้องการแยก subnet
Docker Bridge Network ใช้งานยังไง?
Docker สร้าง bridge network ชื่อ bridge เป็น default เมื่อสร้าง container ใหม่จะเชื่อมเข้ากับ bridge นี้อัตโนมัติ สามารถสร้าง custom bridge network ด้วยคำสั่ง docker network create --driver bridge my-bridge ได้ตามต้องการ
Bridge Network ทำให้เน็ตช้าลงไหม?
มี overhead เล็กน้อยจากการ forward packet ระหว่าง interface แต่สำหรับการใช้งานทั่วไปแทบไม่รู้สึกถึงความแตกต่าง สำหรับ workload ที่ต้องการ performance สูงมากควรพิจารณาใช้ macvlan แทน
Bridge Network เป็นเทคนิคพื้นฐานที่ทรงพลังในการจัดการเครือข่าย ไม่ว่าจะใช้กับ VM, Docker หรือแชร์อินเทอร์เน็ต เริ่มต้นกับ VPS ของ DriteStudio เพื่อทดลองตั้งค่า Bridge Network ด้วยตัวเองได้ทันที