우수한 소프트웨어와 실용적인 튜토리얼
Synology NAS에 기본 CloudFlare DDNS 기능을 추가하는 방법에 대한 자세한 가이드
시놀로지(시놀로지 DSM) 시스템의 기본 DDNS 기능은 CloudFlare를 지원하지 않지만 오픈 소스 스크립트를 사용하면 CloudFlare를 DDNS 공급자로 쉽게 추가하여 다음을 달성할 수 있습니다.동적 DNS(DDNS)를 사용하면 공용 IP가 변경될 때 NAS에서 도메인 이름 레코드를 자동으로 업데이트할 수 있습니다. 이 기능은 DSM 7.x 이상에 적용되며, 작업은 간단하지만SSH 접속전체 프로세스에는 타사 플러그인이 필요하지 않으며 DSM DDNS 인터페이스에서 직접 구성할 수 있습니다. 다음은 신뢰할 수 있는 튜토리얼을 기반으로 한 전체 단계입니다.
필수 조건
- CloudFlare 계정 및 도메인: CloudFlare에 추가된 도메인이 있고 CloudFlare의 NS 서버를 사용하고 있는지 확인하세요.
- 얻다존 ID: CloudFlare 대시보드에 로그인하고 도메인 개요 페이지로 이동하여 "Zone ID"(Zoom ID라고도 함, 일반적으로 023e105f4ecef8ad9ca31a8372d0c353과 같은 32자리 16진수 문자열)를 복사합니다.
- 만들다API 토큰:
- 입장 CloudFlare API 토큰 페이지.
- 토큰 만들기를 클릭하고 영역 DNS 템플릿을 선택합니다.
- 권한을 기본값(영역: DNS > 편집)으로 설정하고 "포함 > 특정 영역"(도메인 이름 지정)을 선택합니다.
- 토큰을 생성한 후 복사합니다(참고: 토큰은 "배포" 섹션에서 검색할 수 있지만 "API 키"에서는 검색할 수 없습니다).
- Synology SSH 활성화:
- DSM 제어판 > 터미널 및 SNMP로 이동하여 "SSH 서비스 사용"을 선택합니다(기본 포트는 22입니다).
- Windows용 PuTTY, Xshell 또는 OpenSSH와 같은 SSH 도구를 준비합니다.
- 지침: NAS 구성을 백업합니다. API 토큰은 기밀로 유지되어야 합니다. DDNS에 대한 하위 도메인을 만들고 CloudFlare DNS에 A 레코드를 추가하는 것이 좋습니다(프록시 종료즉, 주황색 구름 아이콘은 회색입니다.) 초기 IP 주소는 임의로 입력할 수 있습니다.
1단계: SSH를 통해 스크립트 설치
- SSH를 사용하여 NAS에 연결합니다.
- 호스트: NAS IP 주소, 포트: 22.
- 사용자 이름: DSM 관리자 계정, 비밀번호: DSM 로그인 비밀번호.
- 로그인 후 admin@NASName:~$와 같은 프롬프트가 표시됩니다.
- 루트 사용자로 전환:
- sudo -i(또는 su root)를 입력한 다음 관리자 비밀번호를 입력합니다(입력하는 동안 문자는 표시되지 않습니다).
- 성공 후 프롬프트는 root@NASName:~#로 변경됩니다.
- 스크립트를 다운로드하고 설치하세요:
- 다음 명령을 실행하여 스크립트를 다운로드합니다(이것은 오픈 소스입니다)클라우드플레어 DDNS설치 스크립트):
curl -L https://raw.githubusercontent.com/timothymiller/synology-cloudflare-ddns/master/cloudflare.sh -o /sbin/cloudflare
- 다운로드에 실패하거나 HTTP 오류가 발생하는 경우 스크립트를 수정해보세요(vi /sbin/cloudflare를 사용하여 6번째 줄을 편집하고 proxy="true"를 proxy="false"로 변경하세요).
- 실행 권한 부여:
chmod +x /sbin/클라우드플레어
- 스크립트를 실행하여 CloudFlare를 DDNS 목록에 추가합니다.
/sbin/클라우드플레어
스크립트는 자동으로 CloudFlare를 감지하여 공급자로 추가하고 DDNS 서비스를 다시 시작합니다(적용되기까지 몇 분 정도 걸릴 수 있습니다).
- 다음 명령을 실행하여 스크립트를 다운로드합니다(이것은 오픈 소스입니다)클라우드플레어 DDNS설치 스크립트):
- 루트와 SSH를 종료합니다:
- root를 종료하려면 exit를 입력하고, SSH를 종료하려면 exit를 입력합니다.
경고하다스크립트는 실행 중에 시스템 파일(예: /etc.defaults/ddns_provider.conf)을 수정합니다. DSM 업그레이드 시 이 파일이 덮어쓰일 수 있습니다. 업그레이드하기 전에 /etc/ddns_provider.conf 파일을 백업하는 것이 좋습니다. 스크립트에서 오류가 보고되면 네트워크를 확인하거나 스크립트를 수동으로 다운로드하여 붙여넣으세요.
2단계: DSM에서 DDNS 구성
- DSM 제어판 열기 > 외부 접근 > DDNS.
- 추가 버튼을 클릭하세요.
- 구성을 입력하세요:
- 서비스 제공자: "CloudFlare"를 선택하세요(스크립트가 추가된 후에 나타납니다).
- 호스트 이름: 하위 도메인(예: nas.example.com)을 입력하고 해당 A 레코드가 CloudFlare DNS에 추가되었는지 확인하세요(프록시는 꺼져 있어야 함).
- 사용자 이름/이메일: Zone ID를 붙여넣습니다.
- 비밀번호/키: API 토큰을 붙여넣습니다.
- 외부 주소: "현재 IP 주소 사용" 또는 "자동"을 선택합니다.
- "연결 테스트"를 클릭하여 확인합니다("연결 성공"이라고 표시되어야 함).
- '적용'을 클릭하여 저장하고 활성화하세요.
3단계: 확인 및 테스트
- CloudFlare DNS 페이지에서 하위 도메인의 A 레코드 IP가 공용 IP로 업데이트되었는지 확인하세요(curl ifconfig.me를 사용하여 현재 IP를 확인하세요).
- 외부 접속 테스트: 브라우저를 사용하여 http://nas.example.com:5000(DSM 기본 포트)에 접속하세요. DSM 로그인 페이지가 표시되어야 합니다.
- IP 변경 테스트: IP 변경을 시뮬레이션하거나 운영자가 다시 시작할 때까지 기다린 후 몇 분 후에 레코드가 업데이트되었는지 확인합니다.
자주 묻는 질문 및 참고 사항
- 스크립트 실패: DSM 버전 업데이트로 인해 스크립트가 유효하지 않게 되면 설치 명령을 다시 실행하거나 GitHub 저장소를 참조하세요. timothymiller/synology-cloudflare-ddns 고쳐 쓰다.
- 프록시 문제: CloudFlare 프록시(Orange Cloud)는 실제 IP를 숨기므로 DDNS에 적합하지 않습니다. 이 기능을 꺼야 합니다.
- 보안: API 토큰은 DNS 편집 권한으로 제한됩니다. 도메인 이름이 여러 개인 경우 전용 토큰을 생성하세요.
- 대체 방법스크립트를 사용하고 싶지 않다면 Docker를 사용하여 CloudFlare DDNS 컨테이너를 실행하거나 DNS-O-Matic과 같은 타사 공급자를 사용할 수 있지만, 네이티브 스크립트가 가장 간단합니다.
위 단계를 따르면 Synology에 기본 CloudFlare DDNS를 구현하고 무료로 안정적인 동적 해상도를 이용할 수 있습니다. 특정 오류가 발생하면 DSM 로그(제어판 > 로그 센터)를 확인하는 것이 좋습니다.
사용 시나리오
외부 네트워크와 CloudFlare에 호스팅된 도메인이 있습니다. DDNS 확인이 필요한데, ddns-go를 사용하고 싶지 않습니다.
사용 방법
Synology 구성
- Synology에 SSH를 실행하고 루트 사용자로 전환한 후 실행합니다.
wget https://mirror.czl.net/https://raw.githubusercontent.com/joshuaavalon/SynologyCloudflareDDNS/master/cloudflareddns.sh -O /sbin/cloudflareddns.sh
- 스크립트에 권한 부여
chmod +x /sbin/cloudflareddns.sh
- Synology 시스템에 Cloudflare의 DDNS 스크립트를 추가하고 먼저 붙여넣으세요.
고양이 >> /etc.defaults/ddns_provider.conf << EOF
그런 다음 붙여넣기
[클라우드플레어] 모듈 경로=/sbin/cloudflareddns.sh 쿼리 URL=https://www.cloudflare.com 웹사이트=https://www.cloudflare.com
마지막 붙여넣기
EOF
그냥 저장하세요
Cloudflare 매개변수 가져오기
- 지역 ID를 가져옵니다.
- 편집 가능DNS 레코드API 키
DDNS 설정
- 호스트 이름은 설정할 보조 도메인 이름입니다.
- 사용자 이름/이메일 섹션지역 ID
- 비밀번호/키 입력API 키
저장하고 활성화합니다.
