개발자의 끄적끄적

[공유기] 포트포워딩 설정하기 [펌] 본문

기타/컴퓨터

[공유기] 포트포워딩 설정하기 [펌]

효벨 2020. 2. 11. 02:00
728x90
반응형

[공유기] 포트포워딩 설정하기 [펌]

 

OctoPrint 세팅 2 - OctoPi 설치 및 WiFi 연결 설정

OctoPrint 를 운영하기 위해서는 OctoPi 라는 별도의 운영 체제가 필요합니다. 이것을 라즈베리 파이에...

seoulworkshop.blog.me

지난번 포스팅에서는 OctoPrint 가 설치된 라즈베리 파이의 IP 주소를 알아내서 그 주소를 통해 라즈베리 파이에 접속하면 된다고 하였지만, 이것은 사실 반쪽 짜리 정답입니다.

공유기에서 할당한 192.168.0.21 이라는 주소는 공유기 내의 주소이기 때문에 같은 공유기 망 내에서만 접속이 가능합니다.

하지만 LTE 망을 사용 중인 핸드폰이나 회사, 학교 컴퓨터에서는 192.168.0.21 이라는 주소를 쳐봤자 엉뚱한 곳으로 가게 됩니다.

비유하자면 '192.168.0.21' 이라는 것은 '3동 406호'라고만 써있는 주소와도 같습니다.

같은 아파트에 살고 있다면 3동 406호라는 주소만으로도 친구 집에 갈 수 있지만, 외부인 입장에게 주소를 알려줄 때는 AA시, BB구 등의 광역 주소를 알려줘야지 3동 406호라는 주소만으로는 주소 기능을 할 수 없을 것입니다.

이번 포스팅에서는 '진짜' 주소를 이용해 외부 망에서도 OctoPrint 에 접속할 수 있게 해주는 공유기 세팅 방법을 공유드리도록 하겠습니다.

이러한 설정 과정을 '포트포워딩(Port forwarding)'이라 합니다.

'진짜' IP 주소 알아내기

지난번에 알려드린 방법은 모두 공유기 내부의 IP주소를 알아내는 방법이었습니다.

앞의 비유를 이어가자면 아파트 내부에서 동, 호수를 알아내는 방법입니다.

아파트 자체의 주소를 알아내려면 다른 방법을 사용해야 하는데, 사실 지난번보다 훨씬 간단합니다.

Google에 들어가서 'IP address'라고 검색하거나, 네이버에 들어가서 'IP 주소'라고 검색하면 IP 주소를 알려줍니다.

 

이 IP 주소는 '진짜' 주소이고, 각 인터넷 회선마다 겹치지 않게 고유한 값을 갖게 됩니다.

그렇기 때문에 IP를 추적하느니 하는 말을 뉴스에서 듣게 되는 것이죠.

이 주소는 비유하자면 'AA시 BB구 CC동 DD아파트'에 해당하는 값입니다.

대개는 이 주소는 공유기에 할당이 됩니다.

이 주소와 공유기 내에서 분배되는 'X동 Y호'의 값까지 알면, 라즈베리 파이에 접근할 수 있게 됩니다.

이론으로는 간단해보이지만 사실 여기서부터 초심자들의 고통(?)이 시작됩니다.

포트포워딩의 개념

포트포워딩(Port forwarding)은 포트(Port)를 전달(Forwarding)해주는 작업입니다.

영어로는 '용어 설명'이라기도 민망한 정말 직관적인 용어인데 마땅한 번역어가 없어 안타깝습니다.

통신 기기들은 여러 개의 포트를 가지고 있습니다.

포트는 비유하자면 '문'과 같은 것입니다.

통신 기기들은 피자 배달 연락이 오면 문1을 열어주고, 택배 배송이 오면 문2를 열어주고, 친구가 오면 문3을 열어주는 식으로 데이터 송수신을 관리합니다.

이렇게 함으로써 데이터의 출입을 혼동 없이 관리할 수 있다는 정도로 이해하시면 충분할 것 같습니다.

OctoPrint 의 경우 디폴트로 80번 포트를 이용하도록 설정되어 있습니다.

지난번에 192.168.xxx.xxx 형식의 주소로 OctoPrint 에 접속을 했지만, 이것은 웹 브라우저들이 똑똑해져서 80번 포트를 알아서 찾아간 것이고 사실은 192.168.xxx.xxx:80 이라고 입력을 해주는 것이 더 정확한 지시입니다.

