작업실

클라우드플레어 무료 DDNS서비스로 멀티 서브도메인까지 한번에 업데이트 하기

컨텐츠 정보

본문

DNS 서비스는 이때까지 DNSever를 이용하고 있었습니다만 이번에 테스트 도메인을 구매하면서 새로운 곳을 찾아봤습니다.

 

아무래도 무료이면서 신뢰성도 높은 곳을 찾게 마련인데요.

 

역시 클라우드플레어(CloudFlare)가 제일 무난한 것 같더라구요.

 

저도 대세에 맞게 사용해보니 정말 쉽게 설정이 가능하더군요.

 

한가지 아쉬운 점은 DDNS 업데이트가 조금 번거로운 것입니다.

 

DNSever의 경우 홈페이지(링크)에 있는 것처럼 쉽게 적용할 수 있게 나와있지만 클라우드 플레어는 조금 찾아봐야 되더라구요.

 

 

구글신님은 모든 것을 알고 계셨습니다. ㅎㅎ

 

그런데 대부분의 내용이 1개의 도메인 만을 위한 스크립트가 많더라구요.

 

저는 여러 서브도메인을 운영하다보니 동시에 3-4개 사이트가 업데이트 되길 원했습니다.

 

제가 참고한 사이트입니다.

 

https://techjourney.net/update-cloudflare-as-dynamic-dns-ddns/  : 무려 4가지 방법을 제시하고 있습니다.

 

http://www.clien.net/cs2/bbs/board.php?bo_table=lecture&wr_id=319669  : 클리앙의 능력자분의 글 

 

https://blog.elpo.net/cloudflare-ddns-with-ddclient/  : ddclient를 이용하는 글 

 

 

첫번째 사이트에 보시면 잘 나와있는데, 그 중에 2번째 방법을 응용했습니다.

 

응용이라고 하긴 무식한 방법이긴 하지만 제일 잘되더라구요. ㅎㅎ

 

 

기본적인 구성이

 

#!/bin/sh

NEW_IP=`wget -O - -q https://ifconfig.co/ip`

CURRENT_IP=`cat /var/tmp/current_ip.txt`

 

if [ "$NEW_IP" = "$CURRENT_IP" ]

then

        echo "No Change in IP Adddress"

else

        curl https://www.cloudflare.com/api_json.html \

          -d 'a=rec_edit' \

          -d 'tkn=클라우드플레어API키' \

          -d 'email=클라우드플레어이메일' \

          -d 'z=도메인' \

          -d 'id=도메인레코드아이디이건도메인마다다다릅니다' \

          -d 'type=A' \

          -d 'name=도메인또는서브도메인만예를들어wsgvet.com만적거나www만적기.www만적으면www.wsgvet.com으로인식합니다.' \

          -d 'ttl=1' \

          -d "content=$NEW_IP"

        echo $NEW_IP > /var/tmp/current_ip.txt

fi

 

위와 같은데요.

 

curl을 원하는 만큼 돌려주시면 됩니다.제일 중요한건 도메인레코드아이디와 도메인네임을 잘 바꿔주시는 겁니다.

 

예를 들어 루트 도메인, 2개의 서브도메인으로 총 3개의 도메인이 있다고 하면, 3번 돌리면 됩니다.

 

#!/bin/sh

NEW_IP=`wget -O - -q https://ifconfig.co/ip`

CURRENT_IP=`cat /var/tmp/current_ip.txt`

 

if [ "$NEW_IP" = "$CURRENT_IP" ]

then

        echo "No Change in IP Adddress"

else

        curl https://www.cloudflare.com/api_json.html \

          -d 'a=rec_edit' \

          -d 'tkn=클라우드플레어API키' \

          -d 'email=클라우드플레어이메일' \

          -d 'z=루트도메인' \

          -d 'id=루트도메인코드아이디' \

          -d 'type=A' \

          -d 'name=루트도메인' \

          -d 'ttl=1' \

          -d "content=$NEW_IP"

        curl https://www.cloudflare.com/api_json.html \

          -d 'a=rec_edit' \

          -d 'tkn=클라우드플레어API키' \

          -d 'email=클라우드플레어이메일' \

          -d 'z=루트도메인' \

          -d 'id=1번서브도메인레코드아이디' \

          -d 'type=A' \

          -d 'name=1번서브도메인의앞에있는부분.예를들어www.wsgvet.com이면www만넣으면됩니다.' \

          -d 'ttl=1' \

          -d "content=$NEW_IP"

        curl https://www.cloudflare.com/api_json.html \

          -d 'a=rec_edit' \

          -d 'tkn=클라우드플레어API키' \

          -d 'email=클라우드플레어이메일' \

          -d 'z=루트도메인' \

          -d 'id=2번서브도메인레코드아이디' \

          -d 'type=A' \

          -d 'name=2번서브도메인의앞에있는부분.예를들어test.wsgvet.com이면test만넣으면됩니다.' \

          -d 'ttl=1' \

          -d "content=$NEW_IP"

        echo $NEW_IP > /var/tmp/current_ip.txt

fi

 

위와 같이 3번 돌려주면 각각 업데이트가 됩니다. ㅎㅎ

 

관련자료

댓글 2 / 1 페이지

샤샤샤샤샷샤님의 댓글

안녕하세요, 이 스크립트를 시놀로지 NAS에 적용이 가능할까요? 한개의 나스에서 여러 도메인을 관리해야해서요..
전체 157 / 9 페이지
RSS

최근글


새댓글


알림 0