문제 및 현재 상태
1) 라즈베리파이를 hdmi로 연결할 수 있는 별도의 모니터가 없다.
2) 라즈베리파이를 외부인터넷망에 연결하고 싶다.
3) 현재 가지고 있는 것은 노트북과 라즈베리파이, 그리고 노트북과 라즈베리파이를 연결할 랜선.
4) 현재 노트북은 와이파이를 통하여 외부 인터넷망과 연결된 상태
5) 노트북에는 putty가 설치되어있음
해결 방법
매번 라즈베리파이를 가지고 작업을 하는 경우, 모니터에 연결을 시켜서 작업을 하는 것은 번거로운 일이다. 이러한 경우, 단순히 노트북과 라즈베리파이를 랜선으로 연결하여 작업을 한다면, 별도의 모니터가 필요없이 라즈베리파이를 이용할 수 있다. 아래의 사항을 잘 따라한다면, 카페와 같이 별도의 모니터가 없는 상황에서도 노트북만을 이용하여 라즈베리파이를 사용할 수 있을 것이다.
노트북을 이용하여 라즈베리파이를 사용하는 방법은 크게 아래와 같은 단계를 거친다.
1) 노트북과 라즈베리파이를 랜선으로 연결한다.
2) 노트북에서 라즈베리파이에 사설 ip를 할당한다*
3) putty와 같은 프로그램을 사용하여 노트북에서 ssh로 라즈베리파이에 접속을 한다.
이때, 라즈베리파이가 노트북에서 할당한 사설 ip를 사용하면서, 노트북의 와이파이를 통해 외부 인터넷 망에 접속하는 방법에 대해 살펴볼 것이다.
■ 라즈베리파이를 노트북을 경유하여 인터넷망에 접속하는 방법
인터넷 자료들을 조사해본 결과 라즈베리파이를 노트북을 경유하여 인터넷망을 연결하는 방법은 크게 아래와 같았다.
(1) 라즈베리파이를 노트북에 랜선으로 연결 후, 네트워크 설정을 통하여 "인터넷 연결 공유"를 사용하는 방법 [1][2]
(2) 라즈베리파이를 노트북의 모바일 핫스팟에 연결하여 사용하는 방법 [3][4]
여기서 우리는 (1) 방법에 대해서 설명하도록 하겠다.
※ 본질적으로 (1)과 (2)은 모두 노트북과 라즈베리파이가 서로 내부망(사설 ip)로 연결되어있다는 점에서 동일하다. 차이점은 두 기기가 유/무선으로 연결되어있는 상태이다.
※ 두 경우 모두, 별도의 작업을 하지 않았다면 노트북과 라즈베리파이가 연결되는 사설 ip의 네트워크 대역은 192.168.137.x (x:1~254)이다.
※ (2) 방법으로 사용하는 경우, 라즈베리파이가 노트북의 모바일 핫스팟을 잡을 수 있도록, 별도의 작업을 해주어야하며, 라즈베리파이의 사설 유동 ip를 비교적 쉽게 알 수 있다는 장점이 있다.
■ 라즈베리파이를 노트북에 랜선으로 연결하는 경우
1. 노트북의 네트워크 설정을 연다.
: 검색 → 네트워크 상태 → 어댑터 옵션 변경
2. 네트워크 연결에서 와이파이의 속성 중에 인터넷 연결 공유를 선택한 후, 확인을 누른다.
wifi 속성에서 인터넷 연결 공유를 선택하면, 그림 3과 같이 나오게 된다. "예(Y)"를 누르게 되면, 랜선으로 연결되는 노트북의 이더넷 카드는 사설 고정 ip인 192.168.137.1*이 되며, 이 네트워크 이더넷과 연결된 라즈베리파이는 192.168.137.2 ~ 192.168.137.254 중 하나의 ip로 설정이 된다.
• 노트북의 외부망 ip: xxx.xxx.xxx.xxx
• 노트북의 내부망 ip: 192.168.137.1
• 라즈베리파이의 내부망 ip: 192.168.137.2 ~ 192.168.137.254
• 노트북과 라즈베리파이의 내부망 네트워크: 192.168.137.0
* 해당 네트워크 대역 및 고정 ip를 바꾸려면, 인터넷 공유 네트워크 대역에 관한 레지스트리를 변경하면 된다 [5].
※ 나의 경우, 몇몇 출저들[6][7]과 다르게, 네트워크 연결에서 이더넷의 속성 중 "인터넷 프로토콜 버전 4 (TCP/IPv4)"에서 고정 ip를 설정하지 않고도 정상적으로 작동하였다. 내 생각에는 그림 3의 "사용자 LAN 어댑터가 IP 주소 192.168.137.1를 사용할 수 있도록 설정됩니다"를 보면 알 수 있듯이, 이더넷 랜카드에 이미 고정 ip인 192.168.137.1이 할당되었다고 볼 수 있다. 따라서, 다시 이더넷 속성에서 고정 ip를 설정할 필요가 없다.
3. 라즈베리파이를 켠 후, 랜선으로 라즈베리파이와 노트북과 연결한다.
4. 라즈베리파이가 정상적으로 내부망 네트워크 대역에서 ip를 받았는지 확인한다.
라즈베리파이의 화면을 볼 수 없는 상태에서 노트북에서 라즈베리파이의 ip를 확인할 수 있는 방법은 크게 3가지이다 [8].
•방법-1) 공유기의 라우터(공유기)에 접속하여 연결된 장치들의 IP 주소를 확인
•방법-2) nMap 툴을 사용하여 네트워크의 다른 장치들을 스캔
•방법-3) arp -a 명령어로 확인하기
여기서는 가장 간단한 방법인 방법-3을 활용할 것이다.
만일 라즈베리파이가 정상적으로 노트북과 랜선으로 연결되어있고 노트북으로부터 유동 ip를 할당받았다면, 노트북의 cmd에서 아래와 같이 arp -a를 입력하면 아래와 같은 상태를 볼 수 있을 것이다.
※ 위의 그림 4에서 192.168.137.120, 192.168.137.195, 192.168.137.207, 192.168.137.245 가 나오는 것은 4개의 다른 라즈베리파이로 위 과정을 반복하면서 확인한 결과이다. 따라서 라즈베리파이를 하나면 연결한 상태라면, 192.168.137.x (x: 2~254) 하나만 나오면 된다.
※ 만일 arp -a에서 라즈베리파이의 사설 유동 ip를 확인할 수 없다면, 라즈베리파이가 정상적으로 노트북으로부터 유동 ip를 할당받지 못한 상태이다. 이런 경우, 라즈베리파이를 모니터로 연결하여 ifconfig 명령어로 ip를 확인하면 ip가 169.254.x.x임을 확인할 수 있다. 이런 경우, 재부팅을 하고, 재부팅을 하여도 상태가 동일하다면, 라즈베리파이의 /etc/network/interfaces에서 ip를 192.168.137.2로 고정시키자.
5. 4에서 확인한 라즈베리파이의 ip로 putty를 이용하여 접속한다.
6. 라즈베리파이의 /etc/network/interfaces를 아래와 같이 설정하여, 라즈베리파이의 고정 ip를 192.168.137.2로 설정한다.
# sudo vim /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.137.2
network 192.168.137.0
netmask 255.255.255.0
gateway 192.168.137.1
7. 라즈베리파이를 재부팅한다.
8. 라즈베리파이의 고정 ip로 다시 putty를 통해 ssh로 접속한다.
만일 정상적으로 접속이 된다면, 라즈베리파이의 터미널에서 명령어로 ping 8.8.8.8를 입력하여 라즈베리파이가 외부망과 연결되어있는지 확인한다.
만일 위처럼 정상적으로 작동을 하였다면, 라즈베리파이와 노트북이 내부망으로 연결이 되어있고, 라즈베리파이가 정상적으로 인터넷을 연결할 수 있다! :)
Reference:
[1] rls1004.tistory.com/48
[2] acertainlog.wordpress.com/2015/05/15/pc-rpi-direct-connection/
[3] fourdeveloper.tistory.com/1
[4] developer-mistive.tistory.com/2
[5] zetawiki.com/wiki/윈도우_인터넷_공유_IP_대역_변경
[6] feelsoverygood.tistory.com/19
[7] m.blog.naver.com/PostView.nhn?blogId=iluiou&logNo=220082471866&proxyReferer=https:%2F%2Fwww.google.com%2F
[8] acertainlog.wordpress.com/2015/05/16/라즈베리-파이의-ip-주소-확인하기/
'컴퓨터 & IT (Computer & IT) > Raspberry pi 3' 카테고리의 다른 글
[라즈베리파이 프로젝트] Open CV를 이용한 아날로그 게이지 읽는 법 (3) | 2024.09.14 |
---|---|
[Rasberry pi] 라즈베리 파이를 이용한 서버실 온도 체크 (0) | 2021.07.28 |
댓글