공든탑앱 열기

네트워크 설정 파일과 nmcli

리눅스마스터 2급 · 인터넷 활용 · 약 9분

쉽게 말하면

IP 주소 같은 네트워크 설정을 명령으로 바꾸면 컴퓨터를 다시 켤 때 사라져요. 계속 유지하려면 설정 파일에 적어야 하는데, 배포판마다 적는 파일과 도구가 달라요.

시험용 정의

리눅스의 영구 네트워크 설정은 배포판마다 저장 위치가 다르다. 요즘 RHEL 계열은 NetworkManager(nmcli·nmtui)로 관리하고, Debian은 /etc/network/interfaces, Ubuntu는 netplan(/etc/netplan/*.yaml)을 쓴다.

비유로 이해하기

ip 명령은 칠판에 분필로 쓰는 것(전원 끄면 지워짐), 설정 파일은 공책에 적어 두는 것(다음 날에도 남음)이다.

자세히

배포판별 설정 위치

배포판·도구위치·명령
RHEL·CentOS·Rocky (NetworkManager)nmcli, nmtui, 설정은 /etc/NetworkManager/system-connections/
RHEL 7 이전 방식인터페이스별 설정 디렉터리 /etc/sysconfig/network-scripts/(ifcfg-eth0 등), 시스템 전반 설정 /etc/sysconfig/network(호스트 이름·게이트웨이 등)
Debian/etc/network/interfaces
Ubuntu 18.04 이후/etc/netplan/*.yaml 후 netplan apply

ifcfg-eth0 주요 항목 (예전 RHEL, 시험에 자주 나옴)

항목뜻
DEVICE=eth0장치 이름
BOOTPROTO=static|dhcp|none주소 할당 방식
ONBOOT=yes부팅 시 활성화
IPADDR=192.168.0.10IP 주소
NETMASK=255.255.255.0 / PREFIX=24넷마스크
GATEWAY=192.168.0.1기본 게이트웨이
DNS1=8.8.8.8DNS 서버

nmcli 자주 쓰는 형태

  • nmcli device status · nmcli connection show 장치·연결 목록
  • nmcli con mod eth0 ipv4.addresses 192.168.0.10/24 ipv4.gateway 192.168.0.1 ipv4.dns 8.8.8.8 ipv4.method manual
  • nmcli con up eth0 · nmcli con down eth0 적용·끄기

켜고 끄기, 이름 바꾸기

CentOS 7 이후 이더넷 장치 이름은 예전 eth0 대신 enp0s3처럼 버스 위치를 담은 이름을 쓴다. ifup eth0·ifdown eth0(설정 파일 기준으로 켜고 끔), systemctl restart NetworkManager, 호스트 이름은 hostnamectl set-hostname server01(/etc/hostname에 저장).

시험에 이렇게 나와요

확인 문제

Q1. ip addr add로 서버 IP를 바꿨는데 재부팅하니 원래대로 돌아갔다. 왜일까?

  1. ip·ifconfig로 바꾼 값은 메모리에만 적용되고, 영구 설정은 설정 파일이나 NetworkManager에 저장해야 한다
  2. root가 아니라서 저장되지 않았다
  3. 재부팅하면 DHCP가 항상 우선한다
  4. ip 명령이 고장 났다
정답 보기

1번 ip·ifconfig로 바꾼 값은 메모리에만 적용되고, 영구 설정은 설정 파일이나 NetworkManager에 저장해야 한다

ip·ifconfig·route는 지금 동작 중인 커널의 설정만 바꾼다. 재부팅 뒤에도 남기려면 nmcli(NetworkManager)나 배포판의 설정 파일에 저장해야 한다.

Q2. CentOS 7에서 이더넷 인터페이스 설정 파일(ifcfg-*)이 있는 디렉터리는?

  1. /etc/network
  2. /etc/interfaces.d
  3. /etc/sysconfig/network-scripts
  4. /etc/netplan
정답 보기

3번 /etc/sysconfig/network-scripts

/etc/sysconfig/network-scripts다. ifcfg-eth0 같은 파일이 있다. /etc/netplan은 우분투, /etc/network/interfaces는 데비안 방식이다.

Q3. NetworkManager를 명령행에서 제어하는 도구는?

  1. ifcfg
  2. netplan
  3. netconf
  4. nmcli
정답 보기

4번 nmcli

nmcli(텍스트 메뉴는 nmtui).

Q4. RHEL 계열 ifcfg 파일에서 부팅 시 인터페이스를 켜도록 하는 항목은?

  1. STARTMODE=on
  2. AUTO=eth0
  3. ONBOOT=yes
  4. BOOTPROTO=yes
정답 보기

3번 ONBOOT=yes

ONBOOT=yes. BOOTPROTO는 static/dhcp 같은 할당 방식.

Q5. 호스트 이름을 영구적으로 바꾸는 systemd 명령은?

  1. hostnamectl set-hostname
  2. hostname -p
  3. nmcli hostname-set
  4. sysctl hostname
정답 보기

1번 hostnamectl set-hostname

hostnamectl set-hostname 이름. hostname 명령만 쓰면 재부팅 시 원래대로.

헷갈리기 쉬운 O·X

ifconfig로 설정한 IP는 재부팅 후에도 유지된다.

정답 보기

X 런타임에만 적용된다.

Ubuntu의 netplan 설정 파일은 YAML 형식이다.

정답 보기

O /etc/netplan/*.yaml 수정 후 netplan apply.

BOOTPROTO=dhcp이면 IPADDR에 적은 주소가 우선 사용된다.

정답 보기

X dhcp면 DHCP 서버에서 받는다. 고정 주소는 static(또는 none).

함께 보면 좋은 개념