즉, OctoPrint 에 접속하기 위해서 우리는 라즈베리 파이의 수많은 포트 중 80번 포트에 접속을 하는 것이 필요합니다.

포트포워딩이 설정되지 않았을 때 생길 수 있는 혼선

쉽게 생각하면, 아래 그림처럼 공유기에 '80번 포트로 접근하게 해줘'라고 요청만 하면 될 것 같습니다.

내 머릿속의 '80번 포트' 요청 흐름도. 하지만 이런 일은 일어날 수가 없다.

하지만 이것은 너무 단순한 생각이며 브라우저는 오류를 뱉어낼 것입니다.

뜬금없지만 공지영 작가의 <아주 가벼운 깃털 하나>라는 수필집에 나왔던 에피소드로 이 에러가 왜 발생하는지를 설명드리고 싶습니다.

<아주 가벼운 깃털 하나>에는 친구 '황보'의 에피소드가 등장합니다.

보통 '황보XX'의 이름을 가진 녀석이 반에 있다면 그 녀석은 별명처럼 '황보!'라고 불리기 마련입니다.

한번은 '황보'네 집에 전화를 했는데, 그때 오간 대화가 웃겨서 아직도 기억에 남습니다.

-안녕하세요! 황보네 아저씨시죠? 저 황보 친구인데 황보 좀 바꿔주세요.

-그래, 어느 황보를 바꿔줄까..? 우리 집에 황보가 7명이 있는데...

공지영, <아주 가벼운 깃털 하나> 삽입 삽화.

공유기에다 대고 'Port 80'를 요청하는 것도 이와 동일한 오류입니다.

'Port 80' 을 열어줄 수 있는 기기가 한두 대가 아닐 것이기 때문입니다.

실제 '80번 포트' 요청 흐름도. 80번 포트라고만 하면 공유기 입장에서는 어떤 포트인지 특정을 하는 것이 불가능하다.

내 의도는 '(OctoPrint 가 설치된 라즈베리 파이의) Port 80'으로 접근해달라는 것이었지만, 앞의 수식어를 다 생략하고 'Port 80'만 요청을 했기 때문에 공유기 입장에서는 특정을 할 수가 없는 요청이 됩니다.

이런 모호함을 해결하기 위해 포트포워딩이 필요합니다.

교통 정리를 해주는 포트포워딩

포트포워딩은, 공유기의 포트를 이용해 공유기에 물린 기기들(라즈베리 파이, 컴퓨터, 핸드폰, ...)의 특정 포트에 진입할 수 있는 기능입니다.

예를 들어 포트포워딩 설정에서 'Port 180으로 진입하면, 핸드폰의 Port 80 으로 요청을 보내줘'라고 지시를 해둠으로써, 핸드폰의 Port 80 에 접근할 수 있는 것입니다.

여기서 180은 사용자가 지정할 수 있는 임의의 숫자이며, 이 숫자를 지정하는 것이 포트포워딩 설정입니다.

Port 180 으로 진입 시 핸드폰의 Port 80 으로, Port 2580 으로 진입 시 라즈베리 파이의 Port 80 으로, Port 3830 으로 진입 시 태블릿의 Port 80 으로 요청을 전달하는 식으로 사용자의 편의 대로 전달(Forwarding)설정을 하는 것이 가능합니다.

 

 

 

예를 들면 Port 1234 로 접속 시 라즈베리 파이의 80번 포트로 접속하라고 설정을 해놓고, 아까 네이버 혹은 구글에서 얻은 IP 주소에 1234 번 포트를 붙여서 접속하면 공유기 외부에서도 라즈베리 파이로 접속을 할 수가 있습니다.

즉, 아래의 주소가 광역적으로 접근이 가능한 완전한 주소가 됩니다.

211.124.53.89:1234 (IP주소:Port)

포트포워딩 설정 방법

포트포워딩의 설정은 공유기에서 해줘야 합니다.

그리고 공유기마다 메뉴가 다르기 때문에 일괄적인 설명을 드리기는 어렵지만, 대체로 비슷한 위치에 메뉴가 있으니 조금 시간을 들여 메뉴를 살펴보시면 설정을 진행하실 수 있을 것으로 생각합니다.

정 막히면 제조사에 '포트포워딩 방법'을 문의하거나 매뉴얼을 찾아보시는 것을 추천드립니다.

