wisePocket

[NAS 배포★] 다시 원점으로, Docker Hub를 이용해보자 07_00 본문

Synology NAS Server Tutorials

[NAS 배포★] 다시 원점으로, Docker Hub를 이용해보자 07_00

ohnyong 2023. 7. 21. 12:03

무언가 방법을 시도하고 검색하고 난리를 쳤지만

생각보다 "NAS" 라는 키워드와 내가 원하는 키워드와의 조합의 사례 검색이 쉽지 않았다. 돌다 돌다 NAS 웹스테이션~~NAS DNS Server만들기~~ 이것저것 강좌를 찾아보고 따라했지만 생각해보니 이건 내가 하려던 것이 아니었다. 또 검색하고, 살짝만 다른 사례가 검색되면 이렇게 너무 깊게 들어가고 원래 목적을 상실하고 있었다. 하지만 지금 몇일째 끙끙대면서 이를 통해서도 이것 저것 찾아보고 시도하면서 다양한 웹과 웹 서버, Linux 기반 OS의 기본 지식의 감을 익히게 되었다. 작동 원리나 어떤것들이 계속해서 필요한지 찾아보고 도전 하게 되었다.

 

내가 있는 사무실 환경에서는 외부 IP를 사용해버리면 사무실 전체에 영향이 갈 수도 있어서 문제가 발생 할 수 있다. 특히 보안쪽은 이해도도 부족한데 거슬린다. 네임 서버를 NAS로 하고자 DNS Server를 설치하고 도메인의 네임 서버도 변경했지만 생각해보니 이 작업을 하는 이유?가 부족했다. 우선 NAS의 QuickConnect라는 DDNS기능을 통해서 충분히 외부 접속이 가능하다. 외국 서버를 통해서 진입하기 때문에 속도의 문제가 생길 것이라는데 현재 내가 하고싶은 실습 이후에 진행할 문제였다. DNS를 구성하면서 찾은것은 외부 IP도 (거의) 유동 할 가능성이 있어서 이용하기 조금 까다롭다는 사실도 알았다. 그래서 고정 IP에 대한 요금제가 따로 있는 것도 처음 알게 되었다. 또한 보안서버인증서 SSL또한 유료로 새로 가입하고 나만의 키를 가지고 있어야 한다. 웹 호스팅, 도메인 서비스들이 얼마나 이러한 과정들을 간편하게 서비스해주는지 왜 비용이 발생하는지 파악했다. 비용을 절감하려면 자체 서버를 구축해야 한다지만 이 모든 과정들을 개인용 서버가 해결하기 어려워 보였다. 따라서 나는 시간을 절약하기 위해 절충안이 필요하다. 도메인을 구매하는것 처럼 내가 구현해야 할 부분과 빌려야 하는 부분을 생각해야 한다.

 

이것저것 부딪히면서 다양한 지식들을 어깨넘어 배우고 관심을 갖게 되었다.

DNS, DDNS, 포트, 포트포워딩, 홈 네트워크 구성, Linux 환경 움직임, SSH 등 완벽하게 외울 정도로 개념을 정리하지는 못했지만 감을 익혔다. 어디서 찾아야되는지 어디에서 필요할지. 또한 역사적인 것들도 관심이 생겼다.

루트 네임 서버는 전세계적으로 13개가 있고 최상위 루트는 IANA라는것, 

http80
HTTP가 문서화되기 이전부터 보통 사용하지 않는 빈 포트 번호였다.
1991년 HTTP 0.9 버전에서 처음으로 문서화되면서 기본 포트로 지정되었다.
https443
RFC 1700 이전까지는 빈 포트 번호였다.
Kipp E.B. Hickman의 요청으로 1994년 10월에 RFC 1700 문서에 443이 추가되었다.
443인 이유는 빈 칸에 순서대로 배정하다 됨.

이러한 기초적인 역사, 상식을 얻기도 했다.

 

내가 NAS를 사용하고자하는 목적을 다시 생각해보고 테스트 순서를 정리해 보았다.

단순히 항상 켜져있는 서버 컴퓨터를 렌탈하지 않고 내 NAS를 사용하고자 하는 것이다.

  • NAS는 우수한 가상환경인 Docker를 지원한다.
  • 우선 내가 테스트를 통해 로컬 PC로 Docker[(Flask+uwsgi)+(nginx)]로 로컬 PC의 80번 포트로 웹 페이지를 나타내는 것을 성공 시켰다.
  • 그럼 이 컨테이너[이미지+이미지] 자체를 NAS 내부 Docker에도 동일하게 옮기면 NAS 로컬 80번 포트에서 웹 페이지가 나타난다는 것이다.
  • 컨테이너[이미지+이미지]를 어떻게 옮길 것인가?
  • Docker는 Docker Hub라는 Git의 Github와 비슷한 remote repository를 지원한다.
  • 이는 계정에 종속되며 NAS docker에서도 접속 할 수 있다.
  • 이미지를 Hub URL로 받아와서 NAS Docker에 컨테이너[이미지+이미지]를 생성해서 가동시켜 본다.
  • QuickConnect 처럼 외부에서 NAS 에 접근 할 수 있도록 DDNS를 설정한다
  • 다만 여기에서 NAS의 Data를 보고 설정하는 DSM에 접근하는 것과 해당 컨테이너가 실행되는 웹페이지를 보여줄 것인지를 DDNS와 포트, 포트포워딩을 더 연구해서 구분지어야 한다.
  • DDNS로 외부 접속을 구분 지었으면, 도메인을 각각 구분지어서 연결해준다.