Synology NAS에 홈페이지 만들고 도메인 연결하기

시놀로지 NAS에 Web 서비스를 활성화 시키고, 내 홈페이지(블로그) 등을 만들어서 특정 도메인으로 연결하는 방법이다.
참고 링크 : DNSEver이용해서 보유한 도메인으로 DDNS이용하기 (synology NAS DS710+)
위 내용과 거의 같은 내용을 포스팅함.
테스트용으로 쓰는 개인서버나 다름 없는데, 외부 접속시 간단한 URL로 접속하고 싶어서 도메인을 하나 구입해서 연결하기로 했다.
기존에는 ipTime 공유기에서 제공하는 DDNS를 사용하고 있었음. (물론 이건 현재도 사용 가능)
Synology DSM 자체적으로 제공하는 DDNS 서비스를 사용해도 되는데, 몇 달에 한 번씩 갱신을 해줘야 하는 터라 귀찮아서…
난 첨에 보유하고 있는 도메인 네임서버에 내 IP 주소 적으면 되는 줄 알았더라는… ㅋㅋㅋ;

일단 포트 포워딩 등 기본적인 공유기 셋팅은 다 되어있는 상태.

  • NAS :  synology 211
  • DSM 버전 : 5.1 (2015-03 현재)
  • 공유기 : ipTime N6004
  • 인터넷 라인 : KT FTTH
  • 연결하려는 도메인 : abcd.com (예시)

 

1. Web Station 활성화 하기

제어판 > 웹 서비스에서   Web Station 활성화에 체크해준다.

synology-dns-1
synology-dns-2

 

2. DNSever 가입, 도메인 추가, 네임서버 등록

DNSever는 유동적으로 변하는 NAS의 IP를 감지해서 해당 도메인으로 연결을 해 주는 서비스이다.
http://kr.dnsever.com
내가 가입할 당시엔 무료서비스 였으나, 현재는 사용량에 따라 과금되는 구조이다.
특별히 접속량이 많지 않다면 부담스럽지 않은 수준일거라고 생각한다.
가입 후 이메일 인증을 해준다.
그 후 좌측 메뉴에서 ‘도메인 추가‘ 메뉴에서  abcd.com을 추가해준다.

DNSever - 도메인 추가

그 후 좌측메뉴 하단을 보면 5개의 네임서버를 확인 할 수 있다.

DNSever의 네임서버 정보
도메인에 네임서버 셋팅하기


사용할 도메인 관리업체의 관리툴에서 위 네임서버를 입력해준다.
나는 godaddy.com에서 해당 도메인을 구입했기 때문에 godaddy.com의 Domain Manager에 있는 Control Panel에 들어가서 등록해 주었다.

그 후에 DNSever.com에 다시 가서 ‘도메인 목록’을 확인해 보면 ‘abcd.com의 네임서버 변경 건이 적용 중‘이라고 나올 것이다.
적용이 완료되면 아래와 같이 설정되어 있다는 메시지로 바뀐다.

dnsever-ok


3. 인증코드 확인

DNSever.com에서 abcd.com을 선택 후, 좌측의 ‘다이나믹 DNS 관리’ 메뉴에 들어 가서 ‘다이나믹 DNS 인증코드(authcode) 관리’를 클릭.

DNSever Dynamic DNS

다이나믹 DNS 인증코드 관리를 누르면 팝업 창이 뜨고, 계정 비번을 입력 후 인증코드를 확인 할 수 있다.
인증코드가 다음 과정에서 필요하니 해당 팝업을 띄워두거나, 인증코드를 복사해둔다.

4. 터미널로 NAS에 접속하기

Synology NAS 설정에서 SSH접속이 켜져 있어야 한다.
제어판 > 터미널 및 SNMP 에서 ‘SSH 서비스 활성화‘에 체크해준다.
그 후 터미널을 실행 후 아래 코드를 쓰면 된다.
비밀번호는 admin과 동일하다.

ssh root@아이피주소

* 혹시 root 권한으로 로그인이 되지 않는다면…

ssh admin@아이피주소
sudo -i
admin비밀번호 입력

참고 : https://www.synology.com/ko-kr/knowledgebase/DSM/tutorial/General_Setup/How_to_login_to_DSM_with_root_permission_via_SSH_Telnet

5. 이제 어려운 작업 : DNSEver 갱신용 쉘스크립트 작성하기

터미널로 나의 NAS에 접속한 후 아래 작업을 해준다.

cd /volume1/SysInit         // 난 Volume1에 Web 서비스를 사용 중이라서 이렇게 (디렉토리가 없다면 만들어 준다)
vi ddns.sh                  // ddns.sh 파일을 작성한다.

ddns.sh 파일 안에 아래 내용을 입력

#!/bin/sh
/usr/bin/wget -O --http-user=아이디 --http-passwd=인증코드 'http://dyna.dnsever.com/update.php?host[abcd.com]&host[*.abcd.com]'

한글로 써진 부분엔 맞는 내용 써주고, host 부분엔 abcd.com, *.abcd.com을 보통 입력해 주고, 2차 도메인을 쓸 경우 그걸 입력해도 된다.

테스트

chmod 707 /volume1/SysInit/ddns.sh       // 권한 변경
/volume1/SysInit/ddns.sh                 // 실행 테스트

테스트가 잘 완료되면 Update 되었다는 메시지가 표출된다.

NAS의 crontab에 아래처럼 내용을 추가해 준다.

vi /etc/crontab                          // crontab 파일을 수정 함
0       *       *       *       *       root    /volume1/SysInit/ddns.sh

NAS crond 재기동

/usr/syno/etc/rc.d/S04crond.sh stop
/usr/syno/etc/rc.d/S04crond.sh start

일단은 끝.

6. 2차 도메인을 설정한 경우

synology-dns-3

dev.abcd.com 처럼 2차 도메인을 설정해야할 경우이다.
NAS 제어판 > 웹서비스 > 가상호스트 메뉴에서 2차 도메인과 홈디렉토리를 입력해준다.

참고 : vi에디터 간단 명령어

나는 vi를 다룰 줄 모른다. 그래서 적어둠.
걍 보는거 말고 수정/입력을 하려면 Insert 키(또는 i)를 눌러야 한다.
입력모드에서 뷰모드로 가려면 ESC를 누른다.
뷰모드에서 명령어를 입력하면 젤 하단에 명령어 입력되는게 보인다.

:w 저장
:q 종료
:q! 강제종료
dd 한줄 지우기
p 붙여넣기

– 끝 –