저는 IPTIME 공유기와 ASUS 공유기 메뉴를 일단 예시로 보여드리도록 하겠습니다.

1) 공유기 페이지 접속

공유기에 접속된 컴퓨터에서 크롬, 파이어폭스 등 웹브라우저를 열고 아래의 주소를 입력하면 공유기 설정 페이지로 이동할 수 있습니다.

192.168.0.1 또는 192.168.1.1 이 가장 일반적인 주소입니다.

만약 아이디와 비밀번호를 설정했다면 그 아이디와 비밀번호를 입력해서 로그인을 하고, 설정한 적이 없다면 초기 ID 와 비밀번호를 입력하여 설정 페이지로 진입합니다.

공유기 제조사

설정페이지 접속주소

초기 ID / 비밀번호

  iptime (아이피타임)

  http://192.168.0.1

admin/admin

  QookHub(쿡허브)

  HomeHub(홈허브)

  http://172.30.1.254

  http://172.30.1.254:8899

  ktuser / megaap

  ktroot / nespot

  LGU+ (모델명 NAPL,CAPL)

  http://192.168.123.254

  admin

  MyLGtv

  http://192.168.219.1

  user / power

  admin / power

  SKtelesys(SK텔레시스)

  http://192.168.15.1:62207

  root / skb_ipdcp

  SK브로드밴드(DVW-2000N)

  http://192.168.25.1

  admin / admin

  SKtv(MW-2010R)

  http://192.168.20.1

  admin / skbiptv

  root / 1234 or admin

  Anygate (애니게이트)

  http://192.168.10.1

  Buffalo (버팔로)

  http://192.168.11.1

  root / 공백

  Unicorn (유니콘)

  http://192.168.123.254

  admin or admin / admin

  LG axler (LG 엑슬러)

  http://192.168.10.1

  D-link (디링크)

  http://192.168.0.1

  admin / 공백

  Samsung (삼성)

  http://192.168.123.254

  admin / admin

  Zio (지오)

  http://192.168.10.1

  Wavecast (웨이브캐스트)

  http://192.168.200.254

  http://192.168.25.1

  admin / admin

  Linksys (링크시스)

  http://192.168.1.1

  admin / 1234 공백 / admin

  Belkin (벨킨)

  http://192.168.2.1

  Netgear (넷기어)

  http://192.168.0.1

  admin / password

  admin / 1234

  Netop (넷탑)

  http://192.168.0.1

  admin / admin

  Neple (네플)

  http://192.168.10.1

  admin

  Levelone (레벨원)

  http://192.168.123.254

  NETWEEN (네트윈)

  http://192.168.1.1

  admin / admin

  NEXT (넥스트)

  http://192.168.100.1

  http://192.168.0.1

  Imation (이메이션)

  http://192.168.10.1

  ASUS (아수스)

  http://192.168.10.1

  SMC

  http://192.168.2.1

  smcadmin

출처: 크레이지 리모트

2) 포트포워딩 메뉴 탐색

관리자 페이지에 접속했다면 이제 포트포워딩 설정 메뉴로 접근해야 합니다.

IPTIME 기준으로 아래 이미지의 순서로 따라가시면 됩니다.

먼저 관리 도구로 들어갑니다.

그리고 왼쪽 메뉴에서 아래와 같이 '포트포워드 설정'을 선택해줍니다.

오른쪽에 뜨는 포트포워드 설정 창에서 '새 규칙 추가'를 선택하고 아래의 필드를 채워줍니다.

-규칙 이름: 스스로 기억하기 쉬운 이름이면 어느 것이든 상관없습니다. 나중에 '이 설정이 무슨 라즈베리 파이 설정이던가? 태블릿용 설정이던가?' 식으로 헷갈리는 것을 방지하기 위한 용도입니다.

-내부 IP주소: 지난번 포스팅에서 알려드린 192.168.0.21 등의 주소입니다.

-외부 포트: 외부에서 접속할 때 사용할 포트입니다. 외우기 쉬우면서, 기존 포트와 겹치지 않도록 5자리 이상으로 설정하면 가장 좋습니다.

-내부 포트: OctoPrint 가 사용하는 Port 번호를 적어주어야 합니다. 80으로 고정입니다.

마지막으로 '적용', 혹은 '수정' 버튼을 눌러주면 설정이 완료됩니다.

