NAS

사내 NAS 도입 (7) - 포트포워딩, DDNS, Let's Encrypt 인증서

GRONG 2023. 1. 19. 11:16

외부 액세스 썸네일

지금까지의 설정은 NAS 내부의 설정이었다면
이제부터는 NAS 밖에서 안으로 접근하는 외부 액세스 방법들을 설정할 겁니다
퀵 커넥트, DDNS, Let's Encrypt 인증서 등의 용어가 뭔지 몰라도 설정이 가능하게 작성할게요!

지금까지는 개념도 어렵지 않았지만
외부 액세스부터는 개념이 조금 더 어려워지기 때문에
이해하고 싶으신 분들을 위한 개념과 설정을 위한 세팅 방법을 나눠서 설명하도록 하겠습니다

QuickConnect

혹시 초기세팅 때 QuickConnect ID를 만들었던 걸 기억하시나요?

초기 세팅 퀵 커넥트 ID 설정

따로 건드린 게 없다면 이때 생성했던 아이디를
웹 브라우저에서 https://quickconnect.to/생성한ID 라고 쳐도 NAS에 접근할 수 있습니다
(만약 만들지 않으셨다면 현재로서는 외부에서 NAS에 접근할 방법은 없습니다)

NAS에 접근할 수 있다면 외부 액세스는 이미 가능한 것인데
여기서 뭘 더 해야 할 게 있을까요?

시놀로지에서 제공 중인 외부 접속법은 QuickConnect 말고도 하나가 더 있습니다

DDNS

퀵커넥트 DDNS 비교 표

위 그림에도 나와있듯 QuickConnect의 전송 속도는 DDNS에 비해서 느립니다

많은 분들의 NAS 용도가 백업인 걸 감안한다면 전송 속도가 느릴 경우 많이 답답하겠죠?
그래서 외부에서 접속할 수 있는 방법을 하나 더 만들어 줄 겁니다

DDNS가 뭔가요?

세부적인 개념을 이해하고 싶지 않은 분들을 위해 정말 간단히 설명하겠습니다

예를 들어 지금 저희가 서울역을 찾아가고 싶다고 해봅시다
[서울역]의 주소는 [서울 용산구 한강대로 405]입니다
하지만 저희는 이걸 몰라도 전혀 상관이 없죠!
네비 앱에서 '서울 ~~~ 405'라는 주소를 입력하는 게 아니라 '서울역'이라는 단어를 입력하면 그만이니까요
서울역에는 이미 1:1로 매칭된 '서울~~405'라는 주소가 있기 때문에 서울역만 치면 자동으로 연결이 되는 겁니다
어디에서든 서울역으로 갈 수 있게끔 길을 찾아주는 게 네비 시스템이잖아요

인터넷 세상에도 이는 마찬가지예요 
평상시에 google.com을 웹 브라우저의 주소창에 썼을 때 우리는 항상 구글 창을 볼 수 있잖아요?
근데 사실 이건 google.com이라는 링크에 부여된 IP 주소가 따로 있어서 거기까지 찾아가는 겁니다
사람의 체계와 다르게 IP 주소라는 xxx.xxx.xxx.xxx 더 외우기 힘든 형식을 쓰기 때문에
네비 앱에서 주소를 직접 입력하지 않듯이 google.com을 검색하게 만드는 거죠

구글의 IP 주소
구글의 IP 주소

마찬가지로 DDNS는 인터넷 세상의 내비게이션 시스템입니다
원하는 주소에 도달할 수 있게 만들어 주는 거죠

비유이기 때문에 정확히 들어맞지는 않지만 세팅에는 요정도만 아셔도 될 것 같습니다

저희는 이를 이용해서 저희의 NAS에 접근할 수 있게 만들 겁니다!

이에 대한 추가적인 개념은 잘 정리된 글들을 소개해드릴 테니 더 심층적인 이해가 필요하다면 참고하세요!

 

서버포럼 - 무료 ddns와 무료ssl로 < https:// 영문주소 >를 통해 내 헤놀로지 접속하기 (duckdns / Let's En

안녕하세요 이전부터 nas 대용품을 찾아다니던 사람입니다. 이번에 Q190에 DSM 7.1을 올려보게 되어서 그에대한 후기를 적고있는데 뭐 그리 쓰고싶은 말이 많은건지 적다보니까 설정파트가 생각보

svrforum.com

 

외부접속을 위한 iptime 포트포워딩 설정 방법

