Ubuntu 22.04 LTS 환경에서 네트워크 설정 관리 도구로 Netplan이 기본으로 사용됩니다.
Netplan은 복잡한 네트워크 설정을 YAML 기반 구성 파일로 단순화하여, 시스템의 네트워크 인터페이스(유선 LAN, Wi-Fi 등)를 쉽게 설정할 수 있도록 해줍니다.
이 글에서는 초급 IT 엔지니어분들을 위해 Netplan의 개념부터 Ubuntu에서의 역할에 대해서 알아보겠습니다.
Netplan이란 무엇인가?
Netplan은 선언형(Declarative) 네트워크 설정 도구입니다.
사용자가 작성한 YAML 포맷의 설정을 기반으로 시스템 네트워크를 구성하는 “프론트엔드” 역할의 유틸리티라 할 수 있습니다.
즉, 복잡한 네트워크 설정을 하나의 YAML 파일로 작성하면, Netplan이 실제 네트워크 구성에 적용해 줍니다.
그렇다고, Netplan이 네트워크를 직접 관리하는 것은 아닙니다.
Netplan은 YAML로 작성된 설정을 systemd-networkd나 NetworkManager와 같은 백엔드에 전달하여,
실제 네트워크 인터페이스 설정을 진행합니다.
Ubuntu 환경에 따른 Netplan Manager |
• 서버 환경: Ubuntu 서버에서는 전통적으로 systemd-networkd를 통해 네트워크를 관리해 왔고, Netplan은 이 경량 서비스와 연계되어 설정 파일을 자동 생성 후 적용하는 방식입니다. • 데스크톱 환경: Ubuntu 데스크톱에서는 NetworkManager가 기본적으로 GUI로 네트워크를 관리하며, Netplan은 renderer로 NetworkManager를 지정하여 YAML 설정을 변환하는 용도로 활용됩니다. 필요 시 수동으로 Netplan 설정을 작성해 NetworkManager를 제어할 수도 있습니다. |
즉, Netplan = YAML 설정 → (systemd-networkd 혹은 NetworkManager 설정 변환 및 적용)
와 같이 한 가지 통일된 방법으로 두 가지 네트워크 관리 도구를 제어할 수 있어,
Ubuntu 환경에서 서버와 데스크톱 모두 일관된 네트워크 설정 환경을 제공합니다.
Ubuntu에서 Netplan의 역할
Ubuntu 18.04 LTS 이후부터 Netplan은 기본 네트워크 설정 방식으로 채택되었습니다.
예전에는 /etc/network/interfaces 파일을 편집해 ifup/ifdown 스크립트로 네트워크를 설정했으나,
Ubuntu 20.04/22.04 LTS부터는 Netplan 방식으로 중앙집중식 관리가 이루어집니다.
Netplan의 주요 역할
초기 네트워크 설정
Ubuntu 서버 설치나 클라우드 인스턴스 생성 시, 설치 프로그램 또는 cloud-init가 Netplan YAML 파일을 자동으로 생성합니다.
이 파일은 예를 들어 DHCP로 IP를 받는 초기 네트워크 설정을 정의하며, 부팅 시 Netplan이 이를 적용합니다.
클라우드 환경에서는 50-cloud-init.yaml과 같은 파일에 기본 설정이 들어갈 수 있습니다.
부팅 시 적용
시스템 부팅 시, Netplan은 /etc/netplan 디렉토리 내 YAML 파일을 읽어, 백엔드인 systemd-networkd 또는 NetworkManager의 설정 파일을 /run 디렉토리에 생성하고 네트워크를 활성화합니다.
수동 개입 없이 부팅 과정에서 자동으로 네트워크가 구성됩니다.
일관된 관리
서버용과 데스크톱용 설정 도구를 따로 배울 필요 없이, 하나의 YAML 구성 형식으로 Ubuntu의 모든 환경에서 네트워크를 관리할 수 있습니다.
예를 들어, 서버에서는 static IP를 설정하고, 데스크톱에서는 동일 형식으로 NetworkManager에 적용할 수 있습니다.