Network Bonding hiểu một cách đơn giản là cấu hình 2 hay nhiều Card mạng chạy song song nhau, hỗ trợ nhau hay nói cách khác là cân bẳng tải và đảm bảo tính sẵn sàng cao cho Server, nếu 1 trong 2 card bị Down thì dịch vụ trên Server vẫn chạy bình thường bằng các Card mạng khác.
Các Mode của Bonding:
mode=0 (Balance Round Robin)
mode=1 (Active backup)
mode=2 (Balance XOR)
mode=3 (Broadcast)
mode=4 (802.3ad)
mode=5 (Balance TLB)
mode=6 (Balance ALB)
VLAN là một từ viết tắt của Virtual Local Area Network. Trên cùng 1 Interface chúng ta có thể config nhiều VLAN ID cùng một lúc.
Hướng dẫn cấu hình bonding 2 card mạng và sử dụng vlan ID
Step 1: Chuẩn bị các gói cài đặt cần thiết
# apt-get update
# apt-get install build-essential ifenslave ethtool vlan
Step 2: Load modul 8021q
# modprobe 8021q
Step 3: Load module bonding –> Áp dụng đối với server bonding
# echo “bonding” >> /etc/modules
# echo “8021q” >> /etc/modules
Step 4: Enable packet forwarding for IPv4
# vi /etc/sysctl.conf
net.ipv4.ip_forward=1
Step 5: Cấu hình các thông số cho Bond, chọn chế độ chạy cho Bond
- Áp dụng đối với OS Ubuntu
# alias bond0 bonding
# options bonding mode=4 arp_interval=100 miimon=100 xmit_hash_policy=1 lacp_rate=1
- Áp dụng đối với OS Centos
# alias bond0 bonding
# options bonding mode=4 miimon=100
Note:
– Bond0: Tên của Bond được tạo ra.
– Miimon: Xác định mức độ thường xuyên, tính bằng milli giây, bond được kiểm tra nếu nó vẫn đang hoạt động.
– Mode: chế độ bond đang chạy. (mode 4: Cân bằng tải)
Step 6: Edit file hash policy
Note: Áp dụng đối với server config mode 4 (LACP)
# echo “layer3 4 1” > /sys/devices/virtual/net/bond0/bonding/xmit_hash_policy
Step 7. Config Interface
Chú ý: Tạo file interface ifcfg-bond0
auto bond0
iface bond0 inet static
address x.x.x.x
netmask x.x.x.x
network x.x.x.x
broadcast x.x.x.x
bond-miimon 100
bond-mode 4
bond-slaves none
bond-xmit-hash-policy 1
bond-lacp-rate 1
up /sbin/ifenslave bond0 em1 em2
down /sbin/ifenslave -d bond0 em1 em2
Chú ý: Chỉnh sửa các NIC thành phần của bond0. Cần chú ý đến tham số cấu hình MATSTER và SLAVE.
auto p1p1
iface p1p1 inet manual
bond-master bond0
auto p1p2
iface p1p2 inet manual
bond-master bond0
Nếu là Config interVLAN
# For Ubuntu
auto bond0
iface bond0 inet manual
bond-miimon 100
bond-mode 4
bond-slaves none
bond-xmit-hash-policy 1
bond-lacp-rate 1
up /sbin/ifenslave bond0 p1p1 p1p2
down /sbin/ifenslave -d bond0 p1p1 p1p2
auto bond0.100
iface bond0.100 inet static
address x.x.x.x
netmask x.x.x.x
network x.x.x.x
broadcast x.x.x.x
vlan-raw-device bond0
# For Centos:
ifcfg-enp13s0
DEVICE=enp13s0
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
ifcfg-enp14s0
DEVICE=enp14s0
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
#ifcfg-bond0
DEVICE=bond0
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
——————————————————
#ifcfg-vlan370
VLAN=yes
VLAN_NAME_TYPE=VLAN_PLUS_VID_NO_PAD
DEVICE=vlan370
PHYSDEV=bond0
BOOTPROTO=none
ONBOOT=yes
TYPE=Ethernet
IPADDR=x.x.x.x
NETMASK=x.x.x.x
GATEWAY=x.x.x.x
——————————————————
#ifcfg-vlan1098
VLAN=yes
VLAN_NAME_TYPE=VLAN_PLUS_VID_NO_PAD
DEVICE=vlan1098
PHYSDEV=bond0
BOOTPROTO=none
ONBOOT=yes
TYPE=Ethernet
IPADDR= x.x.x.x
NETMASK= x.x.x.x
Step 8. Restart lại network
# service network restart
Step 9. Kiểm tra lại bonding và VLAN ID
# Cat /proc/net/bonding/bond0
# Cat /proc/net/vlan/config
Như vậy là chúng ta đã tiến hành việc bonding và tag VLAN trên Linux.
>> Tham khảo thêm: Tìm hiểu về công cụ hỗ trợ pam_tty_audit trong Linux Auditting