๐ง Linux ้ฒ้็ถฒ่ทฏ่จญๅฎๅคงๅ จ:Bonding、VLAN、Bridge、้ๆ ่ทฏ็ฑ、Multi-NIC ๆถๆงๅฎๆด่งฃๆ
ๅจไผๆฅญ็ถฒ่ทฏ、่ณๆไธญๅฟ、่ๆฌๅๅนณๅฐ(Proxmox、VMware、KVM)、ๅฎนๅจๅนณๅฐ(Kubernetes)ไธญ, Linux ๆฎๆผ่้้ต็ๅบ็ค่ง่ฒ,่็ถฒ่ทฏ่จญๅฎๆดๆฏๆดๅ็ณป็ตฑไธญไธๅฏๆ็ผบ็ๆ ธๅฟ็ตไปถ。
ๆฌ็ฏไปฅ็พ็งๆนๅผ、็ณป็ตฑๅๆด็ Linux ้ฒ้็ถฒ่ทฏ่จญๅฎ,ๅ ๆฌ: Bonding(็ถฒๅก่ๅ)、VLAN(่ๆฌๅๅ็ถฒ่ทฏ)、Bridge(็ถฒๆฉ)、้ๆ ่ทฏ็ฑ、Multi-NIC ๆถๆง่จญ่จ。 ๆฏๅ็ซ ็ฏ็้่จญๅฎๆช็คบไพ、ไฝฟ็จๆ ๅขไปฅๅๆไปคๆไฝ,้ฉๅ็ณป็ตฑๅทฅ็จๅธซ、็ถฒ่ทฏๅทฅ็จๅธซ、่ๆฌๅๆถๆงๅธซๅ่ไฝฟ็จ。
๐ 1. Bonding(็ถฒๅก่ๅ)— Link Aggregation / NIC Teaming
Bonding ๆฏๅฐๅ ฉๅผตๆๅคๅผตๅฏฆ้ซ็ถฒๅกๆดๅๆไธๅผต้่ผฏไป้ข,ๆๅ:
- ๐ ๅธถๅฏฌ(Link Aggregation)
- ๐ก️ ้ซๅฏ็จๆง(ๆ ้่ชๅๅๆ)
ๅธธ่ฆๆจกๅผ(mode)ๅ็จ้ๅฆไธ:
| ๆจกๅผ | ็จ้ | ็น่ฒ |
|---|---|---|
| mode=1 (active-backup) | ้ซๅฏ็จๆง | ๅ ไธๆข้่ทฏๅทฅไฝ、็ก้ไบคๆๅจๆฏๆด |
| mode=2 (balance-xor) | ็ฐกๅฎ่ฒ ่ผๅๆ | ้ไบคๆๅจๆฏๆด、Hash ๅ้ |
| mode=4 (802.3ad) | ไผๆฅญๆๅธธ็จ LACP | ้ไบคๆๅจๆฏๆด LACP、ๆ่ฝๆไฝณ |
| mode=5/6 | ้ฉ็จๅฐ่ฆ็ฐๅข | ๅค็บ่ผ่็ฐๅขไฝฟ็จ |
๐ฆ Bonding ่จญๅฎ็ฏไพ(ifcfg)— LACP ๆจกๅผ
bond0 ่จญๅฎ:
DEVICE=bond0
TYPE=Bond
BONDING_MASTER=yes
IPADDR=192.168.10.20
PREFIX=24
GATEWAY=192.168.10.1
BONDING_OPTS="mode=4 miimon=100 lacp_rate=1"
ONBOOT=yes
ๅฏฆ้ซ NIC ๅ ๅ ฅ Bonding:
DEVICE=ens160
MASTER=bond0
SLAVE=yes
ONBOOT=yes
ๅฎๆๅพ้ๆฐๅๅ NetworkManager ๆไป้ข。 Bonding ๆฏ่ๆฌๅๅนณๅฐๅธธ็จๆ่ก,ๅฏ้ฟๅ ๅฎ NIC ๆ ้้ ๆๆดๅ็ฏ้ป้ข็ท。
๐ 2. VLAN(802.1Q Tagging)— ่ๆฌๅๅ็ถฒ่ทฏ
VLAN ่ฎๅฎไธๅฏฆ้ซไป้ขๅฏๅๆๅณ่ผธๅคๅ็ถฒๆฎต,้ฉ็จๆผ:
- ๐ฆ Proxmox / KVM VM ็ถฒ่ทฏ้้ข
- ๐ก ๅคงๅไผๆฅญๅค็ถฒๆฎต็ฐๅข
- ๐ก️ ๅฎๅ จๆงๅๅๅ้(DMZ / LAN / ็ฎก็็ถฒ)
๐ฆ VLAN ่จญๅฎๆช(ifcfg)็คบไพ
DEVICE=ens160.50
VLAN=yes
BOOTPROTO=static
IPADDR=192.168.50.10
PREFIX=24
ONBOOT=yes
๐ฆ ไฝฟ็จ nmcli ๅปบ็ซ VLAN
nmcli con add type vlan con-name vlan50 dev ens160 id 50 ip4 192.168.50.10/24
ไบคๆๅจ้่จญๅฎ Trunk / Tagged Port ๆ่ฝๆญฃๅธธ้ไฝ。
๐ 3. Bridge(็ถฒๆฉ)— Linux Bridge
Linux Bridge ๆฏ่ๆฌๅ็ฐๅข็ๆจๆบ็ถฒ่ทฏๆถๆง,ๅฏ่ฎ่ๆฌๆฉ็ดๆฅๅ ๅ ฅ L2 ็ถฒ่ทฏ。
- Proxmox:vmbr0
- KVM / Libvirt:virbr0
๐ฆ Bridge ่จญๅฎๆช(ifcfg)็คบไพ
bridge:
DEVICE=br0
TYPE=Bridge
IPADDR=192.168.1.20
PREFIX=24
GATEWAY=192.168.1.1
ONBOOT=yes
ๅฏฆ้ซ NIC:
DEVICE=ens160
BRIDGE=br0
ONBOOT=yes
Bridge ็ญๅๆผ่ป้ซไบคๆๅจ(Software Switch),ๆฏๅฎนๅจ่ VM ็ถฒ่ทฏ็ๅบ็ค。
๐ 4. ้ๆ ่ทฏ็ฑ(Static Routing)
้ๆ ่ทฏ็ฑ็จๆผๆๅๆๅฎๆต้่ตฐๅ,ไพๅฆ่ทจ็ถฒๆฎต、้้ข็ฐๅข、VPN ็ญ็จ้。
๐ฆ ่จๆ้ๆ ่ทฏ็ฑ(็ซๅณ็ๆ)
ip route add 10.20.0.0/16 via 192.168.1.1
๐ฆ ๆฐธไน ้ๆ ่ทฏ็ฑ(ifcfg-route)
ๅปบ็ซๆชๆก:
/etc/sysconfig/network-scripts/route-ens160
ๅ งๅฎน:
10.20.0.0/16 via 192.168.1.1 dev ens160
๐ 5. Multi-NIC ๆถๆง่จญ่จ(ๅค็ถฒๅก็ฐๅข)
ๅค็ถฒๅก็ฐๅขๅธธ่ฆๆผ:
- ๐ก ็ฎก็็ถฒ / ๆๅ็ถฒ / Storage ็ถฒๅ้ข
- ☁️ ่ๆฌๅๅนณๅฐ(Proxmox / ESXi)
- ๐งฑ ไผๆฅญ่ณๆไธญๅฟ็ถฒ่ทฏๅๅฑค
๐ฆ ่ฅ่ฆ็บไธๅ NIC ่จญๅฎไธๅ Gateway(้ฒ้)
Linux ไธๅ ่จฑ「ๅคๅ้ ่จญ Gateway」ๅๆๅญๅจ,ไฝๅฏไฝฟ็จๆฟ็ญ่ทฏ็ฑ(Policy Routing)。
ๆฅ่ฉข table:
ip rule
ๅ ๅ ฅๆฟ็ญ่ทฏ็ฑ:
ip rule add from 192.168.20.0/24 table 20
ip route add default via 192.168.20.1 table 20
้ฉ็จๆผ Storage ็ถฒ่็ฎก็็ถฒ้่ฆ่ตฐไธๅ่ทฏๅพ็ๆ ๅข。
๐ 6. ้ฒ้็ถฒ่ทฏๆถๆง็ถๅ็คบไพ(ไผๆฅญๅธธ่ฆๆถๆง)
ไปฅไธ็บไผๆฅญๅธธ่ฆไธๅฑค็ถฒ่ทฏ็คบ็ฏ:
- Bonding(LACP)ๆไพ้ซๅฏ็จๆง
- ๅจ Bond ไธๅปบ็ซๅค็ต VLAN
- Bridge ๆไพ่ๆฌๆฉ L2 ็ถฒ่ทฏ
- Routing ๆฑบๅฎ่ทจ็ถฒๆฎต่ตฐๅ
bond0 (mode=4)
├── bond0.10 → VLAN 10(Management)
├── bond0.20 → VLAN 20(VM Network)
└── bond0.30 → VLAN 30(Storage)
vmbr0 → bond0.20(ๆไพ VM L2 ็ถฒ่ทฏ)
storage0 → bond0.30(่ตฐ็จ็ซ Storage)
ๆญคๆถๆงๆฏ Proxmox、OpenStack、KVM ่ณๆไธญๅฟๅ ดๆฏๆๅธธ่ฆ็ๅ ธๅ่จญ่จ。
๐ 7. ๅธธ่ฆๅ้ก(Troubleshooting)
❗ Bridge ๆฒๆ IP?
้็ขบ่ชๆฏๅฆ็ฑ Bridge ไป้ข(br0)ๅๅพ IP,่้ๅฏฆ้ซ NIC。
❗ VLAN ping ไธ้?
- ไบคๆๅจ port ๆช่จญๅฎ Trunk / Tagged
- Bonding mode ่ไบคๆๅจไธไธ่ด(็นๅฅๆฏ LACP)
❗ Bonding mode 4 ็กๆณๅๅ?
ไบคๆๅจ้ๅ็จ LACP(802.3ad)。
❗ Multi-NIC ๆต้่ท้ฏ่ทฏ?
้่จญๅฎๆฟ็ญ่ทฏ็ฑ(Policy Routing)。
ๆฒๆ็่จ:
ๅผต่ฒผ็่จ