ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Raspberry Pi] 라즈베리파이 ssh 원격접속 문제 해결
    Server/Raspberry Pi 2022. 7. 12. 22:32
    728x90

    저는 라즈베리파이를 WiFi연결해서 사용하려고 했지만

    유선랜인 데스크탑과 무선랜인 WiFi의 IP주소 대역이 달라

    원격 접속을 할 수 없었습니다.

     

    그래서 라즈베리파이도 유선랜으로 연결하여 같은 IP대역대로 맞춰주니 원격접속이 가능했습니다.

     

    라즈베리파이에 통신, ssh 등 프로그램을 설치해도 원격접속이 안된다면,

    데스크탑과 라즈베리파이의 IP주소 대역대를 확인하세요.

     

    IP주소 대역대가 다르다면, 대역대를 맞춰주거나 포트포워딩을 통해 접속 할 수 있도록 설정해야 합니다.

    IP주소 대역대가 같다면, 분명 IPv4주소를 잘못 확인했거나, 설정(wifi Id, pw)오류, 통신에 필요한 프로그램을 설치하지 않아서 생긴 문제일 수 있습니다.


     

    이번 글은 라즈베리파이에 ssh 원격접속이 안될 때 확인해야 하는 네트워크 구성에 대해 포스팅하겠습니다.

    START!!!

     

    가정용 네트워크 구성에 대해 알아보도록 하겠습니다.

    먼저 사전 지식으로 NAT, 공인IP, 사설IP 에 대해 알아야 합니다.

     

    *NAT (Network Address Translation) 

    사설IP 를 공인IP로 변환해주는 주소 변환 서비스입니다.

    nat 구성
    nat table 구성

     NAT는 IP주소와 Port 번호로 구성된  NAT Forwarding Table을 보관하고 있고 Table에 따라 주소 변환 서비스를 제공합니다.

     

    * 공인IP

    : 인터넷 사용자의 로컬 네트워크를 식별하기 위해 ISP(Internet service provider)가 제공하는 IP주소

      외부에 공개되어 있는 IP주소

     

    * 사설IP

    : 일반 가정이나 회사 내 할당된 네트워크의 IP주소로, 로컬IP, 가상IP 라고 한다. 

       IPv4 주소 부족을 해결하기 위해 서브넷팅된 IP이기 때문에 로컬 네트워크상의 PC나 장치에 할당

     


    <우리집 네트워크 구성>

    네트워크 구성

    저는 SK 브로드밴드 공유기를 사용중이고 네트워크 구성은 상품에 따라 다를 수 있다고 합니다.

     

    저희 집 네트워크는 위 그림과 같이 구성되어 있습니다.

     

    광케이블은 가정마다 1개씩 들어옵니다.

    광케이블은 광모뎀에 연결 -> NAT모드로 공인IP 1개 할당 받고 -> 사설IP 여러개로 변환 -> 각 UTP라인으로 연결된 장치에 사설IP를 할당하여 동작합니다.

     

    SK브로드밴드 네트워크 모뎀의 NAT 설정은 아래와 같이 되어있습니다.

     - 광모뎀 : 192.168.75.1( 관리자 IP), DHCP(192.168.75.2~254)  

     - 공유기 : 192.168.45.1(관리자IP) , DHCP(192.168.45.2~254)

    IP주소의 마지막 자리 수 1, 255 는 예약된 주소입니다.

    (NAT설정은 가정마다 다를 수 있습니다.)

     

    NAS장비(192.168.45.X)와 PC데스크탑(192.168.75.X) 의 IP주소가 다르게 설정되어 있어, 서로 접근이 불가능합니다.

    IP대역대가 다른 두 개의 장치에서 원격접속을 하고 싶다면

        -광모뎀(192.168.75.1) 관리자 > 포트포워딩

        -공유기(192.168.45.1) 관리자 > 포트포워딩

    두 곳에 모두 port forwarding 작업을 해야합니다.


    <참고>

    관리자 모드 IP는 다를 수 있습니다.

    접속하신 PC에서 "ipconfig" 명령어로 IP를 확인합니다.

    ipconfig

    192.168.0.46 이므로 저는 0번대 대역을 사용중입니다.

    --> 관리자 모드는 192.168.0.1 번입니다. 

    ipconfig ip주소 확인


    포트포워딩 작업이외에 다른 방법도 있습니다.

    네트워크 구성을 변경하는 작업입니다.

     

    즉,

    1. IP대역을 맞추기

    2. 포트포워딩

    3. 네트워크 구성 변경

    방법으로 해결하면 됩니다.

     

    (1번 방법) 저는 라즈베리파이도 유선랜으로 연결하여 데스크톱과 같은 IP대역대로 맞춰서 해결했습니다.

    라즈베리파이 ssh원격 접속 안됨 해결


    (3번 방법)

    네트워크 구성을 변경하는 작업은 아래 블로그에서 잘 정리해주셨습니다. 참고하세요~

    https://songs-family.tistory.com/entry/%ED%99%88%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-SK-%EC%9D%B8%ED%84%B0%EB%84%B7-%EC%82%AC%EC%9A%A9%EC%9E%90%EB%A5%BC-%EC%9C%84%ED%95%9C-Home-Network-%EA%B5%AC%EC%84%B1

     

    [홈네트워크] SK 인터넷 사용자를 위한 Home Network 구성

    안녕하세요. 빛나는 불꽃입니다. 오늘은 SK브로드밴드 인터넷과 Btv를 이용하신 분들을 위한 홈네트워크에 대한 개념을 알아보겠습니다. 또한 실질적으로 구성하는 방법과 변경 후 장점에 대해

    songs-family.tistory.com


    2023-03-04 추가

    라즈베리파이를 WIFI 무선랜으로 연결하여 사용하고 싶어서 유선랜 대신 무선랜을 설정하는 방법을 추가하겠습니다.

    (저는 외부IP → 내부IP 인 외부 접속이 아니라 IP대역이 다른 데스크탑과 공유기에 연결된 장치와 연결하기 위한 방법입니다.)

     

    (2번 방법)

     

    먼저 무선랜은 IP를 동적 할당하기 때문에 라즈베리파이IP가 변경될 수 있습니다. 고정 IP로 설정하는 작업이 필요합니다.

     

    라즈베리파이 고정 IP설정

    참고로 저는vi 편집기가 잘안되서 nano편집기로 사용하였습니다.

    a) /etc/dhcpcd.conf에서 고정 ip를 설정합니다.

    sudo nano /etc/dhcpcd.conf

    ctrl + X → Y 하면 저장이 됩니다.

     

    b) 네트워크 서비스를 재시작합니다.

     sudo /etc/init.d/networking restart

     

    네트워크 구조

    이제 포트포워딩을 하기 위해 설정하고자 하는 네트워크 구조를 파악해야합니다.

     

    광 케이블은 가구당 1개 할당됩니다. 즉, IP가 1개 할당된다는 뜻입니다. NAT를 통해 내부에서 나눠서 쓰고 있는 것이지요.

    저는 데스트탑 → 라즈베리파이에 연결하고 싶습니다. 

    그냥 하면 IP대역이 다르니 안됩니다.

     

    그래서 필요한 작업이 "포트포워딩"입니다.

     

    Port Forwarding

    (데스크탑 → 공유기 → 라즈베리파이) 순으로 연결해야합니다.

    1. 데스크탑 → 공유기에 요청

    2. 공유기 → 라즈베리파이로 포트포워딩

    3. 데스크탑 ↔ 라즈베리파이 연결 성공!

     

    공유기의 관리자 페이지에 접속합니다. 

    (a) 공유기 IP 확인

    사이트마다 확인하는 탭이 다르지만 기본 네트워크 정보에 있습니다.

     

    (b) 포트포워드 설정

    NAT > 포트포워드 > 

    외부 포트 9000으로 접속 요청하면 라즈베리파이 IP : Port 에 연결됩니다.

    - 외부 포트 범위 : 접속 요청을 위한 port 설정
    - 내부 IP 주소 : 라즈베리파이의 IP
    - 내부 포트 : SSH 를 사용하기 위해 SSH 서비스 포트인 22를 입력합니다.

    해당 설정은 데탑과 공유기 간의 약속이 됩니다.

    (데탑) : 나 9000으로 연결좀 → (공유기) : 9000이구나 라즈베리파이 연결해줄께~

     

    (c) 윈도우 방화벽 인바운드 규칙 추가

    저는 SSH 22번 포트를 변경하였기 때문에 윈도우 방화벽 인바운드 규칙에 허용할 수 있도록 포트 번호를 설정하겠습니다.

    "고급 보안이 포함된 Windows Defender 방화벽" 옵션에서 연결하고자 하는 Port 번호를 입력합니다.

    모든 설정이 끝났습니다~

    이제 데스크탑에서도 라즈베리파이의 SSH연결이 성공합니다!

     

    SSH의 Default Port 인 22번도 변경해주시는 것이 보안상 안전합니다.

    라즈베리파이에서 변경하면 됩니다.

     

    참고 문서

    https://corytips.tistory.com/235

     

    728x90

    댓글

© 2022. code-space ALL RIGHTS RESERVED.