티스토리 뷰

안녕하세요! 

 

요즘 라즈베리 파이를 이용해서 졸업작품이나 혹은 개인 프로젝트를 하시는 분들이 많을거라고 생각합니다!

 

저 또한 라즈베리파이를 매우 많이 사용하고 있구요! 

 

그래서 오늘은 집에서 라즈베리파이를 편하게 쓰기위한 방법을 알려드리고자 합니다 !!

 

어쨌든 이 과정을 하기 위해서도 당연히 라즈베리파이를 모니터와 키보드 마우스를 처음에는 연결 하셔야 합니다!

 

우선 micro sd카드에 raspbian 운영체제 이미지를 넣은 상태라고 가정하고 시작하겠습니다!!

 

라즈베리파이에 모니터와 마우스 키보드를 연결합니다! 

 

그리고 집에서 사용하시는 와이파이를 라즈베리파이와 연결해야하는데요! 

 

연결하시고 초기 셋업을 완료 한 뒤에 이러한 상태일 것입니다 !

 

 

여기서 왼쪽 상단에 터미널 버튼을 눌러주세요! 

 

 

그 뒤에 터미널창에 다음과 같이 입력해주세요

 

 

sudo raspi-config

 

이렇게 하시면 다음과 같은 화면이 나올거에요!

 

 

여기서 5번째 Localisation Options를 들어가주세요!

 

 

4번째 WLAN Country 를 들어가주세요.

 

 

밑으로 내리시다 보면 Britain(UK)가 있을거에요! 이걸 선택해주세요!

 

와이파이 국가 설정은 국가별 와이파이 주파수 허용 대역에 관련된 내용인데, 그냥 UK로 사용합시다

 

OK누르시고, Finish 누르면 설정 완료입니다!

 

이제 우리는 집에있는 공유기와 연결 가능한 상태가 되었습니다.

 

 

여러 와이파이중 자신의 집에서 사용하는 와이파이를 선택해주세요!

 

연결 이후에 저희는 공유기에서 포트포워딩이라는걸 해서 원격 접속이 가능하도록 만들 예정입니다!

 

와이파이 연결 이후 다시 터미널을 열어주시고 다음과 같이 입력해주세요

 

ifconfig

 

윈도우 PC에서 아이피를 확인하는 명령어와 비슷하죠?

 

 

저는 wlan0 (무선랜카드)에 192.168.219.123 가 할당되었습니다.

 

아마 IP는 여러분들의 집 공유기 환경에 따라서 IP가 다르겠지만 보통 192.168.까지는 동일할겁니다.

 

여기서 우리가 확인 가능한 점은. 192.168.219.123 이라는 ip를 라즈베리파이가 할당 받았다.

 

추가적으로 우리가 집에서 쓰는 공유기의 자체 ip는 아마 192.168.219.1 일 것이다.

 

그래서 저희는 집에서 쓰는 공유기 또한 들어가보도록 하겠습니다.

 

웹브라우저를 들어가셔서 192.168.219.1 과 같이 입력해주세요!

 

여러분들이 할당받은 IP의 마지막 자리를 1로 바꿔서 입력한다고 생각하시면 됩니다.

 

예) 라즈베리파이 192.168.0.145 -> 공유기 IP 192.168.0.1

 

 

다음과 같은 본인의 공유기의 로그인 창이 뜰겁니다. 이 화면 또한 공유기별로 다르니 잘 확인하세요!

 

패스워드 입력하라는대로 입력해봅시다.

 

 

이러한 화면이 뜰겁니다! 

 

IP주소라고 하고

1.241.73.34

 

이렇게 나와있는것은 공유기가 실제 인터넷과 통신할때 사용하는 IP주소입니다.

 

그럼 우리가 라즈베리파이에 할당받은 IP는 무엇이에요?

 

192.168.xx.xx와 같은 IP를 보통 사설망, priavate network라고 이야기합니다. 이게 무슨의미냐면

 

ip주소 자원은 매우 한정적입니다. 따라서 모든 노트북, 핸드폰, 라즈베리파이에 공인 IP (인터넷 세계에서 사용하는 주소)를 부여 할 수가 없습니다.

 

따라서 이렇게 router(공유기)만 공인 ip를 할당받고, 내부 디바이스들은 사설망으로 할당 받게 됩니다.

 

따라서 우리가 아무리 외부에서 내 라즈베리 파이 사설망 ip주소로 접근하려해도, 그 정보를 밖에선 알 수가 없습니다.

 

이 때 필요한것이 바로 포트 포워딩입니다!

 

예를들어 원격 쉘 접속(ssh /putty)의 경우는 TCP 포트를 22번을 사용하는 서비스입니다. 

 

따라서 제가 만약 공유기 내부 망 안에서 라즈베리파이 ip인 192.168.219.123에 22번 서비스로 요청하면 ssh를 사용하게 되는것이지요.

 

