[Linux] 네트워크 본딩 [CentOS 7]

리눅스는 여러 물리적 ‘네트워크 인터페이스 카드(NIC)’를 묶어 하나의 본딩 된 채널로 만들 수 있습니다. 하나의 논리적 인터페이스처럼 사용할 수 있는 것을 네트워크 본딩이라고 합니다.

예를 들어 1기가(Gbps) 속도의 네트워크 포트 4개를 묶으면, 합쳐서 4기가 속도처럼 쓸 수 있어 더 빠릅니다.

또한, 하나의 포트나 케이블, 스위치에 문제가 생겨도 나머지가 대신해서 네트워크가 끊기지 않도록 안전하게 만들어 줍니다. 대역폭 확장보다는 장애 대비 목적으로 많이 사용됩니다.

네트워크 본딩은 여러 네트워크 장비와 운영체제에서 다양한 이름으로 불립니다.

  • 이더넷 본딩 (Ethernet Bonding)
  • 포트 트렁킹 (Port Trunking)
  • 채널 티밍 (Channel Teaming)
  • NIC 티밍 (NIC Teaming)
  • 링크 통합 (Link Aggregation)

✅ 네트워크 스위치 이중화 구성

단순하게 구성 예스로 만든 네트워크 스위치 이중화 구성입니다.

네트워크 스위치 이중화 (기본) - 네트워크 본딩 구성

네트워크 스위치, 회선, 포트 등에서 장애가 발생할 경우를 대비해 서버에서 본딩을 통해 이중화를 구성합니다.

CentOS에서는 본딩 설정 시 Active Backup (mode: 1) 방식을 많이 사용합니다. 예를 들어, Active Switch와 연결된 인터페이스가 eth0 Standby Switch와 연결된 인터페이스가 eth1일 때 eth0을 Primary로 지정해야 정상적으로 통신이 유지됩니다.

✅ 본딩 모드

본딩 모드는 본딩으로 묶일 예정인 여러 slave 장치들을 효율적으로 묶기 위한 여러가지 장치를 어떻게 묶고 동작 시킬지 결정하는 방식입니다.

보통 Round-robin 모드와 Active Backup 모드를 사용해서 네트워크 스위치가 802.3ad를 제공하고 스위치를 컨트롤이 가능한 경우 802.3ad를 사용합니다.

본딩의 여러 모드는 목적(속도 향상, 이중화 등)에 따라 다르게 작동합니다.

mode

이름(방법)

설명

0

Round-robin

· 기본값
· 순차적으로 트래픽 분산 (속도↑, 이중화)

1

Active-backup

· 자주 사용됨
· 하나는 사용, 하나는 대기 (이중화 전용)

2

XOR

· 해시 방식
· 특정 규칙에 따라 분산

3

Broadcast

모든 NIC에 동일 데이터 전송

4

802.3ad (LACP)

· 스위치 802.3ad 요구
· 스위치와 협력해 트래픽 분산 (속도↑, 이중화)

5

Adaptive transmit load balancing

송신 부하 분산

6

Adaptive load balancing

송수신 부하 분산

802.3ad“는 IEEE(국제전기전자학회)에서 정한 이더넷 링크 집계(Link Aggregation) 표준입니다. 숫자 802.3은 이더넷 표준을 정의하는 IEEE 작업 그룹 번호, 그 뒤의 ad는 부가적인 기능(Amendment)을 뜻합니다.

  • 802.3: 유선 이더넷 표준 전체를 의미
  • ad: 링크 집계(Link Aggregation)를 다룬 확장 규약
802.3ad = LACP (Link Aggregation Control Protocol) 와 동일한 의미로 사용되며, 여러 개의 네트워크 인터페이스를 하나의 논리적 인터페이스로 묶어서 트래픽을 자동으로 분산·이중화해주는 표준입니다.

✅ CentOS 7 네트워크 본딩 설정: nmtui

nmtui 방식으로 네트워크 본딩 설정을 진행해 보겠습니다. (mode: 1)

CentOS
    └── 네트워크 본딩 (bonding 1)
        ├── enp0s3(어댑터 1)   스위치 A
        └── enp0s8(어댑터 2)   스위치 B

🔲 VirtualBox 본딩 환경 만들기

VirtualBox 네트워크 본딩 테스트 위한 어댑터2 추가

🔲 본딩 구성 원칙

nmcli d 명령으로 현재 네트워크 인터페이스를 확인 후 nmtui를 실행합니다.

기존 이더넷 인터페이스에 IP 설정이 남아 있으면 본딩 설정과 충돌하거나 중복 IP 문제가 생길 수 있습니다.

따라서 본딩 구성 전에는 기존 개별 이더넷 인터페이스의 IP 설정을 삭제 후 본딩 인터페이스에만 IP를 할당하는 것이 안전합니다.

항목설정 방식설명
bond1수동 IP (Static) 또는 DHCPIP는 이 논리 인터페이스에만 설정
enp0s3, enp0s8“IPv4 없음”, “IPv6 없음”슬레이브이므로 IP를 직접 설정하지 않음
슬레이브 설정본딩에 종속(slave)으로 지정연결만 되게 해두고, IP는 받지 않음

🔲 본딩

[root@localhost ~]# nmcli d
DEVICE  TYPE      STATE          CONNECTION  
enp0s3  ethernet  연결됨         enp0s3      
enp0s8  ethernet  연결됨         유선 연결 1 
lo      loopback  관리되지 않음  --          
[root@localhost ~]# nmtui
nmtui 네트워크 본딩 설정 1

