카테고리 없음

Ubuntu Linux Static IP (우분투 고정 아이피) 설정 (with netplan)

zewoong 2026. 1. 11. 11:16

Ubunut 리눅스에서 아이피 고정하는법

Ubunut 리눅스에서 IP를 고정하는 여러 방법중에서 /etc/netplan/*.yaml 설정 파일을 설정하여 고정 IP를 사용하는 방법을 작성.

 

1. IP 고정전 필수 사전 작업

IP를 고정하기전에 1.네트워크 도구, 2. 네트워크 인터페이스를 확인한다.

1.1. 사용중인 네트워크 관리 도구를 확인

일반적으로 우분투 네트워크 관리도구는 networkd 또는 NetworkManager.

 

# active인 도구를 찾아야한다. 고정하기 위해서 네트워크 도구를 적어줘야하기 때문에

$ systemctl is-active NetworkManager
active

$ systemctl is-active systemd-networkd
inactive

 

1.2. 네트워크 인터페이스 확인

IP 고정에 사용할 네트워크 인터페이스를 확인하고 인터페이스의 이름을 확인. (예시 코드에서는 "enp1s0")

# lo는 자기 자신에 대한 loop 주소로 고정 IP 설정에 필요하지 않다.
# 고정 IP에 사용될 "enp1s0"를 확인하고 기억한다.

$ ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo

... 중략...

2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 72:3b:f6:28:nn:4c brd ff:ff:ff:ff:ff:ff
    inet x.x.x.x/x brd x.x.0.255 scope global dynamic noprefixroute enp1s0
       valid_lft 4793sec preferred_lft 4793sec

 

2. IP 고정을 위한 설정파일 (.yaml) 작성

네트워크 관리 도구를 확인했으면 고정 IP를 위한 "/etc/netplan/" 경로에  <원하는 파일명>.yaml을 작성한다.

 

$ sudo vi /etc/netplan/01-static-ip.yaml

network:
  version: 2
  renderer: NetworkManager 	# active 상태인 네트워크 도구(networkd or NetworkManager)
  ethernet:
    enp1s0:			# 자신이 사용할 네트워크 카드
      addresses:
      - "0.0.0.0/0" 		# 고정할 IP
      nameservers:
        addresses:
        - 168.126.63.1
        - 168.126.63.2
      dhcp4: false  		# dhcp 끄기
      routes:
      - metric: 200 		# 우선 순위
        to: "default"	
        via: "0.0.0.1/0"	# 자신 IP의 게이트웨이

 

3. 고정 IP 설정 적용

설정을 임시 적용하여 정상적으로 IP가 고정 되었는지 확인하고, 적용한다.

 

# 정상적으로 적용시 waring이나 error문구 없이 적용할건지 묻는 문구가 나타난다.  
# Enter를 눌러서 영구 적용이 가능하다.

$ sudo netplan try

Do you want to keep these settings?

Press ENTER before the timeout to accept the new configuration

Changes will revert in 120 seconds

 

4. IP 고정 확인

재부팅을 실행하여 재부팅 이후에도 IP가 고정 되었는지 확인한다.

 

# reboot

$ sudo reboot

# reboot 이후

$ ip a

 

 

5. (Optional) IP 고정 실패시

정상적으로 IP를 고정했으나

 

5.1 IP가 2개가 되었을때 

 /etc/netplan/ 경로에 다른 설정 파일이 이미 존재하는지 확인, "dhcp4: true" 라면 파일의 확장자를 .yaml.bak으로 변경.

 

# 50-cloud-init.yaml가 존재한 상황
# cat명령어를 통해 dchp4 옵션이 true임을 확인

$ sudo cat /etc/netplan/50-cloud-init.yaml

network:
  version: 2
  renderer: NetworkManager
  ethernets:
    enp1s0:
      dhcp4: true

 

파일의 확장자를 .bak으로 변경한다.

$ sudo mv /etc/netplan/50-cloud-init.yaml /etc/netplan/50-cloud-init.yaml.bak

 

파일의 확장자가 변경 되었는지 확인한다.

$ ls /etc/netplan/
01-static-ip.yaml 50-cloud-init.yaml.bak

 

netplan을 통해 네트워크 설정을 적용하고 reboot을 진행한뒤 정상적으로 IP가 고정됐는지 확인한다.

 

# reboot 전
$ sudo netplan try
$ sudo reboot

# reboot 이후
$ ip a