시놀로지 NAS를 활용하여 클라우드플레어 DDNS를 설정하고 와일드카드 인증서를 발급받는 방법을 알아보겠습니다. 본 가이드는 DS1821+와 DSM 7.0.1을 기준으로 하며, DS920+에서도 적용 가능합니다. SSH 접속과 root 권한이 필요하며, 클라우드플레어 API 토큰을 생성해야 합니다.
목차
클라우드플레어 API 토큰 생성
API 토큰 발급 방법
- 클라우드플레어에 로그인 후 API 토큰 발급 페이지로 이동합니다.
클라우드플레어 API 토큰 발급하기 - ‘토큰 생성’ 버튼을 클릭하고, 필요한 기능으로 “영역 DNS 편집”을 선택합니다.
- 여러 도메인을 관리하는 경우, 적용할 도메인만 지정하는 것이 안전합니다.
- 클라이언트 IP 주소 필터링 옵션은 비워두는 것이 좋습니다.
- 마지막으로 토큰을 생성하면, 이 토큰은 이후 다시 표시되지 않으므로 안전하게 보관해야 합니다.
acme.sh 설치 및 인증서 발급
acme.sh 설치
- SSH를 통해 NAS에 접속합니다.
- 아래 명령어를 입력하여 acme.sh를 설치합니다.
bash
sudo -i
cd ~
wget https://github.com/acmesh-official/acme.sh/archive/master.tar.gz
tar xvf master.tar.gz
cd acme.sh-master/
./acme.sh --install --nocron --home /usr/local/share/acme.sh --accountemail "이메일"
source ~/.profile
환경 변수 설정
- 클라우드플레어 계정의 이메일과 API 토큰을 환경 변수로 설정합니다.
bash
export CF_Email="이메일"
export CF_Token="위에서 생성한 API 토큰"
인증서 발급
- 아래 명령어를 통해 와일드카드 인증서를 발급받습니다.
bash
cd /usr/local/share/acme.sh
export CERT_DNS="dns_cf"
./acme.sh --issue --home . -d '내 도메인' -d '*.내 도메인' --dns "$CERT_DNS"
기본 인증서 교체
- 발급받은 인증서를 시놀로지 DSM의 기본 인증서로 교체합니다.
bash
cd /usr/local/share/acme.sh
export SYNO_Username='관리자 계정'
export SYNO_Password='암호'
export SYNO_Certificate="인증서설명"
./acme.sh --deploy --home . -d '도메인' -d '*.도메인' --deploy-hook synology_dsm
인증서 갱신 설정
갱신 스케줄 설정
- 제어판에서 작업 스케줄러를 열고, 예약된 작업을 생성합니다.
- 스케줄을 매주로 설정하고, 아래 스크립트를 실행하도록 합니다.
bash
/usr/local/share/acme.sh/acme.sh --cron --home /usr/local/share/acme.sh/
추가 도메인 등록
- 다른 도메인을 추가로 등록할 경우, 아래 명령어를 사용합니다.
bash
./acme.sh --issue --home . -d '추가할 도메인' -d '*.추가할 도메인' --dns "$CERT_DNS"
export SYNO_Certificate="A different certificate"
export SYNO_Create=1
./acme.sh --deploy --home . -d "추가할 도메인" -d '*.추가할 도메인' --deploy-hook synology_dsm
주의사항 및 추가 정보
- 기존 인증서를 사용하는 경우, 반드시 삭제 후 재부팅하여 작업을 진행하는 것이 좋습니다.
- DSM 업그레이드 후 환경 변수를 수정해야 할 수 있으니, 아래 명령어를 사용하여 업그레이드합니다.
bash
cd /usr/local/share/acme.sh
./acme.sh --force --upgrade --nocron --home /usr/local/share/acme.sh
자주 묻는 질문
클라우드플레어 DDNS 설정 시 주의해야 할 점은 무엇인가요?
DDNS 설정 시, 클라이언트 IP 주소 필터링을 비워두는 것이 좋습니다. 이는 IP 주소 변경에 대응하기 위해서입니다.
인증서 발급에 실패할 경우 어떻게 해야 하나요?
인증서 발급 시 문제가 발생하면, 계정 등록을 먼저 시도해보세요. --register-account -m 이메일 옵션을 추가하면 해결될 수 있습니다.
인증서 갱신은 어떻게 설정하나요?
작업 스케줄러에서 매주 또는 매월 갱신 스케줄을 설정할 수 있으며, 갱신 스크립트를 추가하면 됩니다.
