통합검색
로그인
회원가입
Open menu
로그인
회원가입
통합검색
Synology
7
AWS
5
Linux
30
PHP
9
Python
3
Javascript
24
HTML / CSS
12
ETC
4
떡볶이집앞 사진관
Synology
7
AWS
5
Linux
30
PHP
9
Python
3
Javascript
24
HTML / CSS
12
ETC
4
떡볶이집앞 사진관
Synology
[시놀로지] MailPlus Server 에서 AWS SMTP(SES)를 발송 릴레이 서버로 사용하기
시놀로지 NAS로 메일서버 구축시 문제점 시놀로지 NAS는 대부분 가정에서 운영된다. 시놀로지 메일플러스(MailPlus Server)를 통해 메일서버를 운영할때 가정에 제공되는 IP가 불량 아이피일 가능성이 클 뿐만 아니라, 수신 메일서버에서 스팸으로 필터링 되지 않기 위한 DKIM, whilte domain등 사전 작업은 만만치 않은 일이다. AWS에서 제공하는 SES(Simple Email Service)에서 SMTP를 제공받아 시놀로지 Mail plus의 릴레이 서버로 연동한다면 이 복잡한 작업을 AWS에 의존하여 메일서버를 운영할 수 있게 된다. 리전 선택 및 도메인 등록 SES 공식 웹페이지 https://ap-northeast-2.console.aws.amazon.com/ses/home 을 방문하여 리전을 서울로 변경한다. 도메인 등록을 위해 [구성 - 자격 증명] - [자격 증명 생성]을 클릭한다. 버튼을 클릭하여 자격 증명 화면에 접속한 다음 '보안 인증 유형'을 '도메인'으로 선택하고 '도메인' 입력 란에 이메일에 사용되는 도메인을 입력한다. (ex: email@chanyeongpark.com 인 경우 chanyeongpark.com 입력) 자격 증명 생성 과정에서 DKIM은 기본적으로 설정되니 따로 건드릴 설정 없이 바로 [자격 증명 생성] 버튼을 클릭하여 생성을 완료한다. 도메인 DKIM 레코드 설정 도메인에 대한 메일 신뢰도 검증을 위한 DKIM 설정을 위해 생성된 자격 증명 상세 화면으로 이동한다. 도메인 DNS에서 등록한 CNAME 레코드 값을 확인할 수 있다. 도메인에 레코드 등록을 위해 DNS 관리 화면으로 이동한다. 나의 경우 AWS route53 서비르를 통해 레코드를 추가했으나, 가비아, 후이즈 등 타사 DNS 관리 서비스의 레코드 등록 방법도 route53과 크게 다르지 않다. route53 서비스로 들어가 chanyeongpark.com 에 대한 [레코드 생성]을 클릭한다. 위와 같이 '레코드 유형'을 CNAME으로 선택한 다음 앞서 SES 에서 발급 받은 레코드 이름과 값을 복사하여 붙여넣는다. 발급 받은 3개의 레코드 모두 생성해 준다. SES SMTP 발급 도메인 DKIM 레코드 등록이 완료 되었다면, 메일 발송을 하기 위한 SMTP를 발급 받는다. 발급 받을 SMTP가 시놀로지와 연동될 정보다. [SMTP 설정 - SMTP 보안 인증 생성] 을 클릭하면, AWS IAM(인증 정보 관리) 자격 증명 생성 화면으로 이동하게 된다. SMTP 자격증명 정보가 자동으로 입력되므로 [사용자 생성] 을 클릭하여 자격 증명을 생성한다. 자격증명 생성이 완료되면 위와 같이 자격 증명 정보가 표시되는데, 이 정보가 시놀로지와 SES가 연동될 인증 정보다. SMTP 비밀번호는 이 화면에서만 확인 하거나 다운로드 가능하며 페이지를 벗어나는 경우 다시 확인할 수 없으니 반드시 메모장에 기록해 둔다. 시놀로지 MailPlus Server 에서 SES SMTP 연동 AWS SES 에서 SMTP 발급까지 완료 되었다면 시놀로지에서 발급 받은 SMTP를 릴레이로 연동할 순서다. 시놀로지 DMS에 접속하여 [Synology MailPlus Server] 패키지를 실행한 다음 [메일 배달 - 제공] 으로 이동하여 위와 같이 설정한 다음 [적용]을 클릭한다. 이후부터 시놀로지에서 메일을 발송하는 경우 NAS에서 직접 발송하지 않고, AWS SES의 SMTP로 릴레이하여 발송하게 된다.
[시놀로지] 작업 스케줄러를 활용하여 오래된 백업 파일 자동 삭제
시놀로지의 작업 스케줄러 리눅스 OS의 경우 정해진 시간에 주기적으로 스케줄을 등록하여 작업을 실행해 주는 Crond 데몬이 있다. 시놀로지는 Cron 작업을 DSM의 '작업 스케줄러' 라는 기능을 통해 제공하고 있다. 아래는 시놀로지 DMS에 내장된 '작업 스케줄러'를 통해 원하는 시간에 자동으로 스크립트를 수행하는 방법을 안내한다. 아래 예시에서는 웹서버로 부터 매일 자정 원격으로 NAS로 다운로드 되는 백업 폴더 중 10일이 지난 폴더를 자동 삭제하는 예시다. NAS로 자동 원격 다운로드 된 폴더들은 아래와 같다. ( /volume2/ServerBackup/ 경로 내 ) 작업 스케줄러 실행 시놀로지 DSM에 로그인 한 뒤 바탕화면 혹은 시작메뉴에 있는 [제어판]을 클릭한다. 제어판 창에서 [작업 스케줄러] 아이콘을 클릭한다. [작업 스케줄러] 화면 상단 [생성 - 예약된 작업 - 사용자 정의 스크립트] 메뉴를 클릭한다. 작업 생성 창 - [스케줄] 탭으로 이동하여 매일 자정에 스크립트가 실행될 수 있도록 위와 같이 설정한다. /volume2/ServerBackup/ 내의 10일이 지난 폴더를 자동 삭제하는 스크립트를 작성한 뒤 [확인]을 클릭하여 설정을 마친다. DIR=/volume2/ServerBackup find ${DIR}/ -mtime +10 -exec rm -rf {} \;
[시놀로지] DB server 환경 구축을 위한 docker + mariaDB 설치
시놀로지 나스에 도커(docker) 설치 AWS에서 제공하는 RDS와 같은 DB서버를 시놀로지 나스에서도 운영할 수 있다. 시놀로지 나스에 컨테이너 플랫폼인 도커(docker)를 설치한뒤 도커 컨테이너에 mariaDB를 설치하면 DB서버 환경 구축이 가능하다. mariaDB를 도커 위에 올려야 하기 때문에 도커 설치가 선행 되어야 한다. 시놀로지 나스에서 [패키지 센터] 를 실행한 뒤 docker 로 패키지를 검색하여 설치한다. 위 예시 화면에서는 이미 도커가 설치되어 있기 때문에 [설치] 버튼 대신 [업데이트] 버튼이 노출되고 있다. mariaDB에서 사용하기 위한 공유폴더 생성 도커 컨테이너에 설치되는 mariadb에 연결하여 사용할 공유폴더를 생성해야 한다. 공유폴더 내에 mariadb설정 정보 및 DB테이터가 저장된다. [제어판] - [공유 폴더] 를 클릭한다. 상단 [생성] - [공유 폴더 생성]을 클릭하여 공유 폴더 생성 마법사를 실행한다. 공유폴더 이름을 입력하고 '내 네트워크 환경에서 숨기기' 옵션을 활성화하여 불필요하게 네트워크 환경에서 노출되는 상황을 방지한다. ('휴지통 활성화' 옵션은 필수 옵션은 아니다.) [다음] 버튼을 클릭하여 단계별 설정을 수행한 뒤 공유폴더 생성을 마친다. 공유폴더의 '권한 편집' 창을 열어 SYSTEM에 모든 권한을 부여해야 도커 컨테이너 내부의 mariadb에서 읽고 쓸 수 있다. 공유 폴더 생성 및 권한 설정이 끝났다면 File Station 패키지를 통해 생성한 공유폴더 내에 DB 데이터와 설정 데이터가 위치할 하위 폴더를 각각 생성해 준다. conf.d 는 mariadb의 설정 파일이 저장될 폴더이며, mysql 은 mariadb의 DB 파일이 저장될 폴더다. docker 레지스트리 다운로드 및 컨테이너 설치 도커 컨테이너로 생성할 레지스트 이미지를 사전에 다운로드 해야한다. [도커] - [레지스트리] 로 접근한다. 상단 검색창에 'mariadb'를 입력하여 검색한뒤 검색 결과 중 'mariadb'를 더블클릭한다. '태그 선택' 창에서 원하는 mariadb 버전을 선택하거나, latest를 선택하여 가장 최근 버전의 레지스트리 이미지를 다운로드 받는다. 성공적으로 다운로드가 완료 되었다면 [이미지] 메뉴를 클릭하여 다운로드된 레지스트리를 확인할 수 있다. [도커] - [컨테이너] 로 이동한 다음 상단 [생성]버튼을 클릭하여 새로운 컨테이너 생성을 시작한다. [생성]버튼 클릭시 팝업되는 화면에서 직전 다운로드 받은 레지스트리 이미지를 선택한 뒤 [다음] 버튼을 클릭한다. 네트워크 설정 창에서 [다음] 버튼을 클릭한다. 일반 설정 화면에서 '높은 권한을 사용' 옵션을 체크하고 하단 [고급 설정]을 클릭하여 환경변수 설정 창을 연다. 환경변수는 도커 콘테이너에 설치될 mariadb에서 참조할 환경변수로 위 화면과 같이 MYSQL_ROOT_PASSWORD : mariadb root 패스워드 TZ : mariadb Timezone 을 추가한다. 고급 설정 창을 닫은 다음 일반 설정 창에서 [다음] 버튼을 클릭하여 다음 단계로 이동한다. 포트 설정 화면에서 로컬 및 컨테이너 포트를 설정한다. 외부에서 나스:3306포트로 접근시 컨테이너:3306포트로 트래픽을 전달 하겠다는 의미이며, mariadb의 기본 포트는 3306이므로 컨테이너 포트는 수정하지 않는 것을 권장한다. 로컬 포트는 자유롭게 변경 가능하되, 타 프로세스와 겹치지 않는 포트로 설정해야 한다. 볼륨 설정에서 등록한 폴더는 도커 컨테이너 내부에 설치된 mariadb와 연결된다. 위 [폴더 추가] 버튼을 클릭하여 화면과 같이 사전에 생성해둔 mariadb/conf.d 폴더를 선택하여 마운드 경로 /etc/mysql/conf.d 를 입력하고, mariadb/mysql 폴더를 선택하여 마운드 경로 /var/lib/mysql 을 입력한 다음 [다음] 을 클릭하여 컨테이너 생성을 마친다. 접속 테스트 도커에 mariadb가 성공적으로 설치되었는지 확인하기 위해 DB 접속 툴로 정상적으로 접속이 되는지 테스트 한다.
[시놀로지] docker에 설치한 minio(object storage) 주소를 도메인과 연동
minio '접속주소:9000' 를 도메인과 연동하기 도커(docker) 컨테이너에 오브젝트 스토리지 minio를 설치하여 스토리지에 접속하는 경우 나스접속주소:9000 과 같이 포트 번호로 접속하게 되는데, 포트번호 없이 보유한 도메인 주소로 접속할 수 있도록 설정하는 방법을 안내하고자 한다. 아래 설명에서는 도메인 주소 storage.domain.com 을 보유하고 있다는 가정으로 한다. 역방향 프록시 설정 오브젝트 스토리지를 sdk로 접근하는 경우 보통 웹프로토콜 (http 혹은 https) 프로토콜로 접근하게 되는데, 도메인 주소를 통해 웹프로토콜로 접근하는 경우 시놀로지의 '역방향 프록시'를 거쳐 도커 컨테이너 내부 9000포트로 트래픽을 전달할 수 있게 된다. 역방향 프록시는 시놀로지 나스의 [제어판]에서 설정 가능하다. [제어판] - [로그인 포털] - [고급]탭 - [역방향 프록시]를 클릭하여 설정 창을 연 다음 상단 [생성] 버튼을 클릭한다. 위와같이 프록시 규칙 추가 창에 보유한 도메인(storage.domain.com) 과 포트번호(9000)를 입력후 [저장]을 클릭한다. 위와 같이 storage.domain.com 도메인을 역방향 프록시로 등록한 경우 웹브라우저에서 storage.domain.com 접속시 나스접속주소:9000 과 동일한 화면으로 접속되는 것을 확인할 수 있다. 도메인 주소 인증서 발급 및 역방향 프록시 규칙에 등록 (https://) 위와 같이 진행한 경우 http://storage.domain.com 주소로 접속시에만 오브젝트 스토리지 접속이 가능한데, 보통 웹사이트는 인증서가 설치되어 있어 https:// 프로토콜이 활성화 되어 있으므로 웹사이트에서 sdk로 오브젝트 스토리지 접근을 시도할 때 Cross domain 정책으로 접근이 되지 않을 수 있다. 따라서, storage.domain.com 도메인에 대한 인증서가 시놀로지 나스에 설치되어 https://storage.domain.com 접속이 가능하도록 셋팅 되어야 하는데, 아래와 같은 방법으로 설정 가능하다. [제어판] - [보안] - [추가]를 클릭하여 인증서 생성 창을 연다. 생성 팡에서 '새 인증서 추가'를 선택한 다음 [다음]을 클릭하여 다음 단계로 넘어간다. 타 기관에서 유료로 구매한 ssl 인증서를 보유하고 있다면 '인증서 가져오기'를 선택하여 인증서를 추가하면 되지만, 보유한 인증서가 없는 경우 위 화면과 같이 Let's Encrypt 무료 인증서를 신규 발급 받으면 된다. 인증서를 등록할 도메인 주소 storage.domain.com를 입력한 뒤 [완료]를 클릭하여 인증서 발급을 완료한다. 이 때, 앞서 http:// 도메인에 대한 역방향 프록시 규칙이 추가되어 있지 않은 겨이우 인증서 발급이 불가하므로 유의하도록 한다. 앞서 진행했던 것과 마찬가지로 [제어판] - [로그인 포털] - [고급] - [역방향 프록시] - [생성] 버튼을 클릭하여 등록 창을 연다. 'HSTS활성화'를 클릭하여 도메인 주소로 접속시 강제로 https:// 프로토콜로 접속 되도록 한다.
[시놀로지] object storage 환경 구축을 위한 docker + minio 설치
시놀로지 나스에 도커(docker) 설치 AWS에서 제공하는 s3와 같은 object storage를 시놀로지 나스에서도 운영할 수 있다. 시놀로지 나스에 컨테이너 플랫폼인 도커(docker)를 설치한뒤 도커 컨테이너에 minio 라는 스토리지서버 소프트웨어를 설치하면 s3 sdk 와 연동되는 오브젝트 스토리지 환경 구축이 가능하다. minio를 도커 위에 올려야 하기 때문에 도커 설치가 선행 되어야 한다. 시놀로지 나스에서 [패키지 센터] 를 실행한 뒤 docker 로 패키지를 검색하여 설치한다. 위 예시 화면에서는 이미 도커가 설치되어 있기 때문에 [설치] 버튼 대신 [업데이트] 버튼이 노출되고 있다. minio에서 사용하기 위한 공유폴더 생성 도커 컨테이너에 설치되는 minio에 연결하여 사용할 공유폴더를 생성해야 한다. 공유폴더 내에 minio 설정 정보 및 오브젝트 스토리지에 업로드된 객체들이 저장된다. [제어판] - [공유 폴더] 를 클릭한다. 상단 [생성] - [공유 폴더 생성]을 클릭하여 공유 폴더 생성 마법사를 실행한다. 공유폴더 이름을 입력하고 '내 네트워크 환경에서 숨기기' 옵션을 활성화하여 불필요하게 네트워크 환경에서 노출되는 상황을 방지한다. '휴지통 활성화' 옵션은 필수 옵션은 아니다. docker 레지스트리 다운로드 및 컨테이너 설치 도커 컨테이너로 생성할 레지스트 이미지를 사전에 다운로드 해야한다. [도커] - [레지스트리] 로 접근한다. 상단 검색창에 'minio'를 입력하여 검색한뒤 검색 결과 중 'minio / minio'를 더블클릭한다. '태그 선택' 창에서 원하는 minio 버전의 이미지를 다운로드 받을 수 있는데, 가장 최근 버전을 다운로드 받기 위해 'latest'를 선택 후 [선택] 버튼을 클릭한다. [도커] - [컨테이너] 로 이동한 다음 상단 [생성]버튼을 클릭하여 새로운 컨테이너 생성을 시작한다. [생성]버튼 클릭시 팝업되는 화면에서 직전 다운로드 받은 레지스트리 이미지를 선택한 뒤 [다음] 버튼을 클릭한다. 네트워크 설정 창에서 [다음] 버튼을 클릭한다. 일반 설정 화면에서 '높은 권한을 사용' 옵션을 체크하고 하단 [고급 설정]을 클릭하여 환경변수 설정 창을 연다. 환경변수는 도커 콘테이너에 설치될 minio에서 참조할 환경변수로 위 화면과 같이 MINIO_ROOT_USER : minio root 로그인 아이디 MINIO_ROOT_PASSWORD : minio root 로그인 패스워드 를 추가한다. MINIO_BROWSER 옵션은 웹브라우저에서 오브젝트 스토리지 관리 콘솔 및 파일 브라우저를 실행할 것인지를 설정하는 옵션으로 off로 설정시 웹브라우저에서 오브젝트 스토리지를 객체를 관리할 수 없으며, sdk 와 같은 보조 도구를 통해 접근이 가능하게 된다. [실행 명령] 탭으로 이동하여 '명령' 란에 minio server --console-address :9001 /data 를 입력한다음 [저장]을 클릭하여 설정 창을 닫은 다음 컨테이너 생성 마법사로 돌아와 [다음]을 클릭하여 포트 설정 단계로 이동한다. 포트 설정 화면에서 로컬 및 컨테이너 포트를 설정한다. 외부에서 나스:9000 포트로 접근시 컨테이너:9000 포트로 트래픽을 전달 하겠다는 의미이며, minio의 기본 포트는 9000이므로(minio console은 9001 이다) 컨테이너 포트는 수정하지 않는 것을 권장한다. 로컬 포트는 자유롭게 변경 가능하되, 타 프로세스와 겹치지 않는 포트로 설정해야 한다. [다음]을 클릭하여 볼륨 설정 단계로 넘어간다. 볼륨 설정에서 등록한 폴더는 도커 컨테이너 내부에 설치된 minio 와 연결된다. 위 [폴더 추가] 버튼을 클릭하여 화면과 같이 사전에 생성해둔 minioFolder를 선택하여 마운트 경로 /data 를 입력하고, File station을 통해 minioFolder 하위에 생성한 minioFolder/docker/minio/config 폴더를 선택하여 마운트 경로 /root/.minio 를 입력한 다음 [다음] 버튼을 클릭한다. 위와 같이 폴더를 마운트 하면 오브젝트 스토리지에서 업로드되는 객체들은 minioFolder에 저장되며, 설정 관련 파일들은 minioFolder/docker/minio/config에 저장된다. [다음]을 클릭하여 컨테이너 생성을 모두 마친다. 접속 테스트 도커에 minio가 성공적으로 설치되었는지 확인하기 위해 웹브라우저에서 나스접속주소:9000 으로 접속하여 root 로그인 화면이 접속 되는지 확인한다. 위 화면과 같이 노출 된다면 설치가 모두 완료된 것이며, 로그인 정보는 앞서 환경변수에서 등록한 MINIO_ROOT_USER 와 MINIO_ROOT_PASSWD 정보로 로그인 하면 된다. 만약, 환경변수에서 MINIO_BROWSER 를 off 로 설정했다면 로그인 화면 접속이 되지 않으니 주의해야 한다.
[시놀로지] 시놀로지 나스와 구글 DDNS 연결하기
시놀로지의 DDNS 연결 기능 시놀로지 NAS는 보편적으로 가정용 인터넷 환경에 설치되어 운용되는데, 가정용 회선의 경우 주기적으로 IP가 변경되는 유동 IP 환경이다. 아이피가 변경되는 경우 시놀로지에 접속할 수 없는 경우가 발생하며, 이 경우 시놀로지 나스에서 제공하는 DDNS연결 기능을 이용하게 되는데 이번 글에서는 시놀로지 나스와 구글DDNS 연결 방법을 설명하고자 한다. 일반적인 DDNS 서비스 시놀로지 NAS에서 연동 가능한 DDNS서비스는 일반적으로 DDNS 제공 업체에서 제공하는 서브도메인으로 DDNS주소가 생성된다. 예컨대 Synology DDNS를 시놀로지 나스에서 연동한 경우 (설정한아이디).synology.me 주소로 DDNS 도메인이 생성되어 아이피가 변경된 나스로 접속이 가능하다. 구글 DDNS를 추천하는 이유 시놀로지 NAS에서 연동 가능한 DDNS서비스는 일반적으로 DDNS 제공 업체에서 제공하는 서브도메인으로 DDNS주소가 생성되는 반면, 구글 DDNS는 현재 내가 보유중인 도메인 (.com, .net 등)으로 ddns 주소를 생성할 수 있다. 예를 들어, 내가 보유한 도메인이 coffeebottle.net 이라면, ddns.coffeebottle.net 으로 ddns 주소를 생성하여 나스 접속이 가능하다는 뜻이다. 구글 DDNS를 이용하기에 앞서. 구글 DDNS를 이용하기에 앞서, 가비아, 후이즈 등 국내 도메인 업체에서 관리중인 도메인을 '구글도메인(https://domains.google.com) 으로 도메인 이전하여 관리해야 한다. 다만, 구글도메인 서비스는 국내 .kr 도메인을 지원하지 않는다는 점을 명심해야 한다. '구글도메인' 으로 도메인 이전은 다른 글에서 다루기로 한다. 이 글의 DDNS설정 방법은 내 도메인이 구글도메인으로 이전되어 관리 된다는 전제로 작성되었다. 구글도메인에서 ddns 주소 생성하기 내 도메인이 구글도메인에 정상적으로 이전되었다면, 이제 ddns 주소를 생성해볼 차례. 구글도메인 관리 콘솔로 이동하여 내 도메인 목록 중 ddns를 생성하고자 하는 도메인을 클릭하여 도메인 관리 페이지로 이동한다. 좌측 관리 메뉴 중 'DNS'를 선택하여 DNS 관리 페이지로 이동한다. DNS 관리 페이지에서 스크롤를 아래로 내리다 보면 '종합 레코드' 섹션이 보인다. 종합 레코드에서 유형을 '동적 DNS'로 선택한다. 유형을 '동적 DNS'로 선택 후 생성하려는 주소에 원하는 2차 도메인명을 입력한다. 예시 화면에서는 ddns.coffeebottle.net 으로 입력했다. 주소 입력 후 [추가] 버튼을 클릭하면 ddns 주소 생성이 완료되어 해당 주소에 NAS IP주소 정보를 실시간 이식 시켜줄 준비가 완료되었다. 시놀로지 NAS에서 구글 DDNS 연동 구글에서 생성한 ddns 주소를 시놀로지 NAS에 연동하여 실시간으로 변경되는 ip주소를 ddns주소에 이식시켜 줄 차례다. 기본적으로 시놀로지 NAS의 제어판에서는 구글 ddns를 쉽게 연동할 수 있도록 제공하고 있어 어려움 없이 구글 ddns 연동이 가능하다. '제어판 - 외부 액세스' 로 이동하여 DDNS 등록할 준비를 한다. 우측 [추가] 버튼을 클릭하여 DDNS 등록 창을 열고, 등록 창에서 '서비스 제공업체' 항목 을 'Google'로 선택한다. 앞서 구글도메인에서 생성한 내 ddns 주소 (ex: ddns.coffeebottle.net)을 입력, 구글 로그인 정보를 입력 후 [확인]버튼을 클릭하면 모든 연동이 끝난다. 위 과정을 모두 마치면 시놀로지 NAS가 실시간으로 변경된 ip를 추적하고, ip가 변경된 경우 ddns.coffeebottle.net 도메인으로 변경된 ip주소를 이식시켜 주게 된다. 인터넷 브라우저 창에서 ddns.coffeebottle.net 으로 접속하면 내 NAS가 정상적으로 뜨게 되는 것을 확인할 수 있을 것이다.
[시놀로지] NAS의 IP가 변경되는 경우(유동IP) 도메인 접속 안되는 문제 대응 방법
시놀로지 NAS의 유동IP 환경의 문제 점. 내 시놀로지 NAS는 현재 집 PC룸에 설치되어 있다. 일반 가정의 인터넷 환경은 유동IP가 일반적이므로 NAS를 운영하다 보면 예측못한 불시에 IP가 변경되어 NAS에 연결해 놓은 도메인이 접속이 되지 않는 경우가 있다. 아이피가 변경된 경우 연결해 놓은 도메인 및 서브도메인의 접속이 불가하고, 변경된 아이피 주소를 알 수 없어 집 밖에 나와있는 경우에는 즉각적인 해결이 불가능하다. 그래서 이번 포스팅에서는 - 시놀로지 NAS에서 DDNS 를 설정하여 아이피 대신 ooo.synology.me 로 대체하는 방법 - ooo.synology.me 를 cname으로 도메인 및 서브도메인 설정하는 방법 을 다뤄 보기로 한다. NAS 도메인 구성의 가정. 현재 NAS에 연결된 도메인 구성은 아래와 같이 예를 든다. 1.2.3.4 아이피 → 현재 NAS의 아이피 nas.domain.com:5000 → NAS 관리페이지로 연결 drive.domain.com → Drive 앱 연결 photo.domain.com → Moments 앱 연결 현재 위 세개의 도메인은 'A레코드 ' 설정에서 NAS의 아이피 1.2.3.4 로 설정되어 있으며, 만약 아이피가 불시에 1.2.3.5 로 변경 된다고 가정하면, A레코드로 설정한 위 모든 도메인의 접속이 불가능 해지는 상황이다. 1. NAS에서 DDNS 설정 DDNS란, 유동 아이피 환경에서 수시로 변경되는 아이피를 실시간으로 추적해서 'DDNS 주소'로 접속 가능하도록 해 주는 서비스다. 시놀로지 NAS에서는 DDNS를 간단한 방법으로 설정할 수 있도록 되어 있다. DDNS를 설정하는 것은 다른 포스팅에서도 다루었 듯 - 공유기(Gateway)에서 설정하는 방법 과 - 시놀로지 NAS 관리자에서 설정하는 방법 두 가지의 방법이 있지만, 이 포스팅에서는 초보자들을 위해 시놀로지 나스에서 설정하는 방법을 다루도록 한다. 먼저, 시놀로지 NAS 관리화면에 접속한다. 관리 화면에 접속한 뒤 관리자 아이디 및 패스워드를 입력 후 로그인 한다. 일반적으로 관리화면 접속 주소는 http://NAS아이피:5000 이다. 관리 화면에서 제어판 > 외부 액세스 메뉴에 접근하고 상단 탭 메뉴의 [DDNS] 에서 [추가] 버튼을 클릭한다. DDNS 추가 설정 창에서 '서비스 제공업체'에서 사용을 원하는 DDNS 서비스 업체를 선택하면 되는데, 이 포스팅에서는 이해를 돕기 위해 'Synology' 기본 DDNS 업체를 선택 하였다. DDNS 업체를 선택한 뒤 '호스트 이름'에 사용을 원하는 주소를 설정하고, 'Heartbeat'를 '사용' 으로 설정한다. Heartbeat 는 실시간으로 아이피 주소의 변경 유무를 체크하고, 아이피 주소가 바뀐 경우 NAS 관리자 이메일로 변경 내역을 발송해 주는 기능 옵션이다. 위 설정을 모두 마치고 [확인] 버튼을 클릭하는 순간, http://yourid.synology.me:5000 으로 접속하는 경우 관리화면으로 접속할 수 있게 된다. 기존 http://1.2.3.4:5000 으로 접속하던 것을 http://yourid.synology.me:5000 주소로 접속할 수 있게 된 것이다. 만약, 아이피가 1.2.3.5로 바뀌더라도 위 주소로 접속시 바뀐 아이피로 접속이 된다는 의미다. 2. 도메인 cname 설정 앞서 도메인(서브도메인) 설정이 'A레코드'로 설정되어 있다고 언급했듯, 도메인의 A레코드에 NAS 아이피로 설정을 하게 되는 경우, 아이피가 변경되면 도메인 접속이 되지 않는 문제점이 발생한다. (아이피 변경시 도메인의 A레코드를 수동으로 직접 변경해 주어야만 다시 접속이 된다.) 때문에 기존 'A레코드' 방식에서 'cname'방식으로 변경하여 아이피가 바뀌어도 자동으로 도메인이 인식 하도록 해주어야 한다. cname 적용은 아래 이미지를 참고하면 된다. 위 화면처럼 기존 A레코드 설정을 모두 지운 뒤 CNAME 설정에 NAS에서 생성한 userid.synology.me. 를 입력해주면 된다. 이 때 userid.synology.me. 뒤에 마침표(.)를 반드시 입력해야 함을 유의한다. cname은 기존 A레코드 설정에서 1.2.3.4 아이피 주소를 직접 입력하는 것 대신 userid.synology.me. 를 입력하여 userid.synology.me. 에 기록된 아이피 주소를 자동으로 리턴 받아 도메인이 연결 되도록 해주는 설정 기능이다. 따라서, cname 설정을 통해 NAS의 아이피가 변경 되더라도 도메인이 정상적으로 접속되도록 할 수 있다.
1