Ubuntu 17.10부터 도입된 Netplan을 사용하면 네트워크 설정을 YAML 파일로 간편하게 구성할 수 있습니다. 이 글에서는 고정 IP 설정과 DHCP 설정 방법, renderer 비교, 실전 예시까지 Ubuntu 24.04 기준으로 상세히 설명합니다.
Ubuntu에서 Netplan으로 고정 IP 및 DHCP 설정하기
목차
1. Netplan이란?
Netplan은 Ubuntu에서 네트워크 설정을 관리하는 도구입니다.
YAML 형식의 설정 파일을 통해 네트워크 인터페이스를 구성하며, Ubuntu 17.10 이후 기본 도구로 채택되었습니다.
2. Netplan 설정 파일 위치와 구조
Netplan 설정 파일은 /etc/netplan/ 디렉토리에 위치합니다.
파일명은 보통 01-netcfg.yaml 또는 50-cloud-init.yaml입니다.
기본 구조는 다음과 같습니다:
network:
version: 2
renderer: systemd-networkd
ethernets:
eth0:
...
- version: Netplan 문법 버전 (항상 2 사용)
- renderer: 설정 적용 대상 (systemd-networkd 또는 NetworkManager)
- ethernets: 유선 네트워크 인터페이스 설정
- addresses: IP 주소 및 서브넷 마스크 지정
- routes: 기본 게이트웨이 지정
- nameservers: DNS 서버 주소 설정
3. 고정 IP 설정 방법
고정 IP 설정은 다음과 같은 방식으로 작성합니다:
network:
version: 2
renderer: systemd-networkd
ethernets:
eth0:
dhcp4: no
addresses:
- 192.168.137.101/24
routes:
- to: default
via: 192.168.137.1
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
4. DHCP 설정 방법
DHCP로 IP를 자동 할당받는 설정은 다음과 같습니다:
network:
version: 2
renderer: systemd-networkd
ethernets:
eth0:
dhcp4: yes
dhcp4: yes만 설정하면 자동으로 IP, 게이트웨이, DNS를 받습니다.
5. Netplan 설정 적용 및 IP 확인
설정 파일을 저장한 후 다음 명령어로 적용합니다:
sudo netplan apply # 변경 사항 적용
sudo systemctl restart systemd-networkd # 네트워크 서비스 재시작 (옵션)
ip a # IP 주소 확인
6. systemd-networkd vs NetworkManager
renderer 값 | 사용 환경 | 특징 |
NetworkManager | 데스크톱 환경 (GUI) | Wi-Fi 및 VPN 설정이 편리 |
systemd-networkd | 서버/클라우드 환경 | 경량, CLI 친화적, 안정성 우수 |
- 서버에서는 systemd-networkd, 데스크톱에서는 NetworkManager를 권장합니다.
7. Netplan 다중 인터페이스 설정 예시
두 개의 인터페이스를 동시에 설정한 예시입니다:
network:
version: 2
renderer: networkd
ethernets:
enp0s3:
dhcp4: true
nameservers:
addresses: [8.8.8.8]
routes:
- to: default
via: 10.0.2.2
metric: 50
enp0s8:
dhcp4: false
addresses:
- 192.168.56.101/24
routes:
- to: 192.168.56.0/24
metric: 200
◆ network
- version: 2 : Netplan에서 사용하는 YAML 문법의 버전입니다.
- renderer: networkd : 네트워크 설정을 적용할 때 systemd-networkd를 사용하겠다는 의미입니다.
- ethernets : 이 설정에서는 두 개의 유선 이더넷 인터페이스(enp0s3 및 enp0s8)를 정의하고 있습니다.
◆ enp0s3(DHCP 사용)
- enp0s3 인터페이스는 DHCP (Dynamic Host Configuration Protocol) 를 사용하여 자동으로 IP 주소를 할당받습니다.
- DHCP를 사용하지만, 수동으로 특정 DNS를 지정할 수 있습니다.(8.8.8.8: Google의 공용 DNS 서버)
- enp0s3 인터페이스는 기본 게이트웨이(인터넷 라우팅)로 10.0.2.2를 사용합니다.
to: default → 기본 게이트웨이(인터넷으로 나가는 경로)를 설정
via: 10.0.2.2 → 기본 게이트웨이 주소가 10.0.2.2
metric: 50 → 라우팅 우선순위를 50으로 설정
◆ enp0s8(고정 IP 설정)
- enp0s8는 고정 IP (192.168.56.101/24)를 사용하며, 특정 네트워크 (192.168.56.0/24)로 가는 라우트를 설정합니다.
- IP 주소 192.168.56.101을 할당하고, 서브넷 마스크 /24(255.255.255.0)를 적용합니다.
- 기본 게이트웨이가 설정되지 않음, 즉 이 인터페이스는 인터넷 연결을 위한 경로로 사용되지 않습니다.
to: 192.168.56.0/24 → 192.168.56.0/24 네트워크로 가는 경로를 설정.
metric: 200 → 라우팅 우선순위를 200으로 설정 (우선순위가 낮음)
Ubuntu에서 Netplan을 활용하면 고정 IP 설정과 DHCP 구성이 간편해집니다.
서버 환경에서는 systemd-networkd, 데스크톱 환경에서는 NetworkManager를 적절히 선택해야 합니다.
여러 인터페이스를 동시에 설정할 수 있어, 실습이나 가상머신 환경에서도 유용하게 활용됩니다.
관련 글 링크
2025.03.29 - [1.시스템&인프라/Ubuntu] - 10. 네트워크 관리 명령어 정리: iproute2
'1.시스템&인프라 > Ubuntu' 카테고리의 다른 글
13. SSH 공개키 인증 설정하기: 비밀번호 로그인 차단 (0) | 2025.03.30 |
---|---|
12. Ubuntu에서 SSH 서버 설치 및 보안 설정 (0) | 2025.03.30 |
10. 네트워크 관리 명령어 정리: iproute2 (0) | 2025.03.29 |
9. su vs sudo 비교 (0) | 2025.03.29 |
8. 리눅스 계정 관리 명령어 정리 : 생성, 삭제, 잠금, 그룹 (0) | 2025.03.29 |