기존 유선 연결을 enp0s8로 변경했습니다.

nmtui 네트워크 본딩 설정 2
nmtui 네트워크 본딩 설정 3
nmtui 네트워크 본딩 설정 4_

프로파일 이름과 장치 이름을 설정합니다.

nmtui 네트워크 본딩 설정 5
nmtui 네트워크 본딩 설정 7
nmtui 네트워크 본딩 설정 6
nmtui 네트워크 본딩 설정 8
nmtui 네트워크 본딩 설정 9_모드 선택
nmtui 네트워크 본딩 설정 10_활성백업(Active-backup)_본딩1
nmtui 네트워크 본딩 설정 11_Primary 인터페이스 설정

수동 네트워크를 설정합니다.

nmtui 네트워크 본딩 설정 11_2_수동 네트워크 설정

저장이 안되어 확인 해 보느 [프로파일 이름]과 [장치]의 입력 값이 동일하면 [OK]가 활성화 되지 않습니다.

nmtui 네트워크 본딩 설정 12_저장
nmtui 네트워크 본딩 설정 13_완료

✅ 본딩 확인

systemctl restart network
nmcli d
CentOS 7_네트워크 본딩 확인

Similar Posts

  • iptables 개념과 설치 | iptables 명령어

    iptables는 netfilter.org에서  C언어로 만들어진 패킷 필터링이며 무료 방화벽 서비스입니다. 리눅스 방화벽의 기본 정책은 필요한 것을 제외한 모든 패킷에 대해 거부하는 것이 방화벽의 기본 정책입니다. 기본 설치 명령어는 다음과 같습니다. 기본 룰 설정 옵션은 다음과 같습니다. 목차✅ 네트워크 스위치 이중화 구성✅ 본딩 모드✅ CentOS 7 네트워크 본딩 설정: nmtui🔲 VirtualBox 본딩 환경 만들기🔲 본딩…

  • [Ubuntu] apt 명령어 | apt-get 명령어 사용법과 차이점

    Red Hat 계열 리눅스에서는 패키지 관리를 위해 dnf 명령어를 사용하며, Debian 계열에서는 apt 명령어를 사용합니다. Ubuntu와 같은 Debian 기반 배포판에서는 두 명령어가 모두 사용 가능하지만, 목적과 사용 방식에 따라 약간의 차이가 있습니다. 이 글에서는 apt와 apt-get의 차이를 간단히 비교하고, apt 명령어에서 자주 사용하는 명령어 예제를 함께 정리해보겠습니다. 목차✅ 네트워크 스위치 이중화 구성✅ 본딩…

  • 리눅스 blkid 명령어 | UUID와 GUID 차이

    리눅스 blkid 명령어는 블록 디바이스의 파일 시스템 유형 or 속성을 출력하는 명령어입니다. 주 목적은 리눅스 서버를 다시 시작하는 경우 /etc/fstab 파일에 자동 마운트 정보를 설정할 때 UUID를 확인하기 위해 사용되는 명령어입니다. 목차✅ 네트워크 스위치 이중화 구성✅ 본딩 모드✅ CentOS 7 네트워크 본딩 설정: nmtui🔲 VirtualBox 본딩 환경 만들기🔲 본딩 구성 원칙🔲 본딩✅ 본딩…

  • 리눅스 SSH 정의 및 기본 설치

    목차✅ 네트워크 스위치 이중화 구성✅ 본딩 모드✅ CentOS 7 네트워크 본딩 설정: nmtui🔲 VirtualBox 본딩 환경 만들기🔲 본딩 구성 원칙🔲 본딩✅ 본딩 확인✅ 리눅스 SSH 정의 SSH(Secure Shell)란 원격 호스트 컴퓨터로 접속하기 위해 사용되는 인터넷 프로토콜입니다. 뜻에서 알 수 있듯이 보안 쉘이란 걸 알 수 있습니다. 기존 유닉스 시스템의 텔넷은 암호화가 이루어지지 않아…

  • 윈도우 서버 IIS 설치 [2022 ver]

    LightSail에 테스트 용으로 만든 윈도우 서버 2022 버전에 IIS 설치를 진행해 보겠습니다. 원도우 서버에서 웹 서버를 운영하기 위해 윈도우 서버 IIS 설치가 기본 전제이며, IIS(Internet Information Services)는 마이크로소프트에서 개발한 웹 서버 소프트웨어입니다. 목차✅ 네트워크 스위치 이중화 구성✅ 본딩 모드✅ CentOS 7 네트워크 본딩 설정: nmtui🔲 VirtualBox 본딩 환경 만들기🔲 본딩 구성 원칙🔲 본딩✅…

  • 리눅스 YUM 개념과 기본 명령어

    YUM(Yellow dog Updater, Modified)은 레드햇(RPM) 계열 리눅스 배포판에서 사용되는 패키지 설치 및 관리 도구입니다. 기존의 RPM 방식은 패키지 설치 시 의존성 문제로 사용자가 필요한 도구를 일일이 설치해야 하는 번거로움이 있었습니다. YUM은 이러한 의존성 문제를 자동으로 해결해 주며, 필요한 패키지와 관련된 의존 패키지를 함께 설치하여 오류를 최소화합니다. 의존성이 존재할 때 관련된 다른 패키지들을 자동으로…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 0   +   3   =