클라우드플레어 무료 DDNS서비스로 멀티 서브도메인까지 한번에 업데이트 하기
컨텐츠 정보
- 18,023 조회
- 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번 돌려주면 각각 업데이트가 됩니다. ㅎㅎ
-
등록일 2020.10.10그누보드 SMTP 외부메일 설정하는 방법댓글 26
-
등록일 2020.10.03그누보드5에 실시간 채팅 구축하기댓글 13
-
등록일 2020.09.26
-
등록일 2020.09.24도커로 메일서버 구축하기댓글 4
관련자료
-
서명우성짱의 NAS를 운영하고 있습니다.
저의 즐거움이 여러분의 즐거움이면 좋겠습니다.
-
링크