작업실

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

컨텐츠 정보

  • 10,980 조회
  • 2 댓글
  • 0 추천
  • 목록

본문

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 / 1 페이지
RSS

최근글


새댓글


알림 0