Server Operation

고정(static) IP 설정하기 on Ubuntu 18.04.1

iKay 2019. 2. 11. 00:15
반응형

얼마전 집에 있는 오래된 랩톱에 리눅스 서버를 올릴 일이 있어, 우분투(18.04.1 LTS)를 올렸다. 그런데 IP address가 바뀔 수 있으니 공유기(iptime)내에서 고정 ip를 갖도록 설정할 필요가 있었다. 고정 IP설정 정도는 어려운 것도 아닌데... 서버 세팅을 매일 하지 않고 가끔 하다 보니 기억이 잘 나지 않아 기록한다.

 

일단 랩톱에 유선 LAN은 연결된 상태이다. 일단 현재 네트워크 상태를 볼까? 네트워크 확인을 하기 위해 다음 명령어를 입력하면 아래와 같이 결과가 나온다. 


$ ip a



2: enp4s0의 inet 192.168.0.7이 랩톱의 현재 유선 LAN IP이다. 이것을 192.168.0.101로 고정할 예정이다. 얼마 전 라즈베리파이 라즈비안의 네트워크 설정을 볼 일이 있었는데 최신 Ubuntu와 방법이 조금 다른 것 같다. 내 기억에 라즈비안은 /etc/network/interfaces 파일을 건드렸던 것 같은데.... 여튼 Ubuntu 18.04.1 에서 고정 IP 설정하는 법을 살펴보자[각주:1]


위에서 언급한대로 Ubuntu가 최신버전(18.04.1)이 되면서 고정 IP를 설정하는 방법이 바뀐 것이 맞다. 일단 현재 네트워크 설정파일이 어디에 어떤 이름으로 있나 보자. 


$ ls /etc/netplan/



50-cloud-init.yaml 이라는 것이 네트워크를 설정하는 파일이다. 음... yaml 파일이라... swagger로 api docs를 만들 때 yaml을 써 본적이 있고, 사용하기 쉬어 다양한 곳에 쓰이기 시작했다고는 들었는데 Ubuntu의 기본 네트워크 설정에도 yaml 파일이 사용되는 것을 보니 신선하게 다가왔다. 여튼 오늘의 목적은 고정 IP를 설정하는 것이었다. 진도를 계속 나가보자. 이 yaml 파일을 cat 해보면 다음과 같다. 


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



enp4s0의 dchp4: true 이니 동적 IP를 받는 것 같다. 이제 고정 IP를 받도록 설정하기 위해 선호하는 에디터로 이 yaml 파일을 열어 아래와 같이 수정하자. 


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

network:
ethernets:
enp4s0:
addresses: [192.168.0.101/24]
gateway4: 192.168.0.1
dhcp4: false
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
version: 2


여담이지만 여기서 addresses 부분에서 [192.168.0.101/24] 라고 표현된 것이 보일 것이다. 이것은 address = 192.168.0.101 과 netmask = 255.255.255.0을 함께 표현 한 것이다. 


이제 위에 설정한 내용을 적용해보자. 


$ sudo netplan apply


나는 putty로 연결한 상태라 바로 연결이 끊어졌다. iptime 관리자로 들어가서 볼까? 들어가서 보면 ip가 192.168.0.101로 할당됐음을 볼 수 있다. 




물론 putty로 192.168.0.101로 접속해도 된다. 다시 접속해서 $ ip a 를 하면, ip가 바꼈음을 볼 수 있다. 



끝. 

  1. 고정 IP를 설정하는 법은 여기를 많이 참고했다. https://www.ostechnix.com/how-to-configure-ip-address-in-ubuntu-18-04-lts/ [본문으로]
반응형