네트워크 공부 & 실습/네트워크 실습

[Network] Linux Netplan 설정으로 네트워크 설정하기

강_토발즈 2025. 7. 8. 20:46

 

 

 

1. Netplan 이란? 

 

Ubuntu 17.10 이후부터 기본 네트워크 설정 도구로 채택된 YAML 기반 설정 시스템이다. 이름부터 벌써 Network Plan 의 줄임말로 보인다. 즉 기존의 /etc/network/interfaces 방식 대신, /etc/netplan/*.yaml 파일을 이용해 네트워크 인터페이스 설정을 정의하고, netplan apply 명령으로 적용할 수 있다. 심지어 문법이 틀리거나 잘못된 내용을 적용하려고 하면 잘못되었다고 로그를 반환도 해주는 친절한 plan 이라고 할 수 있다.

 

Linux OS 를 설치할 때 Network 설정 부분을 셋팅하면 이 netplan 폴더안에 있는 *.yaml 파일이 셋팅에 맞게 작성되어 적용되는데, OS 설치 이후에 다른 네트워크 설정을 적용하거나 변경하고 싶다면 이 *.yaml 파일의 내용을 수정하거나 추가하면 된다.

 

 

2 Static IP 설정 방법

2-1. 설정 파일의 위치

/etc/netplan/00-installer-config.yaml

 

2-2. 설정 방법

network:
  version: 2
  ethernets:
    ens33:
      dhcp4: no
      addresses:
        - 192.168.0.100/24
      routes:
        - to: 0.0.0.0/0
          via: 192.168.0.1
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]

 

 

  • dhcp4: no → DHCP 비활성화 ( 고정 IP 를 사용할 것이기 때문에, 자동 IP 할당 기능을 끈다.)
  • addresses → 정적 IP 및 서브넷을 기입해준다.
  • routes → 게이트웨이 설정 (기존 gateway4 대신 routes 를 이용)
    0.0.0.0/0 : 어떤 목적지를 향해서 가던지 192.168.0.1 이라는 곳을 겨쳐서 가라는 뜻
  • nameservers → DNS 설정

 

2-3. 다중 경로 지정하기 

 

특정 대역은 별도의 게이트웨이를 사용하고 싶은 경우(VPN)에는 다음과 같이 설정할 수 있다.

network:
  version: 2
  ethernets:
    ens33:
      dhcp4: no
      addresses:
        - 192.168.0.100/24
	  routes:
        - to: 0.0.0.0/0
          via: 192.168.0.1
        - to: 10.0.0.0/24
          via: 192.168.0.2
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]

 

 

 

  • 0.0.0.0/0: 모든 외부로 가는 트래픽 → 192.168.0.1 를 거쳐서 가라
  • 10.0.0.0/24: 특정 VPN 대역은 → 192.168.0.2 를 거쳐서 가라

 

3. Bonding 설정하기

본딩의 개념은 앞서 살펴봤지만, 간단히 언급하면 두 개 이상의 네트워크 인터페이스를 논리적인 하나의 IP 로 사용하는 기능이다. 이렇게 구성하면 트래픽 분산이나, 고가용성 기능을 구현할 수 있다.

 

network:
  version: 2
  renderer: networkd
  ethernets:
    ens33:
      dhcp4: no
    ens38:
      dhcp4: no

  bonds:
    bond0:
      interfaces: [ens33, ens38]
      addresses: [192.168.0.100/24]
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]
      routes:
        - to: 0.0.0.0/0
          via: 192.168.0.1
      parameters:
        mode: active-backup
        primary: ens33

 

 

  • bonds: → 논리적 인터페이스(bond0) 정의
  • interfaces: → Bonding 을 할 물리 인터페이스 지정한다.
  • mode: → bonding 모드 지정 (ex: balance-rr, 802.3ad, active-backup 등)
  • primary → 주 사용 인터페이스를 지정한다.

 

4. netplan 사용 시 주의사항

 

4-1 들여쓰기

  • 공백 2칸 또는 4칸으로 통일해야 한다. 
  • 탭(tab)을 사용할 수 없다.
  • YAML 문법 오류는 적용 시 에러 발생 -> 터미널에서 잘못 작성한 부분이 리턴된다.

 

4-2.적용 명령

 
sudo netplan apply
변경한 사항을 적용하는 명령어를 입력해야 한다. 제대로 적용되었다면 아무 반환되는 문구 없이 명령 프롬프트로 돌아온다.
이후 ip a 와 같은 명령어로 설정이 제대로 적용되어 있는지 확인한다.
 
 

4-3. 재부팅 후 설정 유지 확인

ip a 
ip route 
cat /proc/net/bonding/bond0 # bonding 구성 시