[Raspberry Pi] Pi 4 를 클라우드 컴퓨터로 만들기 #3, Port Forwarding

이제 외부에서 접속 가능하도록 공유기의 설정을 수정할 것이다. 필자는 LG U+ 공유기를 사용하지만, 다른 공유기라고 해도 방법을 크게 다르지 않을 것이다.

5. 배경 설명

고정 아이피 할당, 포트 포워딩, 그리고 공유기 (Wireless Router) 에 대해 대략적으로 소개하려 한다. 물론 귀찮거나 이미 알고 있다면 스킵해도 좋다.

라우터 (Router) 란 무엇인가?

우선 라우터(Router) 에 대해서 설명하겠다. 라우터는 데이터 패킷을 컴퓨터 네트워크들 사이로 다시 보내주는(forward) 네트워크 장치이다. 말이 복잡한데 이정표를 생각하면 쉽다.
만일 필자가 뉴욕의 한 회사에 취직을 목적으로 이메일을 보냈다. 목적지라고는 알려준 정보는 [email protected] 이라는 이메일 주소 하나 뿐이다. 이제 라우터는 이 짧은 메일 주소를 가지고 목적지(node)를 찾아 나선다. 라우터는 필자의 컴퓨터와 뉴욕의 회사 사이에 하나만 존재하는 것이 아니다. 수 많은 라우터들이 존재한다. 각 라우터들은 다양한 목적지 주소를 가지고 있기 때문에, 현재 라우터에서 목적지 정보를 찾지 못했더라도 괜찮다. 그 상위 라우터에게 다시 물어보면 된다. 없다면 다시 또 다른 라우터에게 목적지 정보를 물어본다. 이렇게 끝까지 따라가다보면 결국 최종 목적지에 도착하게 된다.

무선 라우터(Wireless Router) 란?

라우터는 주소(IP 주소)를 통해 목적지(노드)를 찾아주는 이정표(네트워크 장치)라고 했다. 그럼 무선 라우터(Wireless Router)는 무엇인가? 이것이 바로 필자의 가정과 독자에 가정에 하나씩 있는(안 쓰는 가정도 있음), 공유기의 또다른 이름이다.
무선까지는 이해가 되겠지만 라우터에서 감이 안 잡힐 수 있다. 그러나 이는 확실하게 라우터가 맞다. 잘 생각해보면 공유기로 들어가고 나오는 선은 한가닥(LAN 선)인데 사용자는 여러명이다. 이는 실제로 불가능한 일이다.
그렇게 때문에 공유기는 WiFi 를 생성하고(AP, Access Point), 해당 WiFi 에 접속한 장치마다 새로운 내부 아이피를 할당해준다. 따라서 여러 장치(무선 라우터에 접속된 장치들)가 하나의 네트워크를 쓰더라도 데이터를 주고 받는 주체인 무선 라우터가 각 장치 정보를 기억하여 오고가는 데이터를 목적지로 정확하게 전달해주는 것이다. 그래서 하나의 외부 아이피를 가지고도 여러 장치가 나눠쓸 수 있는 것이다.

포트 포워딩

앞서 뉴욕의 한 회사를 예로 들었다. 이제 이메일을 보내는건 OK, 그런데 또 받는게 문제다. 외부 아이피는 하나인데, 이 내부에서 사용하는 사용자가 너무 많다. 뉴욕에서 보낸 이메일이 필자의 집까지는 무사히 잘 도착했는데, 이 WiFi 에 접속한 장치가 한 둘(핸드폰, 노트북, 데스크탑, etc.)이 아니다. 누구에게 보내줘야 하는가? 이러한 문제 해결을 위해 등장한 것이 포트 포워딩이다.
1. 공유기는 우선 특정 포트(예를 들어, 33)에 대해 들어오는 허용한다. (보통은 안됨)
2. 33 번 포트에 특정 내부 IP 주소를 등록(192.168.231.100)한다.
3. 이후 33 번 포트에 대한 연결 요청이 들어오면 버리지 않고, 이를 192.168.231.100 라는 내부 IP 를 가진 장치에게 재전송 해준다.

이것이 포트 포워딩의 전부이다.

고정 아이피