포트포워딩이란? 포트포워딩이 무엇인지 찾아보면 포트 맵핑이니 라우터·게이트웨·주소변환처럼 낯선 단어가 나와서 무슨 말인지 이해하기 어렵습니다. 간단히 줄여서 말씀드린다면 외부에

badayak.com


포트포워딩

DDNS를 하기 전에 꼭 해야 하는 세팅이 있기 때문에 먼저 하고 가겠습니다

이때 포트포워딩이라는 게 필요한데요

평상시에 저희가 쓰고 있는 공유기들은 저희 집으로 누가 오는지 모르기 때문에 문을 막아두고 있습니다
그 문이 너무나 많기 때문에 만약 들어오고 싶다면 직접 어떤 문을 열지 지정을 해줘야 합니다

간단하게 어떤 문으로는 들어올 수 있다고 선언하는 작업입니다

각 공유기 회사마다 UI가 조금씩 다른데 방법은 비슷합니다

저는 아이피타임 공유기를 기준으로 포트포워딩 설정을 해보겠습니다

Iptime 공유기 관리자 페이지

브라우저 주소창에 192.168.0.1을 입력했을 때 로그인 페이지가 나오신 분들은 로그인 진행해 주시면 됩니다

Iptime 관리자 페이지 로그인 화면

만약 페이지를 찾을 수 없다고 뜬다면 아래 과정을 따라 해주세요

먼저 wim+R을 눌러주시고 cmd를 입력한 후에 엔터를 쳐주세요

cmd 실행

시커먼 화면에 ipconfig를 입력해 주시면

cmd ipconfig

이런 화면이 나올 텐데

search Default Gateway

여기서 Default Gateway라고 나와있는 주소를 브라우저 주소창에 입력해 주면 됩니다

이제 관리자 계정으로 로그인을 해주세요(이거 까먹으셨으면 공유기 초기화해야 합니다..)

Iptime 설정 버튼

셋업 선택해 주시고

포트포워딩 설정 화면

[고급설정] - [NAT/라우터 관리] - [포트포워딩] 메뉴로 들어가 줍니다

여기서 저희는 나중에 인증서 발급까지 한 번에 끝내기 위해 3개의 문을 열어줄 겁니다

  1. http용 80
  2. https 443
  3. 나스의 DSM에 접속하기 위한 5001

5000번은 보안상의 이유로 열지 않고 https로만 접속이 가능하게 만들어 주겠습니다

포트포워딩의 아래에 보면 아래와 같이 입력하는 창이 있습니다

http

80 포트 포트포워딩

  • 규칙 이름 : 원하는 이름 적으시면 됩니다
  • 내부 IP 주소 : 시놀로지에 있는 시스템 상태 상의 LAN 포트 옆에 있는 주소!

내부 IP 주소 확인법

  • 프로토콜 : TCP/UDP
  • 외부 포트 : 80
  • 내부 포트 : 80

https

동일한 요령으로 

  • 규칙 이름 ⇒ 원하는 이름
  • 내부 IP 주소, 프로토콜 ⇒ http와 동일하게
  • 내부, 외부 포트 ⇒ 443으로 변경

443 포트 포트포워딩

DSM

시놀로지 DSM으로 통하는 문은 http - 5000, https - 5001인데 미리 말씀드렸듯이 보안상 5001번만 열고 진행하겠습니다

5001 포트 포트포워딩

  • 규칙 이름 ⇒ 원하는 이름
  • 내부 IP 주소 동일하게
  • 프로토콜 ⇒ TCP
  • 내부, 외부 포트 ⇒ 5001로 변경

이렇게 3개를 추가해서 이런 화면이 나왔으면 됩니다

80&#44; 443&#44; 5001 포트포워딩 완료

DDNS 및 Let's Encrypt 인증서 발급

이제 개념도 알았고 문도 열었으니 DDNS를 추가해 보겠습니다
Let's Encrypt는 진행하면서 설명드릴게요!

[제어판] - [외부 액세스] - [DDNS] - [추가]를 눌러주세요

제어판 DDNS 추가
DDNS 추가 첫 화면

  • 서비스 공급자 : Synology
  • 호스트 이름 : 원하는 이름, 원하시면 옆에 있는 synology.me를 바꾸셔도 되는데 내버려두어도 상관없어요!

이렇게 써주고 연결 테스트를 합니다

DDNS 연결 테스트 완료

