> 패키지 및 시스템 관리 > systemd-networkd

systemd-networkd: 네트워크 설정 관리 데몬

systemd-networkd는 systemd 스위트의 일부로, 리눅스 시스템의 네트워크 장치 구성을 관리하는 데몬입니다. `.network` 파일을 통해 이더넷, Wi-Fi, 브리지, VLAN 등 다양한 네트워크 인터페이스의 IP 주소, 라우팅, DNS 설정을 선언적으로 자동화하고 관리합니다. 시스템 부팅 시 네트워크를 초기화하고, 런타임 중 네트워크 변경 사항을 처리합니다.

개요

systemd-networkd는 네트워크 인터페이스를 구성하고 관리하는 systemd의 핵심 구성 요소입니다. 설정 파일 기반으로 작동하며, 복잡한 네트워크 환경을 일관되고 예측 가능한 방식으로 관리할 수 있도록 돕습니다.

주요 특징

  • 선언적 설정: `.network` 파일을 통해 네트워크 구성을 정의
  • 다양한 인터페이스 지원: 이더넷, Wi-Fi, 브리지, 본딩, VLAN 등
  • DHCP 클라이언트/서버 기능 내장
  • 정적 IP 주소 및 라우팅 설정 지원
  • systemd 서비스와의 긴밀한 통합

주요 옵션

systemd-networkd는 주로 systemctl을 통해 서비스로 관리되지만, 직접 실행할 때 사용할 수 있는 몇 가지 옵션이 있습니다.

일반 옵션

생성된 명령어:

명령어를 조합해 보세요.

설명:

`systemd-networkd` 명령어를 실행합니다.

위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.

사용 예시

systemd-networkd는 주로 systemctl 명령어를 통해 서비스로 관리됩니다. 다음은 일반적인 사용 예시입니다.

systemd-networkd 서비스 활성화 및 시작

sudo systemctl enable systemd-networkd.service
sudo systemctl start systemd-networkd.service

시스템 부팅 시 자동으로 시작되도록 활성화하고, 즉시 서비스를 시작합니다.

systemd-networkd 서비스 상태 확인

sudo systemctl status systemd-networkd.service

systemd-networkd 서비스의 현재 상태를 확인합니다.

네트워크 설정 변경 후 재로드

sudo systemctl reload systemd-networkd.service

`.network` 파일 변경 후, 서비스를 재시작하지 않고 설정을 다시 로드합니다.

networkctl을 이용한 네트워크 상태 확인

networkctl status

networkctl은 systemd-networkd가 관리하는 네트워크 인터페이스의 상태를 보여주는 유틸리티입니다.

설정 파일 유효성 검사

sudo systemd-networkd --test

새로운 `.network` 파일을 적용하기 전에 문법 오류 등을 확인합니다.

팁 & 주의사항

systemd-networkd를 효과적으로 사용하기 위한 팁과 주의할 점입니다.

설정 파일 경로

systemd-networkd는 다음 경로에서 `.network` 파일을 읽어들입니다. 숫자가 낮은 디렉토리의 파일이 우선순위가 높습니다.

  • /etc/systemd/network/: 사용자 정의 설정 (가장 높은 우선순위)
  • /run/systemd/network/: 런타임 생성 설정 (예: DHCP 클라이언트)
  • /usr/lib/systemd/network/: 배포판 기본 설정 (가장 낮은 우선순위)

다른 네트워크 관리자와의 충돌

NetworkManager나 netplan과 같은 다른 네트워크 관리자와 함께 systemd-networkd를 활성화하면 충돌이 발생할 수 있습니다. 일반적으로 시스템에는 하나의 네트워크 관리자만 활성화하는 것이 좋습니다.

  • NetworkManager와 동시 사용 금지
  • 필요한 경우 다른 네트워크 관리자 비활성화 (예: `sudo systemctl disable NetworkManager.service`)

디버깅 및 로그 확인

문제가 발생했을 때 `journalctl`을 사용하여 systemd-networkd의 로그를 확인하는 것이 중요합니다.

  • `journalctl -u systemd-networkd.service`로 서비스 로그 확인
  • `journalctl -u systemd-networkd.service -f`로 실시간 로그 확인
  • 상세 로그를 위해 `--debug` 옵션을 사용하거나 `/etc/systemd/systemd-networkd.conf`에서 `LogLevel=debug` 설정


동일 카테고리 명령어