ubuntu netplan 으로 고정 ip 설정하기(static ip config)
Ubuntu 18 LTS 부터는 Netplan 이 적용되어 설정 방식이 변경됨.
netplan 은 yaml 형식을 사용하므로 줄 맞춤이 중요합니다.
설정
시스템의 network interface 목록을 확인합니다. 여기에서 wlp5s0 를 고정 IP 로 설정해야 한다고 가정해 보겠습니다.
$ ls /sys/class/net enp0s31f6 wlp5s0 lo
또는 ip 명령을 사용해도 됩니다.
$ ip link : lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: enp0s31f6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 4c:ed:fb:72:a1:36 brd ff:ff:ff:ff:ff:ff 3: wlp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000 link/ether 80:c5:f2:60:8f:51 brd ff:ff:ff:ff:ff:ff
netplan 의 설정 파일은 /etc/netplan 폴더에 위치하고 있으며 다음 3가지 설정 파일이 있습니다. 혹시 /etc/netplan 폴더가 없다면 다음 명령으로 생성합니다.
$ sudo netplan generate
설정 파일을 편집기로 오픈합니다. Ubuntu 버전에 따라 설정 파일 이름이 다릅니다.
# Ubuntu 20 sudo vi /etc/netplan/01-netcfg.yaml
# Ubuntu 18 sudo vi /etc/netplan/50-cloud-init.yaml
일반적으로 파일을 열면 다음과 같이 DHCP 로 설정되어 있습니다.
network: version: 2 renderer: networkd ethernets: wlp5s0: dhcp4: yes
yaml 의 ethernets 항목에 1번에서 확인한 인터페이스(wlp5s0) 하위에 정적 IP 를 설정하는 설정을 추가합니다.
/etc/netplan/50-cloud-init.yamlnetwork: version: 2 renderer: networkd ethernets: wlp5s0: dhcp4: no addresses: ## 설정할 IP 와 Netmask - 192.168.0.214/24 gateway4: 192.168.0.1 nameservers: addresses: [8.8.8.8,168.126.63.1] # search: [lesstif.com] # optional: true
고정 IP 설정시 dhcp4: no 를 꼭 추가해야 합니다.
- 저장하고 빠져 나옴
설정 반영
sudo netplan apply
설정 반영 확인
$ ip addr $ ip route
network 을 사용하는 명령어(Ex: nslookup)를 사용해서 정상 동작 여부 확인
$ nslookup google.com