복습 겸 ASUS RT-AC68U 공유기의 설정 방법도 보여드리도록 하겠습니다.

ASUS 공유기에서는 포트포워딩이 WAN 메뉴에 있습니다.

-서비스 이름: 포트포워딩 규칙 이름을 넣어주시면 됩니다. 스스로 기억하기 쉬운 이름이면 어느 것이든 상관없습니다.

-포트 범위: 외부에서 접속할 때 사용할 포트 번호를 넣어주시면 됩니다. 기억하기 쉬우면서도 긴 숫자가 바람직합니다.

-로컬 IP: 해당 기기의 내부 IP주소입니다.

-로컬 포트: 해당 기기의 내부 포트 주소입니다. OctoPrint 의 경우 80이 될 것입니다.

참고로 공유기 제조사 별 포트포워드 설정 메뉴는 아래와 같다고 하니 메뉴를 찾기 어려우시면 아래 표에서 공유기를 직접 검색해보세요.

공유기 제조사

  설정메뉴 들어가기

  iptime (아이피타임)

  관리도구 → 고급설정 → 포트포워드 설정

  QookHub(쿡허브)

  HomeHub(홈허브)

  고급설정 → 트래픽 관리 → 포트포워딩 설정

  LGU+ (모델명 NAPL,CAPL)

  고급설정 → NAT설정 → 포트 포워딩

  MyLGtv

  Network 설정 → NAT설정 → 하단의 포트포워딩

  SKtelesys(SK텔레시스)

  Firewall → Policles → Port Forwarding

  SK브로드밴드(DVW-2000N)

  방화벽 → 포트포워딩

  SKtv(MW-2010R)

  NAT → Port Forwarding

  Anygate (애니게이트)

  전문가 설정 → 트래픽 제어 → 포트포워딩

  Buffalo (버팔로)

  게임 포트 → 포트포워딩

  Unicorn (유니콘)

  가상서버 → 포트포워딩 , 포트포워딩 → 가상서버

  LG axler (LG 엑슬러)

  고급메뉴 → 포트포워딩

  D-link (디링크)

  고급 → 포트포워딩(없으면 가상서버)

  Samsung (삼성)

  고급설정 → 포워딩 → 가상서버(포트포워딩)

  Zio (지오)

  NAT → 포트포워딩

  Wavecast (웨이브캐스트)

  고급설정 → 포트포워딩 , Firewall → Port forwarding

  Linksys (링크시스)

  Applications & Gaming → Port Range Forward

  Belkin (벨킨)

  방화벽 → 가상서버

  Netgear (넷기어)

  고급 → 포트포워딩 → Add Custom Service

  Netop (넷탑)

  방화벽 설정 → 가상서버 설정

  Neple (네플)

  고급기능설정 → 가상 서버

  Levelone (레벨원)

  포워딩 규칙 → 가상서버

  NETWEEN (네트윈)

  고급설정 → NAT → 포트포워딩

  NEXT (넥스트)

  NAT → 가상서버(포트포워딩)

  Imation (이메이션)

  고급기능설정 → 가상 서버

  ASUS (아수스)

  NAT설정 → 가상 서버

  SMC

  고급설정 → NAT → 가상서버 설정

출처: 크레이지 리모트

3) 접속 테스트

이제 앞에서 얻었던 '진짜 IP주소'에 위에서 설정한 포트포워딩 외부 포트를 조합해서 고유 주소를 만들 수 있습니다.

예를 들어 진짜 IP주소가 211.156.32.67 이었고, 앞 단계에서 설정한 포트포워딩 외부 포트가 2580 이었다면 아래의 주소를 입력함으로써 전세계 어디에서든 해당 기기의 해당 포트에 접근을 할 수가 있습니다.

211.156.32.67:2580

포트포워딩 많이 쓰세요!

여러 네트워크 기능을 사용하는 데 있어 특정 포트에 접근하는 것이 필수 과정이 되는 경우가 많습니다.

원격 접속 프로그램들이나, SSH, FTP 등 쓸 만한 기능들은 전부 고유 포트를 사용합니다.

공유기 설정의 고수가 되는 첫걸음이라 생각하시고 조금 헷갈리시더라도 물고늘어져서 공유기 기능을 최대치로 잘 활용하시길 바랍니다.

 

출처 : https://m.blog.naver.com/seoulworkshop/221265052717

반응형
Comments