만약 집 밖에서도 저 공유기의 ip인 (공인 ip)인 1.241.73.34를 통해 라즈베리파이를 접근하고 싶다면 이런식으로 해야합니다.

 

1.241.73.34 라는 ip주소로 22번 포트 서비스 요청을하면, 192.168.219.123 이라는 내부 ip의 22번 서비스와 연결해줘!

 

이렇게 요구하는것이 바로 포트포워딩입니다.

 

바로 해보겠습니다.

 

 

이 메뉴 또한 공유기별로 다르겠지만 보통 고급설정에 있는 것 같습니다.

 

저희가 이야기한대로 서비스를 사용하려면

 

서비스 포트를 22 ~ 22로 정의하고

프로토콜을 TCP

 

내부 IP주소를 192.168.219.123 , 포트를 22번을 정의하고 추가하면

 

내 공유기 ip로 22번 요청을하면, 내부의 192.168.219.123 ip의 22번포트와 연결해줘!

 

라고 정의하게 되는겁니다!

 

이렇게하면 집 밖에서도 집에 설치된 라즈베리파이를 원격 쉘 접속을 할 수 있는 것입니다!

 

포트포워딩은 간단하게 여기까지 설명하고 추후 다시 포스팅 하도록 하겠습니다.

 

저희의 궁극적인 목표는 집 안에서 라즈베리파이와 모니터, 마우스, 키보드를 연결하는 것이 아닌

 

ssh나(리눅스,macos) 푸티(윈도우)를 이용해 라즈베리파이를 접속하고 

 

vncviewer 라는걸 이용해서 심지어 라즈베리파이의 화면까지 원격으로 보는것을 초점으로 잡겠습니다!

 

다시 터미널로 들어가서

 

sudo raspi-config

 

를 입력해주세요!

 

 

Interface Options를 들어가주세요

 

 

여기서 SSH와 VNC를 enable 하면 됩니다!

 

 

ssh와 VNC 모두 Yes로 해주세요,

 

그러고 finish를 하면 라즈베리파이를 재부팅하겠냐고 묻는데 바로 재부팅 해버립시다.

 

이제 여러분은 라즈베리파이 ip에 대해서 원격 접속을 할 수 있게 되었습니다.

 

여기서 한가지 문제점이 발생하는데요.

 

공유기는 와이파이 연결을 요청하는 디바이스를 대상으로 dhcp 서버를 이용해 ip를 지정된 대역대 내에서 랜덤하게 할당해줍니다.

 

즉 라즈베리파이를 꺼놓고 3일뒤에 접속하면 라즈베리 파이 자체의 ip가 바뀔 수 있다는 것이지요.

 

따라서 이를 방지하기 위해서 다음과 같은 작업을 해야 합니다.

 

바로 라즈베리파이의 무선 ip를 고정시켜주어야 하는 것이지요.

 

이 과정이 조금 복잡 할 수 있으니 잘 따라와주시기 바랍니당

 

 

우선 공유기에서 DNS 서버 ip 주소를 확인하고 잘 적어둡시다. 이것이 유용하게 쓰이거든요.

 

자 이제 라즈베리파이 터미널로 들어가서 다음과 같이 입력합니다.

 

sudo nano /etc/dhcpcd.conf

 

자 이제 다음과 같은 창이 보일겁니다..

 

밑으로 내리시다 보면 # Example static IP configuration 이라는 부분이 보일탠데요.

 

다음과 같이 입력해주시면 됩니다.

 

 

interface wlan0

static ip_address=192.168.xx.xx/24   #xx는 여러분이 ifconfig로 확인한 아이피입니다.

static routers=192.168.xx.1

static domain_name_servers=아까본DNS서버주소

 

이렇게 작성하시고

control + x 

y

 

입력하시고 재부팅 해봅시다.

 

이제 여러분의 라즈베리파이는 고정 ip 상태가 되었습니다!

 

이제 원하시는 대로 리눅스,macos, 윈도우 wsl 사용자라면 터미널에서 ssh pi@192.168.xx.xx 를 이용해서 접속이 가능합니다.

집밖에서는 ssh pi@공유기ip 를 이용해 접속이 가능하구요.

 

www.realvnc.com/en/connect/download/viewer/

 

Download VNC Viewer | VNC® Connect

 

www.realvnc.com

 

 

여기를 들어가셔서 VNC Viewer를 설치하시면 심지어 모니터 화면도 볼 수 있습니다..

 

위쪽 ip 넣는 창에 라즈베리파이 ip를 넣으시고, 라즈베리파이 패스워드 (디폴트는 raspberry)를 입력하시면. 

 

라즈베리파이의 X window GUI (모니터 화면)을 볼 수 있습니다.

 

이로써 집에서 라즈베리파이를 본인의 PC나 노트북으로 접속해서 편하게 코딩 할 수 있겠죠?

 

하다가 잘 안되거나 궁금하신점 댓글 달아주세요 :)