
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 구성 시
'네트워크 공부 & 실습 > 네트워크 실습' 카테고리의 다른 글
| [Network] RHEL 계열 OS 에서 Ip 주소 수동 셋팅 하기 (3) | 2025.08.04 |
|---|---|
| [Network] TcpDump 명령어로 패킷 캡처 하기 (1) | 2025.07.24 |
| [Network] Kafka 클러스터를 두 대의 PC에 나눠 설치해보기 (0) | 2025.06.27 |
| [Network] Nas 가 죽으면 알림 받기 (5) | 2025.06.26 |
| [Network] static ip 를 셋팅하여 기기간 통신하기. (2) | 2025.06.19 |