Aller au contenu principal

26. Configure Bridge and Bonding Devices (Demo)


Ubuntu에서 Netplan을 사용하여 네트워크 인터페이스를 브리지 및 본딩으로 구성하는 방법을 배웁니다.

브리지 예제 파일 확인

/usr/share/doc/netplan/examples/bridge.yaml 에 있는 예제 파일을 확인합니다:

jeremy@kodekloud:~$ ls /usr/share/doc/netplan/examples/
bonding_router.yaml bonding.yaml bridge_vlan.yaml bridge.yaml dhcp_wired8021x.yaml dhcp.yaml ...

jeremy@kodekloud:~$ cat /usr/share/doc/netplan/examples/bridge.yaml
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
dhcp4: no
bridges:
br0:
dhcp4: yes
interfaces:
- enp3s0

이 설정은 DHCP가 비활성화된 이더넷 인터페이스(enp3s0)와 DHCP로 IP를 받는 브리지(br0)를 정의합니다.

설정 파일에서 참조된 네트워크 인터페이스가 실제 시스템 하드웨어와 일치하는지 먼저 확인하세요.

설정 파일 복사 및 권한 설정

예제 파일을 Netplan 설정 디렉토리에 복사하고 권한을 설정합니다:

jeremy@kodekloud:~$ sudo cp /usr/share/doc/netplan/examples/bridge.yaml /etc/netplan/99-bridge.yaml
jeremy@kodekloud:~$ sudo chmod 600 /etc/netplan/99-bridge.yaml

네트워크 인터페이스 확인

시스템의 네트워크 인터페이스 이름을 확인합니다:

jeremy@kodekloud:~$ ip -c link
1: lo: <LOOPBACK,UP,LOWER_UP> ...
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> ...
3: enp0s8: <BROADCAST,MULTICAST> ... state DOWN ...
4: enp0s9: <BROADCAST,MULTICAST> ... state DOWN ...

enp0s3은 SSH 접속에 사용되므로 수정하지 않습니다. enp0s8enp0s9를 브리지에 사용합니다.

브리지용 Netplan 파일 수정

enp0s8enp0s9를 결합하는 브리지 설정:

network:
version: 2
renderer: networkd
ethernets:
enp0s8:
dhcp4: no
enp0s9:
dhcp4: no
bridges:
br0:
dhcp4: yes
interfaces:
- enp0s8
- enp0s9

설정 적용 후 확인:

jeremy@kodekloud:~$ ip -c link
3: enp0s8: ... master br0 state UP ...
4: enp0s9: ... master br0 state UP ...
5: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> ...

enp0s8enp0s9가 브리지 br0의 슬레이브가 되고, br0가 DHCP로 IP를 받습니다.

브리지 설정 제거

브리지 설정을 제거하려면 YAML 파일을 삭제하고 브리지 인터페이스를 제거합니다:

sudo ip link delete br0
프로덕션 환경에서 네트워크 설정을 완전히 초기화하려면 설정 파일 삭제 후 시스템을 재부팅하세요.

네트워크 본딩 설정

본딩은 중복성(redundancy)과 부하 분산(load balancing)을 제공합니다. 예제 파일을 복사하고 권한을 설정합니다:

sudo cp /usr/share/doc/netplan/examples/bonding.yaml /etc/netplan/99-bond.yaml
sudo chmod 600 /etc/netplan/99-bond.yaml

/etc/netplan/99-bond.yaml 파일을 수정합니다:

network:
version: 2
renderer: networkd
ethernets:
enp0s8:
dhcp4: no
enp0s9:
dhcp4: no
bonds:
bond0:
dhcp4: yes
interfaces:
- enp0s8
- enp0s9
parameters:
mode: active-backup
primary: enp0s8
mii-monitor-interval: 100

이 설정에서:

  • enp0s8enp0s9는 DHCP 비활성화
  • bond0는 DHCP 활성화
  • 본딩 모드: active-backup (Mode 1), enp0s8이 기본 인터페이스
  • MII 모니터: 100밀리초마다 링크 상태 확인
추가 본딩 모드 정보는 다음 명령으로 확인하세요: sudo man netplan 후 "bonding" 검색

Netplan 설정 적용:

sudo netplan apply

확인:

jeremy@kodekloud:~$ ip -c link
3: enp0s8: ... master bond0 state UP ...
4: enp0s9: ... master bond0 state UP ...
5: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> ...

본딩 상세 정보 확인

cat /proc/net/bonding/bond0

본딩 인터페이스 관리

본딩 인터페이스는 일반 이더넷 인터페이스처럼 관리할 수 있습니다:

sudo ip link set dev bond0 down
sudo ip addr add 10.0.0.9/24 dev bond0
ip 명령으로 변경한 내용은 임시적이며 시스템 재부팅 후 초기화됩니다.