개요
라즈베리파이를 포함한 리눅스 및 윈도우즈는 우선 DHCP를 이용하여 IP 획득을 시도하고, IP 획득에 실패하면 자신의 IP를 사설 IP 영역인 169.254.0.0/16로 자동 설정합니다.
DHCP는 네트워크에 연결된 장치에 동적으로 IP를 부여해주는 프로토콜입니다. 라즈베리파이의 운영체제인 라즈비언(Raspbian)은 내장하고 있는 dhcpcd
프로그램에서 DHCP 프로토콜로 자신이 사용할 수 있는 IP를 DHCP 서버로 요청합니다.
라즈베리파이는 DHCP 서버에서 발행한 IP를 자신의 IP로 설정합니다. 예를 들어 제 라즈베리파이는 이 절차에 따라 현재 192.168.0.3이라는 내부 IP로 설정되어 있습니다.
라즈베리파이를 24시간 동작하는 홈서버 또는 NAS로 사용하지 않는 경우나 장치의 전원을 껐다 켜는 사이에 네트워크 구성에 변경이 생기면 DHCP 서버가 신규로 발행해주는 IP의 값이 변경될 수 있습니다. 예를 들어, 현재 192.168.0.3을 사용하는 제 라즈베리파이가 192.168.0.5를 사용하게 될 수도 있습니다.
이 경우 내부 IP는 라즈베리파이 IP 확인하기 포스트에서 살펴본 방법으로 찾을 수 있습니다. 하지만 외부에서 라즈베리파이에 원격으로 접속해 사용하는 경우, 이를 위하여 설정해 놓은 포트 포워딩 등이 기존 IP (192.168.0.3)를 기준으로 동작할 것이므로 이를 변경된 IP (192.168.0.5)로 재설정해주어야 할 것입니다.
하지만 DHCP 서버에서 라즈베리파이가 설정하도록 알려주는 IP를 항상 동일하게 고정한다면 매번 IP가 변경된 것을 확인하고 설정을 그에 맞추어 변경할 필요가 없습니다. 때문에 홈 서버 또는 NAS로 사용하는 장치는 내부 IP를 항상 동일한 고정값으로 사용합니다.
유/무선 공유기를 사용하는 일반적인 가정에서 DHCP 서버는 바로 이 유/무선 공유기입니다. 이번 포스트에서는 제가 사용하는 IpTime 공유기를 기준으로 특정 기기(라즈베리파이)에 내부 IP를 고정값으로 발행하도록 설정하는 방법을 확인해보겠습니다.
공유기 내부 IP 고정하기
공유기 설정 페이지에 들어갑니다.
좌측에 메뉴에서 고급설정 > 네트워크 관리 > 내부 네트워크 설정으로 이동합니다.
수동으로 IP 할당 설정 항목의 우측에 검색된 IP/MAC 주소부분에 표시된 현재 접속되어 있는 라즈베리파이의 IP(제 경우는 192.168.0.3)를 선택하고 추가를 누릅니다.
설정된 IP/MAC 주소 항목으로 라즈베리파이가 추가된 것을 확인할 수 있으며, 이후 네트워크의 구성이 변경되거나 라즈베리파이를 재부팅하더라도 192.168.0.3 은 MAC 주소를 기준으로 항상 라즈베리파이에게 부여됩니다.
(참고) 고정 IP 주소 설정하기
만약 라즈베리파이가 DHCP를 이용하여 자동으로 IP를 설정하는 것을 비활성화하고 그 대신 자신이 설정한 특정 IP를 사용하고 싶은 경우 이에 대한 정보를 /etc/dhcpcd.conf
파일에 작성하도록 합니다. 아래의 내용은 192.168.0.4로 라즈베리파이의 IP를 고정하는 예시입니다.
interface eth0
static ip_address=192.168.0.4/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1 8.8.8.8
참고 이전 버전의 라즈비언은 네트워크 인터페이스 설정에
/etc/network/interfaces
파일을 사용하였습니다. 만약 여기에 인터페이스 설정 내용을 작성하면 해당 인터페이스는/etc/dhcpcd.conf
의 내용보다 이 파일에 작성한 내용이 우선 적용됩니다.
참고
'라즈베리파이 > 기초' 카테고리의 다른 글
라즈베리파이 WIFI 비활성하기 (0) | 2020.01.03 |
---|---|
키 기반 SSH 연결 (0) | 2019.12.28 |
SSH세션 종료시 실행중인 프로그램 종료 방지 (Screen) (0) | 2019.11.16 |
라즈베리 파이와 블루투스 장치(스피커) 연결하기 (0) | 2019.06.19 |
라즈베리파이 블루투스 스택(bluez) 업그레이드 (0) | 2019.06.19 |