상태가 정상이라고 뜨면
[Let's Encrypt에서 인증서를 가져오고 기본 인증서로 설정]을 꼭 체크해 주시고
[확인]을 눌러줍니다

※Let's Encrypt 인증서가 뭔가요?

저희가 등록하려는 hostname.synology.me는 이제 막 태어났기 때문에
인터넷상에서 신원을 확인할 수 없는 상태입니다
경찰이 시민에게 가장 먼저 요구하는 게 '신분증'이듯
인터넷에서도 "저는 위험하지 않습니다!"를 입증하기 위한 '신분증'이 존재해요
Let's Encrypt는 '공인 인증'의 효력을 지니면서도 무료로 발급이 가능한 인증서입니다
심지어 갱신은 시놀로지의 DSM이 알아서 해주기 때문에 발급만 받아두면 두고두고 쓰면 됩니다!

기본 인증서 확인 메시지

기본 인증서를 만들기로 했으니 당연히 확인 눌러주면

다시 시작한다는 메시지가 뜨니 잠시 기다려주세요

DDNS 설정 중 화면

DSM 웹 서버가 다시 시작됐으면

이제 잘 됐는지 확인하러 가보죠

[제어판] - [외부 액세스] - [DDNS] 탭에 가보면
아까 등록했던 호스트 이름.synology.me가 등록이 되어있을 거고
옆에 '상태'가 정상이면 잘 된 겁니다

DDNS 등록 확인

이번에는 발급받은 인증서를 확인해 보죠

마찬가지로 제어판에서 [보안] - [인증서] 탭에도 같은 이름으로 등록이 되어있다면

Let&#39;s Encrypt 등록 확인

DDNS와 인증서를 모두 성공적으로 발급받았습니다!🎉🎉🎉

DDNS로 접속해 보기

이제 발급받은 DDNS로 DSM에 접근해 보죠

주소창에 이름.synology.me:5001 링크를 넣으면

DDNS로 들어온 DSM 로그인 화면

http 없이도 알아서 https의 상징인 자물쇠 모양과 함께 5001번의 문을 열고 들어갑니다

저희는 Let's Encrypt 인증서까지 있기 때문에

https 경고문

이런 경고메시지도 따로 뜨지 않죠

랩탑에서도 해보시고, 휴대폰 브라우저의 '시크릿 모드'로도 테스트해보시면 확실하게 알 수 있습니다

혹시 제대로 접속이 안되시면 [제어판] - [DSM] 탭에 가셔서
[자동으로 HTTP 연결을 DSM 데스크톱의 HTTPS로 리디렉션] 옵션이 활성화되어 있는지 확인해 주세요

http 연결을 https로 리디렉션 설정

옵션 활성화 후에 다시 한번 해보시고 만약 안된다면 댓글 남겨주세요!

80번 포트 닫기

저희가 80, 443, 5001의 문을 열었었는데 80은 단순히 Let's Encrypt 인증서를 발급받기 위해 열어둔 거라
이제 발급이 끝났으니 다시 닫아도 갱신하는 데는 문제가 없습니다

손님이 들어왔으니 굳이 문을 열어둘 필요가 없겠죠?
다시 Iptime 관리자 페이지에서 80번 포트를 닫아주도록 하겠습니다

아까 봤던 [고급 설정] - [NAT/라우터 설정] - [포트포워딩]에 들어와서

80 포트 닫기

80번 포트를 체크하고 위에 있는 [Del]을 눌러서 삭제해 주시면 됩니다

정리

글이 길었으니 정리 한 번만 하고 마무리 짓도록 할게요

여기까지 잘 따라오셨다면

  1. 퀵 커넥트
  2. DDNS

로 자신의 나스에 접근할 수 있게 됐을 거예요

DDNS로 접속하면 자동으로 https가 인증된 상태로 들어갑니다

이를 위해 80, 443, 5001 포트를 열어줬었지만 80 포트는 필요가 없어졌으니 보안상 닫아줬습니다

고생하셨습니다!!!👏👏👏

다음에는 추가적인 보안을 위해 5001번 포트를 닫기 위한 [역방향 프록시] 설정을 해보겠습니다

 

사내 NAS 도입 (8) - 역방향 프록시

이번 포스팅에서는 저번 포스팅에 이어서 [역방향 프록시]를 통해 보안을 강화해 보도록 하겠습니다 저번 포스팅에서 80번 포트를 닫았으니 저희에겐 아직 443, 5001 포트가 열려있습니다 5001 포트

devgrong.tistory.com


도움이 됐으면 좋겠습니다!
질문, 지적 댓글 남겨주세요!

좋은 하루 보내세요 :)