포트 포워딩도 Ok, 그런데 또 다른 문제가 있다. 무선 라우터는 어떤 장치가 언제 WiFi 에 접속할지, 몇 명이나 접속할지 알 수가 없다. 따라서 내부 아이피 역시 유동적으로 할당해준다. 그래서 접속할때마다 내부 아이피가 쉽게 바뀔 수 있다. 이는 포트 포워딩 시 치명적이다.
허용된 포트와 내부 아이피는 1대 1 로 매칭되어 있는데 정작 내부 아이피가 장치가 접속할때마다 바뀌면 아무런 의미가 없게 된다. 따라서 공유기는 각 장치는 고유의 맥 주소(MAC Address) 를 가지고 다시 내부 아이피와 1 대 1로 매칭시켜 등록한다.
새로운 장치가 접속하면, 무선 라우터는 먼저 MAC 주소를 확인하고, 고정 IP 가 할당된 장치라면, 등록된 고정 IP 를 할당하고, 그렇지 않다면 유동적으로 새로운 내부 IP 를 할당해준다.

6. 고정 아이피 등록

가장 먼저 해야 할 일은 Raspberry Pi 에 고정 IP 등록를 등록하는 일이다. 접속할 때마다 내부 IP 가 바뀌지 않고, 항상 Raspberry Pi 는 고정된 IP 가 등록될 수 있도록 만들 것이다.

공유기 설정 페이지 접근

공유기 설정 페이지는 웹 브라우저를 통해 접속이 가능하다. 필자는 chrome 을 통해 접속할 것이다. 공유기의 웹 페이지 주소는 게이트웨이의 주소와 동일하다. 게이트웨어 주소 확인 방법은 운영체제 마다 다른데 필자는 Linux 기준으로 설명을 진행할 것이다:

$ arp -a

필자가 사용하는 공유기의 설정 페이지 주소는 192.168.219.1 로 나왔다. 공유기 별로 설정 페이지의 주소는 서로 다를 수 있다.

웹 브라우저를 통해 접속하게 되면 이런 페이지에 접속할 수 있게 된다. 분홍 화살표를 클릭해서 상세 설정 페이지로 접근 가능하다.

이렇게 패스워드를 입력하라고 나오는데 해당 패스워드는 공유기 장치 후면에 써 있는 경우가 많다.

적혀있는 관리자 웹 접속 암호 를 입력하고 페이지에 접속할 수 있다.

메인 페이지의 상단 메뉴의 상태정보 => DHCP 할당정보 => DHCP 할당 정보 로 들어간다:

그럼 이렇게 현재 접속한 장치의 장치명과 맥주소를 확인할 수 있다. 필자의 경우 라즈베리 파이가 192.168.219.101 이라는 내부 아이피를 자동 할당 받은 상태였다. 우선 여기에서 라즈베리 파이의 맥주소를 기억해둔다.

이제 DHCP 고정 할당 페이지에 들어가서 Raspberry PiMAC 주소에 대한 고정 아이피를 할당할 것이다. MAC 주소랑 할당할 IP 주소를 굳이 입력할 필요없이 중단의 맥주소 검색 버튼을 눌러서 앞서 살펴봤던 Raspberry PiMAC 주소를 선택하면 된다.

선택 후 하단의 선택 버튼을 누르면 자동으로 주소가 채워진다.

상단의 추가 버튼을 누르고, 페이지를 아래로 스크롤해서 아래와 같이 설정 적용 을 누른다:

설정 적용 시 무선 라우터가 꺼졌다 켜지면서 자동으로 재부팅된다. 이로써 Raspberry Pi 하드웨어에 대한 고정 아이피 할당이 끝났다.

7. 포트 포워딩

메인 페이지에서 네트워크 설정 => NAT 설정 => 포트 포워딩 으로 들어간다:

상단의 추가 를 클릭해서 다음과 같이 채워넣는다:

서비스 포트와 내부 포트는 ssh 전용 포트인 22 를 할당하고 내부 주소는 앞서 고정 아이피로 등록했던 Raspberry Pi 의 내부 아이피를 작성하였다. 내부 IP 주소는 독자들의 등록한 고정 아이피에 맞춰 등록하길 바란다. 이렇게 다 채워 넣었다면 하단의 추가 버튼을 클릭해서 빠져 나온다.

체크 박스 선택 후 페이지 하단의 설정 적용 을 누르면 포트 포워딩도 끝이 난다.

이제 외부에서도 WiFi 의 외부 아이피 주소를 입력해서 언제, 어디에서든 ssh 를 통해 접근이 가능하다.

출처

[사이트] https://en.wikipedia.org/wiki/Wireless_router
[사이트] https://en.wikipedia.org/wiki/Router_(computing)

좋은 웹페이지 즐겨찾기