죄송합니다. 새로운 방법으로 레이아웃을 했는데, 모바일에서는 보기는 불편하실 수 있습니다.
라즈베리파이 강좌
모니터 없이 시작하기 - 3. 직접 랜선으로 연결하는 방법
안녕하세요. 메카솔루션 알도입니다.
오늘은 라즈베리파이를 모니터 없이 시작하는 방법을 알아보겠습니다.
처음 라즈베리파이를 구입했을 때 집에 모니터와 키보드/마우스가 없어서 시작에 어려움을 겪거나 계속 사용했음에도 새 이미지를 구워서 초기 세팅을 할 때,무엇보다 책상 위에 라즈베리파이를 위한 키보드/마우스가 자리를 차지하고, 원 컴퓨터의 그것과 헷깔리는 등 에로 사항이 다소 발생하게 됩니다.
그래서 모니터 없이 라즈베리파이를 시작하는 방법을 정리해 보았습니다. 먼저 기본 준비는 운영체제 설치하기를 참조하시기 바랍니다.
직접 랜선을 연결하는 방법
라즈베리파이를 직접 컴퓨터의 이더넷 포트에 연결하는 방법입니다. 이 방법을 위해서는 DHCP(Dynamic Host Configureation Protocal, 동적 호스트 구성 프로토콜) 서버 유틸리티가 필요합니다. DHCP란 필요에 따라 동적으로 IP를 부여하는 프로토콜로써, 일반적으로 공유기가 DHCP 서버 역할을 하여, 자신에게 접속하는 장치(클라이언트)들에게 IP주소를 부여해줍니다. 라즈베리파이부터 컴퓨터나 노트북, 핸드폰, 네트워크 프린터 같은 장치들이 클라이언트에 속하게 되는데요. 이 장치들은 항상 클라이언트 역할을 하도록 설정되어 있기 때문에 클라이언트끼리만 연결을 하면 서로 통신을 할 수가 없습니다. 컴퓨터와 라즈베리파이를 이더넷 케이블로 연결을 해도 그렇습니다. 서로 통신을 하려면 둘 중 하나를 클라이언트로 바꿔줘야 하는데요. 이와 비슷한 것이 스마트 폰에서 핫스팟을 터뜨려 주는 것입니다. 핫스팟이란 클라이언트인 스마트 폰을 DHCP 서버로 바꿔줘서 공유기와 같은 역할을 할 수 있게 해주는 기능입니다. 네트워크가 아닌 인터넷 기준에서 이것을 AP(Access Point)라고 하고, 스마트 폰에서 핫스팟을 터뜨려 주는 것을 AP 모드로 전환한다라고 합니다. 원래는 WAP(Wireless Access Point)가 정확한 말인데, 유선에서 굳이 클라이언트를 서버로 바꿔주는 일이 일상에서는 흔하지 않아서 Wireless를 빼고 AP모드라고 합니다. 이는 스마트 폰 뿐 아니라 노트북이든 데스크톱이든 WiFi 기능이 있는 모든 장치에서 사용할 수 있습니다. 가령 여러분들의 컴퓨터에 이더넷 포트와 와이파이가 동시에 있다면, 공유기 대신 인터넷 케이블을 이더넷 포트에 연결하고 와이파이를 AP모드로 바꿔서 공유기 역할을 하게 할 수도 있습니다. 물론 와이파이 안테나가 공유기보다 안좋으니 성능은 더 낮을 수 밖에 없습니다.
이 포스트에서는 여러분들의 컴퓨터를 DHCP 서버로(이더넷 카드를 AP 모드로) 바꿔서 라즈베리파이가 클라이언트로 접속할 수 있게 해주는 작업을 할 것입니다.
SSH Enable
먼저 SSH를 Enable 시켜줍니다. Raspi-config를 통하지 않고 SSH를 Enable 시켜주는 방법은 바로 SD카드에 확장자와 내용 없이 SSH 파일을 만들어주는 것입니다. 방법은 [보기] - [옵션] - [폴더 및 파일 보기 옵션]에서 [알려진 파일 형식의 파일 확장명 숨기기]가 체크된 것을 풀어줍니다.
텍스트 파일을 만든 후, 확장자 없이 SSH로 이름을 바꿔줍니다. SD카드를 안전하게 제거고 라즈베리파이에 꽂아 줍니다.
mDNS 준비
mDNS란 Multicast Domain Name Service의 약자로 DNS(Domain Name Service)와 비슷한 개념입니다. DNS란 우리가 인터넷을 사용할 때 이용하고자 하는 사이트의 IP주소를 사용하는 것은 불편한 점이 많기 때문에 naver.com 같은 도메인 네임이라는 것을 만들어 IP주소에 연결해주는 서비스를 말합니다. mDNS란 로컬 네트워크 즉 집이나 사무실, 혹은 건물에 하나 혹은 다수의 공유기로 구성된 네트워크에서 IP가 아닌 컴퓨터의 이름으로 통신을 할 수 있게 해주는 서비스입니다. DNS는 서비스를 제공하는 서버에서 도메인 네임과 IP를 연결해주는 반면, mDNS는 각 컴퓨터가 자신의 이름과 IP를 네트워크 안에 연결된 모든 컴퓨터에 전송, 즉 다중전송(multicast)을 하기 때문에 mDNS란 이름이 붙었습니다. 원래 네트워크 프린터 같은 네트워크 장비의 사용을 편하게 하기 위해 만든 기능인데, 라즈베리파이 같은 싱글보드 컴퓨터에서 사용해도 편리하다는 점 때문에 점차 알려지기 시작했습니다.
필자의 경우도 모니터 없이 라즈베리파이를 사용하는 방법에 대해 조사를 하다가, "모니터가 없는 라즈베리파이의 IP주소를 어떻게 알아내느냐?"하는 난관에 부딛혀서, "브로드캐스트 주소를 사용하면 되지 않을까?"라는 생각을 했습니다. 브로드캐스트 주소란 아이피 주소에서 255에 해당하는 주소로, xxx.xxx.xxx.255이면 xxx.xxx.xxx.2 ~ xxx.xxx.xxx.254 사이에 있는 모든 컴퓨터에게 브로드캐스트 즉 방송을 할 수 있는 주소입니다. 아무튼 네트워크 초보자인 필자는 "과연 어떻게 브로드캐스트 주소로 메세지를 주고 받을까?" 고심하던 중, 안드로이드씽(Android Things)을 만지면서 안드로이드씽이 mDNS를 사용하기 때문에 이 mDNS에 대해서 알게 되었습니다
이 기술을 초기에 애플과 마이크로소프트 모두 개발하기 시작했는데, 어떤 이유에서인지 마이크로소프트는 실패하고 애플만 성공하게 되었습니다. 그래서 애플과 라즈비안을 포함한 리눅스 운영체제들은 이 기능을 기본으로 탑재하고 있습니다. 즉 라즈베리파이는 이미 자신의 이름을 연결된 네트워크에 브로드캐스트하고 있기 때문에 윈도우에서 이걸 받기만 하면 됩니다.
mDNS를 받기 위해서는 간단하게 애플의 프린터 드라이버를 설치하면 됩니다. 구글에서 bonjour printer를 검색하거나 여기에 가서 받거나 아래 링크를 클릭해서 바로 다운받아서 설치하시면 됩니다.
설치 없이 압축을 풀면 바로 실행할 수 있는 프로그램입니다. 압축을 푼 다음 아래와 같이 dhcpsrv.exe를 실행시킵니다. dhcpwiz는 고급 옵션을 선택할 때 사용됩니다.
별 다른 설정 없이 프로그램만 실행하면 이더넷 카드가 AP모드로 변환됩니다. 혹시 문제가 있다면 프로그램 우측 하단에 Admin...을 클릭하거나 최초 실행시 우클릭하여서 관리자 모드로 실행하면 됩니다.
이더넷 포트로 컴퓨터와 라즈베리파이 연결하기
아래 사진과 같이 이더넷 포트로 컴퓨터와 라즈베리파이를 연결해 줍니다.
사진에는 없지만 전원을 연결해주는 것도 잊지 마세요.
SSH 접속하기
Putty를 켜고 아래와 같이 Host Name에 rapsberrypi.local을 입력합니다.
이 raspberrypi 는 라즈베리파이의 이름을 바꾸면 바뀌는 것이기 때문에 바꾸기 전까지만 해당됩니다. 하지만 어떤 이름을 지어줬다고 해도 뒤에 .local은 꼭 붙여줘야 합니다. 같은 방식으로 이름만 알고 있다면 FTP든 VNC든 위와 같은 방법으로 접속할 수 있습니다.
VNC 접속하기
VNC(Virtual Network Computing, 가상 네티워크 컴퓨팅)는 윈도우의 원격 데스크톱 연결과 비슷하나, 원격 데스크톱 연결(RDP, Remote Desktop Protocol)은 마이크로소프트사가 개발한 프로토콜이고, VNC는 오픈소스 프로토콜입니다.
모니터는 없지만, 때때로 화면을 이용할 필요는 있으므로 VNC를 이용해보겠습니다. 먼저 라즈베리파이의 sudo raspi-config로 가서 아래의 순서대로 VNC를 활성화시킵니다.
라즈베리파이의 VNC를 활성화시켰다면 VNC 프로그램을 다운 받습니다. 저는 가장 많이 사용하는 RealVNC를 추천합니다. 여기에 가서 다운 받거나 아래 링크를 통해 바로 다운받아서 설치합니다.
VNC Viewer를 실행하고 아래와 같이 [File] - [New connection...] 을 실행합니다.
VNC Server에 라즈베리파이의 이름을 넣습니다.
아래와 같이 커넥션이 생성되었습니다. 생성된 커넥션을 더블 클릭합니다.
접속 중입니다.
아이디와 비밀번호를 입력합니다. 초기 세팅이므로 기본값인 이름 pi와 비밀번호 raspberry를 입력합니다.
VNC 접속에 성공하였습니다.
마무리
라즈베리파이를 이용하고자 하는데, 모니터/키보드/마우스가 없거나, 이동이 잦거나, 라즈베리파이를 여러대 사용하는 등 기타 모니터/키보드/마우스를 통한 초기 세팅이 제한되거나 불편한 분들을 위하여 이번 포스트를 준비하였습니다.
지금까지 시리얼 통신과 공유기 그리고 직접 이더넷 연결을 통해 라즈베리파이를 시작하는 방법을 알아보았습니다. 가장 쉽고 깔끔한 방법처럼 보이나 이더넷 포트를 이미 사용하고 있는 경우나 이더넷 포트가 없는 고급 노트북의 경우에는 적용하기가 어렵습니다. 저 같은 경우 사용 중인 데스크탑의 랜카드를 이미 인터넷용으로 쓰고 있어서 이 방법은 적용이 어렵습니다. 그래고 회사에서 다 함께 쓰는 공유기에 접근하기도 어려워서 인터넷과 네트워크 공부 좀 할 겸 안쓰는 공유기를 가져와서 인터넷 선을 공유기에 연결하고, 다시 공유기에서 제 데스크탑과 라즈베리파이 등을 연결해서 사용하고 있습니다.