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 접속에 사용되므로 수정하지 않습니다. enp0s8과 enp0s9를 브리지에 사용합니다.
브리지용 Netplan 파일 수정
enp0s8과 enp0s9를 결합하는 브리지 설정:
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> ...
enp0s8과 enp0s9가 브리지 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
이 설정에서:
enp0s8과enp0s9는 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 명령으로 변경한 내용은 임시적이며 시스템 재부팅 후 초기화됩니다.