본문 바로가기
IT/리눅스

Redhat계열 네트워크 팀(Bonding) 구성

by JGSHIN 2025. 2. 15.
SMALL

리눅스에서 Bonding(본딩)을 설정하는 방법을 정리해드리겠습니다.
본딩(Bonding)이란 두 개 이상의 네트워크 인터페이스를 하나로 묶어 이중화(High Availability) 또는 부하 분산(Load Balancing)을 제공하는 기능입니다.

 

📌 1. 본딩 모드 종류

리눅스에서 본딩을 구성할 때 사용할 수 있는 모드는 다음과 같습니다.

Mode설명

mode=0 (balance-rr) Round-Robin 방식 (부하 분산 및 이중화)
mode=1 (active-backup) Active-Backup 방식 (이중화, 단일 인터페이스 사용)
mode=2 (balance-xor) XOR 해시 방식 (부하 분산)
mode=3 (broadcast) 모든 패킷을 모든 인터페이스에 전송
mode=4 (802.3ad, LACP) LACP(Link Aggregation, IEEE 802.3ad)
mode=5 (balance-tlb) 전송 부하 분산 (송신 부하만 균등 분배)
mode=6 (balance-alb) 송수신 부하 분산

 

📌 2. 본딩 설정 방법 (3가지)

1️⃣ nmtui (GUI 방식)

nmtui를 이용하면 Bonding 인터페이스를 쉽게 설정할 수 있습니다.

✅ 설정 방법

  1. nmtui 실행
     
    # nmtui
  2. Edit a Connection 선택
  3. Add → Bond 선택
  4. Bond의 Mode (active-backup, 802.3ad 등 선택)
  5. Add Slave → eth0, eth1 등을 추가
  6. IP, Gateway, DNS 설정
  7. 적용 후 Quit
  8. 설정 적용
     
    # systemctl restart NetworkManager

2️⃣ nmcli (CLI 방식)

터미널에서 nmcli 명령어를 이용해 본딩을 구성할 수 있습니다.

✅ 설정 방법

① 기존 NIC 자동 연결 해제

 
# nmcli connection modify eth0 connection.autoconnect no
# nmcli connection modify eth1 connection.autoconnect no

② 본딩 인터페이스(Bond0) 생성

 
# nmcli connection add type bond con-name bond0 ifname bond0 mode active-backup

③ Bonding 인터페이스에 Slave 추가

 
# nmcli connection add type bond-slave ifname eth0 master bond0
# nmcli connection add type bond-slave ifname eth1 master bond0

④ IP 주소 및 기타 설정 추가

 
# nmcli connection modify bond0 ipv4.method manual connection.autoconnect yes ipv4.addresses 192.168.10.100/24 ipv4.gateway 192.168.10.1 ipv4.dns "8.8.8.8 8.8.4.4"

⑤ 본딩 옵션 추가

 
# nmcli connection modify bond0 +bond.options primary=eth0 +bond.options miimon=100 +bond.options updelay=0 +bond.options downdelay=0

⑥ 적용 및 확인

 
# nmcli con up bond0
# nmcli con show

3️⃣ 네트워크 설정 파일 직접 수정 (ifcfg-파일)

수동으로 설정 파일을 수정하여 본딩을 구성할 수도 있습니다.

✅ 설정 방법

① 본딩 모듈 활성화

 
# modprobe --first-time bonding
 
# lsmod | grep bonding bonding 141566 0

② 본딩 인터페이스 설정

 
# vi /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
NAME=bond0
TYPE=Bond
BONDING_MASTER=yes
BONDING_OPTS="mode=active-backup primary=eth0 miimon=100 updelay=0 downdelay=0"
IPADDR=192.168.10.100
PREFIX=24
GATEWAY=192.168.10.1
DNS1=8.8.8.8
DNS2=8.8.4.4
ONBOOT=yes

③ Slave 인터페이스 설정

 
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
 

DEVICE=eth0
NAME=bond-slave-eth0
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes

 
# vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
NAME=bond-slave-eth1
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes

④ 네트워크 재시작

 
# systemctl restart network

⑤ 본딩 상태 확인

 
# cat /proc/net/bonding/bond0

확인해야 할 정보

  • Currently Active Slave → 현재 활성화된 인터페이스
  • Bonding Mode → 올바른 모드 적용 여부 (active-backup, 802.3ad 등)
  • MII Status → up이면 정상

✅ 본딩 설정 후 테스트

📌 1. 본딩 확인

 
# cat /proc/net/bonding/bond0

📌 2. 장애 발생 시 동작 확인

① 현재 본딩 상태 모니터링

 
# watch -d -n 0.1 "cat /proc/net/bonding/bond0"

② 네트워크 연결 확인

 
# ping 8.8.8.8

③ 하나의 NIC(예: eth0) 종료

 
# ifdown eth0

본딩이 eth1로 자동 전환되는지 확인

④ 다른 NIC(예: eth1) 종료

 
# ifdown eth1

본딩이 eth0로 자동 전환되는지 확인


📌 정리

방법사용 명령어

GUI 방식 nmtui 실행 후 설정
CLI 방식 nmcli 명령어 사용 (nmcli connection add ...)
수동 설정 /etc/sysconfig/network-scripts/ifcfg-bond0 수정
활성화 및 확인 nmcli con up bond0, cat /proc/net/bonding/bond0

📌 결론

  • GUI가 가능하면 nmtui가 편리함
  • CLI에서는 nmcli를 사용하는 것이 가장 빠르고 직관적
  • 더 세부적인 설정이 필요하면 ifcfg-* 설정 파일을 직접 수정

💡 실무에서는 nmcli를 주로 사용하고, cat /proc/net/bonding/bond0로 상태를 확인하는 것이 일반적입니다. 🚀

 

LIST
📧 이메일 문의
by @ 2025 JGSHIN