모종의 이유로 인하여 Synology NAS를 몇일 간 종료시켜 놔야할 일이 있었다.
오랜만에 부팅된 Synology NAS는 통신사로부터 다른 공인IP를 할당받아서... Synology NAS에서 서비스 중인 컨테이너와 웹뿐만 아니라.. CloudFlare의 도메인 레코드 또한 수동으로 바꾸어 주어야 하는 대참사가 발생했었다..
이러한 경우, DDNS(Dynamic Domain Name Service)를 등록하면, Synology가 할당받은 공인 IP가 달라지더라도, (기본적으로) 하루 단위로 실제 장비 NIC에서 할당받은 IP주소와 Domain 주소를 자동으로 갱신하여 도메인 주소를 전파시킨다.
CloudFlare에서는 무료 및 하위 티어 에서도 DDNS를 지원하고 있지만, Synology NAS의 DSM에서는 CloudFlare의 DDNS 등록 서비스를 공식적으로 지원하고 있지 않다. 따라서, Synology NAS에 SSH로 접속하여 CloudFlare의 DDNS 등록 서비스를 활성화 시키는 소스코드를 Git repo에서 받아와 등록하여야 한다.
Synology NAS에 CloudFlare DDNS 등록 구성 추가
GitHub repo : github.com/namukcom/SynologyCloudFlareDDNS
자동설치하는 경우에는, Synology NAS에 Python3가 설치되어 있어야 한다.
1. Synology NAS에 SSH로 접속한다.
- sudo 권한으로 변경한다.
sudo -i
2. 아래 명령어를 입력하여 설치한다.
자동설치 명령어를 실행하였지만 서비스 공급자에 CloudFlare가 추가되지 않은 경우, 수동설치 명령어를 사용하여 설치한다. 본인의 경우 자동설치로 CloudFlare가 추가되지 않아 수동설치로 정상적으로 등록하였다.
- 자동설치의 경우
sudo curl https://raw.githubusercontent.com/namukcom/SynologyCloudflareDDNS/master/setddns.py | python3 -
- 수동설치의 경우
sudo curl https://raw.githubusercontent.com/namukcom/SynologyCloudflareDDNS/master/cloudflare.php -o /usr/syno/bin/ddns/cloudflare.php && sudo chmod 755 /usr/syno/bin/ddns/cloudflare.php
3. vi를 사용하여 conf 파일을 수정한다. (이미 작성되어 있는 경우 pass)
sudo vi /etc.defaults/ddns_provider.conf
[Cloudflare]
modulepath=/usr/syno/bin/ddns/cloudflare.php
queryurl=https://www.cloudflare.com/
4. Synology 제어판에서 DDNS 서비스 공급자로 CloudFlare가 추가되었는지 확인하기
제어판 -> 외부 액세스 -> DDNS 탭에서 '추가' 버튼을 누르고, 서비스 공급자를 확인하면 CloudFlare가 추가된 것을 확인할 수 있다.
5. CloudFlare에 접속하여 Global API Key를 복사한다.
- 아래 사이트에 접속한다.
https://dash.cloudflare.com/profile/api-tokens
- 보기 버튼을 눌러 Global API Key를 복사한다.
6. Synology NAS에서 CloudFlare DDNS 서비스 신청하기
아래 예시를 참고하여 본인 정보에 맞게 입력한다.
- 서비스 공급자 : CloudFlare
- 호스트 이름 : DDNS 설정할 도메인 (CloudFlare에 등록된 도메인 주소)
- 사용자 이름/이메일 : CloudFlare 계정의 이메일 주소
- 패스워드/키 : CloudFlare 홈페이지에서 획득한 Global API Key
정보 입력 후, 하단의 '연결 테스트' 버튼을 눌러 '정상' 으로 표기되는지 확인 한 후, 확인 버튼 누르기
결과
- 아래 사진과 같이 정상적으로 CloudFlare의 DDNS 서비스를 신청하여 등록된 것을 확인할 수 있다.
'TroubleShootings > 삽질 예방 접종 센터' 카테고리의 다른 글
[Docker] Docker(도커) 1분안에 설치하기 (docker-installer.sh) (0) | 2024.05.03 |
---|---|
[C#] 'Windows 보호된 메모리 읽거나 쓰려고 했습니다' 해결 방법 (0) | 2024.05.01 |
Synology NAS Reverse proxy Websocket 설정 방법 (0) | 2024.02.03 |
시놀로지 NAS reverse proxy(역방향 프록시) 환경에서 SSH/VNC 기능 사용하기 (0) | 2024.02.03 |
[Linux] Ubuntu 일반 사용자 계정 sudo 권한 추가하기 (0) | 2023.12.11 |