Embeded

앵버박사 2014. 4. 30. 13:32

공유기 구조


라즈베리 파이의 전원을 키면 SSH 서버는 기본적으로 실행되게 되어있습니다. 그래서 바로 외부에서 SSH 접속을 할 수 있지요.

우선 서버의 IP를 알아야 합니다. 그러기 위해 콘솔에 ifconfig를 쓰면 두번째 줄 쯤에 inet이라는 부분에 IP주소가 나와있습니다. 이것으로  SSH 접속을 하면 됩니다. 하! 지! 만! 저는 이상하게 집에 다른 컴퓨터로는 접속이 되는데 회사 컴퓨터로는 접속이 안되는 겁니다. ㅜㅁㅜ 열심히 찾아보던 중 알게된 원인은 바로! 공유기가 문제였습니다. 공유기를 사용하게 되면 다음과 같은 구조가 됩니다.





저에게 할당된 IP주소는 하나이고 공유기를 통해서 내부IP 여러개를 생성하여 여러 단말기에서 인터넷을 하게 되는 것입니다.

외부에서는 외부IP로 접근을 해야하고 내부에서는 내부IP로 서로에게 접근할 수 있습니다. 그런데 ifconfig 명령을 통해 나왔던 IP는 라즈베리 파이에 할당된 내부IP 였기 때문에 저의 회사 컴퓨터에서 접근이 안됐던 것이었죠. 그럼 푸티에 외부IP만 입력해주면 되느냐?! 그건 아닙니다. 공유기에서 포트포워딩 설정을 해주어야 SSH의 22번 포트를 열어 접근할 수 있게 됩니다. 자 그럼 공유기 포트포워딩 설정을 해볼까요??



공유기 포트포워딩 설정


제가 사용하는 LG U+ 공유기를 기준으로 말씀드리겠습니다. 먼저 공유기 설정을 위한 IP주소를 알아볼까요~

윈도우의 cmd창을 열고 ipconfig 명령을 실행합니다. 그러면 IP정보가 나오는데 이 중 이더넷 어댑터 로컬 영역 연결 부분의 기본 게이트웨이에 써있는 IP주소가 공유기 설정을 할 수 있는 주소입니다. 이제 브라우저창을 하나 열고 방금 본 IP를 주소창에 입력합니다. 그럼 다음과 같은 화면이 나옵니다.





외부IP주소가 보이네요~ 잘 기억해 두시고, 비밀번호를 입력하고 로그인을 합니다.( 디폴트 비밀번호 admin ) 그리고 왼쪽 메뉴의 고급설정을 클릭합니다.





포트포워딩 탭에서 위 스크린샷을 참고하여 작성하고 추가버튼을 누른 후 적용버튼을 누릅니다.

이제 외부에서 SSH접속이 되는지 테스트해보세요. 스마트폰에 SSH앱을 설치한 뒤 3G나 LTE로 해놓고 테스트 하면 됩니다.



공유기 원격제어 설정


공유기 설정을 외부에서 하려고 해도 공유기 설정 IP주소가 내부IP이기 때문에 불가능하죠.. 그래서 공유기 원격제어 설정을 해야 합니다.

마찬가지로 고급설정 메뉴에서 기타설정 탭으로 이동합니다.





원격제어를 사용으로 변경하고, 사용할 포트를 입력한 후 확인 버튼을 누릅니다.

자 이제 테스트 해봅시다! 외부에서 브라우저 주소창에 http://외부IP주소:포트번호를 입력하면 됩니다.



DHCP 고정할당


라즈베리 파이를 재부팅하면 내부IP주소가 바뀔 가능성이 있기 때문에 DHCP 고정할당을 해주어야 합니다.

왼쪽 기본설정 메뉴를 클릭하고 LAN 설정 탭 밑에있는 DHCP 고정 할당을 선택합니다.





하드웨어 주소에는 라즈베리 파이 콘솔에서 ifconfig 명령어를 실행했을 때 나왔던 첫번째 줄 HWaddr부분의 주소를 입력합니다.

그리고 내부IP주소를 입력하고 추가 버튼과 적용버튼을 차례대로 누르면 설정완료!



자 이제 마음 껏 SSH로 라즈베리 파이에 원격으로 명령을 내려보아요~^^