본문 바로가기
정보보안/Server(NAS,VM)

시놀로지 나스에서 Visual Studio Code 사용하기(Docker, 웹 서버, 군대)

by 우동이 2021. 4. 3.
300x250

NAS 서버 후기

 

개인서버가 갖고싶어서 만든 시놀로지 나스 서버(NAS DS420+)

-nginx 웹 서버 -duckdns 도메인 연결 -포트포워딩 -내부 라우터 구축 -하드웨어 설치 융합정보보안 학과라 네트워크나 시스템 보안 등 다양한 학문을 함께 배우는 영광을 누렸으나 실상 대학교 적응

hobbylists.tistory.com


Docker

NAS 서버는 종류도 다양하고 구축 환경이나 지원되는 소프트웨어도 다양합니다.

이어 용도나 운영 목적도 다를 테고요

 

저 같은 경우에는 군대에서 보안 공부를 할 때 코딩을 할 컴파일러나

해킹 실습을 위한 가상의 리눅스 운영체제가 필요했습니다.

 

제 NAS는 Synology DS420+ 제품으로

램 증축은 가능했지만

아무래도 GUI 환경의 가상 머신을 사용하는 건 좀 힘든 스펙이었기에

"Docker"라는 개념을 알게 되어 서버에서 원격 VS Code가 가능하도록 구축했습니다.

 

아 이 Docker는 Synology 제품 군에서는 소프트웨어를 지원하지 않는 버전이 있을 수도 있으니

혹시 구매 후 구축을 하실 거라면 그전에 미리 알아보시는 걸 추천드립니다.

 

서버 구축에 일가견이 있는 다른 공돌이들은 뚝딱뚝딱

자기 서버를 만들어서 거기다 도커 건 뭐건 자기가 알아서 다 설치하겠지만

저는 그 정도의 실력이 받쳐주지를 않으니 제품 정석대로 사용하겠습니다.. ㅠ


Docker 지원 시리즈

 

Docker - 애드온 패키지 | Synology Inc.

애드온 패키지 Synology NAS에는 수많은 추가 기능이 포함되어 있습니다. 사용자의 필요에 맞게 특별히 제작된 패키지을 다운로드하여 설치하고, 클라우드에서 파일을 공유하거나, 온라인 앨범에

www.synology.com

도커 애드온 관련 정보 URL입니다.

 

제 제품은 위에도 적었다시피 20 시리즈에 해당하는 DS420+입니다.

Docker 애드온이 지원되네요

 

 

 

지금 제 서버는 duckdns라는 외부 무료 도메인을 통해 외부 접속이 가능한 상태입니다.

시놀로지 자체적으로 제공되는 도메인도 있는데 왜 하필 저런 무료 도메인이 되어있느냐 하면,,

제가 서버 제작에 너무 지식이 없어서 어떤 사람의 도움을 받았는데 이걸 알려주었더라지요 하하,,,

 

아무튼 제가 도커를 사용하는 이유는 외부에서 접속 가능한 리눅스 가상 환경이 필요한 상황입니다.

 


사설 IP 주소 대역

  • Class A : 10.0.0.0 ~ 10.255.255.255
  • Class B : 172.16.0.0 ~ 172.31.255.255
  • Class C : 192.168.0.0 ~ 192.168.255.255

일단 헷갈리지 않기 위해 IP 대역에 대해 간략히 알아보고 갑시다.

IPv4 대역은 크게 ABCDE대역으로 나뉘어 있지만 저희는 대충 A, B, C만 알아도 됩니다.

 

자신의 컴퓨터의 ip를 확인해보면 대부분 C 클래스 대역 192.168.X.X로 구성되어 있을 겁니다.



이는 사설 IP를 사용 중이라는 뜻입니다.

쉽게 말해 실제 IP 주소가 아닌 내부에서 가상의 IP 주소 대역을 할당받아 사용 중이라고 보면 됩니다.

 


NAS - Docker 패키지 설치

1. 패키지 센터에 접속한다

2.Docker 검색 후 설치

 

 

3. 설치 완료

위 화면은 도커 애드온이 설치된 화면입니다.

제 서버에서 현재 4개의 도커 컨테이너가 활성화되어 있는 상태이며

그중 DS-CODE가 Vs Code 컨테이너입니다.

 

설치를 완료했으면 이제 특정 가상 환경 컨테이너를 다운받아 설치를 진행합니다.


1. 가상환경 설치 진행

자신이 원하는 가상 환경을 설치하기 위해 검색할 수 있습니다.

현재 centos, fedora, oracle 등 다양한 공식 이미지가 업로드되어 있습니다.

 

