Ubuntu Netplan 네트워크 설정
Ubuntu 서버의 정적 IP, 본딩, 브리지, VLAN, WiFi 설정을 포함하는 Netplan YAML 구성 템플릿입니다.
# /etc/netplan/00-network.yaml
# Ubuntu Netplan 네트워크 설정
# 적용: sudo netplan apply
# 검증: sudo netplan try (60초 후 자동 롤백)
# 디버그: sudo netplan --debug apply
network:
version: 2
renderer: networkd # systemd-networkd 사용 (서버용 권장)
# renderer: NetworkManager # 데스크탑 환경에서는 NetworkManager 사용
# ============================================================
# 이더넷 인터페이스 설정
# ============================================================
ethernets:
# ----------------------------------------------------------
# eth0: 정적 IP 설정 (WAN/공인 IP 인터페이스)
# ----------------------------------------------------------
eth0:
# DHCP 비활성화 (정적 IP 사용)
dhcp4: false
dhcp6: false
# 정적 IP 주소 (CIDR 표기법)
addresses:
- 203.0.113.10/24 # IPv4 공인 주소
- 2001:db8::10/64 # IPv6 주소
# 기본 게이트웨이
routes:
- to: default
via: 203.0.113.1 # IPv4 기본 게이트웨이
metric: 100 # 낮을수록 우선순위 높음
- to: default
via: 2001:db8::1 # IPv6 기본 게이트웨이
metric: 100
# DNS 서버 설정
nameservers:
search:
- example.com # 도메인 검색 접미사
- internal.example.com
addresses:
- 1.1.1.1 # Cloudflare DNS (Primary)
- 1.0.0.1 # Cloudflare DNS (Secondary)
- 2606:4700:4700::1111 # Cloudflare IPv6
# MTU 설정 (점보 프레임: 데이터센터 내부망에서 성능 향상)
mtu: 1500
# ----------------------------------------------------------
# eth1: DHCP 자동 설정 (내부 관리 인터페이스)
# ----------------------------------------------------------
eth1:
dhcp4: true # DHCP로 자동 IP 할당
dhcp4-overrides:
use-dns: false # DHCP DNS 무시 (위 DNS 설정 유지)
use-routes: false # DHCP 라우트 무시
dhcp6: false
# ----------------------------------------------------------
# 본딩용 슬레이브 인터페이스 (본딩 설정 시 IP 없음)
# ----------------------------------------------------------
eth2:
dhcp4: false
eth3:
dhcp4: false
# ============================================================
# 본딩 설정 (고가용성 및 대역폭 향상)
# bond0: eth2 + eth3 묶음
# ============================================================
bonds:
bond0:
# 본딩에 포함할 물리 인터페이스
interfaces: [eth2, eth3]
# 정적 IP (본딩 인터페이스에 할당)
addresses:
- 10.0.0.10/24
routes:
- to: 10.0.0.0/8
via: 10.0.0.1
parameters:
# mode: active-backup = 하나 장애 시 자동 전환 (고가용성)
# mode: 802.3ad = LACP 링크 집계 (대역폭 확장, 스위치 지원 필요)
# mode: balance-rr = 라운드로빈 분산
mode: active-backup
primary: eth2 # 기본 활성 인터페이스
mii-monitor-interval: 100 # 링크 상태 확인 주기 (ms)
fail-over-mac-policy: active # 페일오버 시 MAC 주소 정책
# ============================================================
# 브리지 설정 (가상화/컨테이너 환경, KVM/LXC 호스트)
# ============================================================
bridges:
br0:
# 브리지에 연결할 인터페이스 (VM이 이 브리지를 통해 외부 접속)
interfaces: [] # 물리 인터페이스 없이 순수 소프트웨어 브리지
addresses:
- 192.168.100.1/24
parameters:
stp: false # STP 비활성화 (단순 환경에서 지연 감소)
forward-delay: 0 # 포워딩 지연 없음
max-age: 12
# ============================================================
# VLAN 설정 (네트워크 분리)
# eth0 물리 인터페이스에 여러 VLAN 태깅
# ============================================================
vlans:
# VLAN 10: 운영 서비스 네트워크
vlan10:
id: 10
link: eth0 # 부모 물리 인터페이스
addresses:
- 172.16.10.1/24
nameservers:
addresses: [172.16.10.53]
# VLAN 20: 관리 네트워크 (모니터링, 백업 등)
vlan20:
id: 20
link: eth0
addresses:
- 172.16.20.1/24
# ============================================================
# WiFi 설정 (무선 인터페이스, 서버보다 워크스테이션에 주로 사용)
# ============================================================
wifis:
wlan0:
dhcp4: true
access-points:
# WPA2-Personal 네트워크
"MyNetwork":
password: "supersecretpassword"
# WPA2-Enterprise (802.1X, 기업 WiFi)
"CorpNetwork":
auth:
key-management: eap
method: peap
identity: "user@example.com"
password: "enterprisepassword"
ca-certificate: /etc/ssl/certs/corp-ca.pem