컨테이너 오른쪽에 메달 표시가 공식 이미지라는 뜻입니다.

 

2. 이미지 파일 다운로드

저희가 설치해 사용할 이미지 파일은 이 파일입니다.

이름 동일하게 검색해서 다운로드하시면 되겠습니다.

 

3. 가상 환경 설정

컨테이너 이름은 자기 마음껏 짓고

그 외 설정도 적절히 알아서 하고 넘어갑시다.

 

3. 가상 환경 설정-마운트

파일 내에 /config를 만들어 마운트 해줍니다.

위 화면과 동일하게 진행시켜주면 됩니다.

 

/config 파일에 해당 가상 환경의 저장소로 인식됩니다.

 

3. 가상 환경 설정-포트 설정

이 부분이 제일 중요합니다.

해당 컨테이너에서 요구하는 포트는 8443번 포트입니다.

9900번 포트는 제가 임의로 웹 서버 구동을 위해 뚫어놓은 포트입니다.

 

혹시라도 나중에 웹 서버를 돌릴 때를 대비해 하나 뚫어두셔도 무방합니다만

 

아마 8443 포트는 컨테이너를 설치한 상태에서 자동으로 설정되어 있겠지만

그렇지 않은 경우라면 위 화면과 동일하게 8443 포트를 포워딩해줘야 합니다.

 

또한 외부 접속을 하기 위한 컨테이너라면

포트 포워딩이 필수로 되어 있어야 외부에서 해당 컨테이너로의 접속이 가능합니다.

3. 가상 환경 설정-변수 설정

 

 

그 후 기타 설정값입니다.

- PGID와 PUID 값은 각각 1000씩

- PASSWORD, SUDO_PASSWORD는 일반계정 패스워드와 root계정 패스워드이니 자신의 암호로 작성해주면 되며

- TZ = Asia/Seoul  / Timezone 즉 시간대 설정입니다.

 

여기까지 진행 후

자신의 서버 도메인의 8443번 포트로 접속이 가능합니다.

 

접속 예시>

자신의 외부 접속(DDNS) URL -> cheolsu.synology.me 라 가정할 때

cheolsu.synology.me:8443/

이런 식으로 접속이 가능합니다.

 


간단한 포트 포워딩 설명(Iptime 공유기 기준)

 

192.168.0.1 -> iptime 공유기 관리자 페이지 접속 주소

192.168.0.1을 인터넷 주소창에 입력해 접속합니다.

 

[고급 설정] - [포트 포워드 설정]에 들어가 포트 포워딩을 설정할 수 있습니다.

 

내부 IP주소는 자신의 NAS 서버가 할당된 사설 IP 주소를 입력해주시면 되며

외부 포트, 내부 포트 값을 넣어야 하는데

내부 포트는 무조건 8443 외부 포트는 자신이 접속할 때 사용할 포트를 적는 것입니다.

 

보안상 중요한 포트번호면 외부 포트번호를 내부와 다르게 매치해주는 게 맞겠지만

저는 귀찮아서 그냥 8443:8443으로 맞춰줬습니다.

 


이후 Vs Code 도커 접속화면입니다.

자신이 설정해준 암호를 입력 후 접속하면 됩니다.

다른 컴파일러 컨테이너도 있겠지만

구축하기는 또 귀찮아서,, 하하

가장 만능에 가까운 Visual studio code 하나만 설치했습니다.

 

Vscode의 확장성은 뛰어납니다.

VScode의 Extension(확장) 기능을 통해 다양한 언어로 코딩이 가능합니다.

가장 잘 사용하는 Python 그리고 웹 프레임워크인 django, flask는 물론

C/C++, C#, HTML, JAVA, SQL 다양한 언어의 개발이 가능합니다.

 

물론 이게 공식 이미지도 아닐뿐더러

완전한 VSCode 프로그램이 아니다 보니

약간 호환성이 떨어지고 별도의 설정 방법이 필요해 귀찮습니다만

저는 그래도 나름 잘 사용했습니다.

 

 

 


다른글

 

 

네이버 애드포스트 사용자 개인정보 유출사례

안녕하세요 오늘은 2019년 4월 30일경에 발생한 네이버의 광고 서비스 애드포스트에서 이용자 2,200명의 개인정보가 유출된 사건에 대해 알아보겠습니다. 1. 사건개요 19년도 4월 30일경 네이버 측에

hobbylists.tistory.com

 

 

제주도 우도 여행일기 3일차

우도 여행일기 3일차 시작합니다. 평소 여행 다닐 땐 줘도 자느라 못 먹었던 조식인데 이상하게 여기서는 ...

blog.naver.com

 

 

300x250

댓글