• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
질문

Cloudflare DNS 및 DDNS 질문

시놀로지오너 859

0

12

안녕하세요!

 

2023-02-08 05 37 31.png.jpg

 

시놀로지에서 Cloudflare DDNS 구성은 완료하였는데

 

2023-02-08 05 39 36.png.jpg

 

클라우드플레어 대시보드에서 DNS 항목에는 루트 도메인에 대하여 무엇을 넣어야 하나요?

그냥 외부 주소(사진에서 222.222.222.222로 써둔 부분의 것)을 넣으면 되는지요?

 

현재 DNS 구성은

루트 도메인에 대하여 외부 주소 그대로.

다른 서브 도메인에 대하여도 외부 주소(즉 222.222.222.222처럼) 그대로인데요.

 

작동은 되고 있으나 이러면 분명 DDNS를 설정한 이유가 없는 것 같은데...

대체 무슨 원리인지(어떻게 설정하는 건지) 이해가 되지 않습니다.

 

도메인은 클플에서 구매하였습니다.

고수님들의 답변을 부탁드립니다 ㅠㅠ

 

신고공유스크랩
12
1등
WeetLies 2023.02.08. 07:38

DDNS을 설정하게 되면 NAS 내에서 별도의 데몬이 돌아가면서 일정 시간마다 내가 가지고 있는 아이피를 Cloudflare에 동기화를 시키게 됩니다. 처음에는 일단 사용자분이 입력하셨더라도 이후에 아이피가 변동이 생기게 되면 데몬이 기동하게 되면서 바뀐 IP가 Cloudflare에 적용이 되는것이죠.

 

게다가 시놀로지 같은경우는 많은 DNS관리업체들이 추가되어있어 DDNS 등록과정에서 계정정보만 입력하면 바로 데몬이 돌아갈수 있는데, 

시놀로지에서 지원리스트에 없는 DNS관리업체에서 시놀로지를 DDNS로 등록할때는 Crontab을 이용해서 동작하기도 합니다. 

그리고 대부분의 상황에서 유동IP일지라도 별다른 사유가 없는 한 IP변동이 자주 일어나지는 않기때문에 바로 식별하기는 힘드실 수 있습니다.

시놀로지오너 글쓴이 2023.02.08. 14:16
WeetLies
맞습니다. 저는 https://github.com/namukcom/SynologyCloudFlareDDNS 를 보고 설정했고 작업 스케줄러를 생성하는 절차가 필요했습니다.

아직 IP 변동이 일어나지 않아 확인이 안 되는 것 같으니 조금 더 지켜봐야겠습니다.
답변 감사합니다!!
2등
콜라 2023.02.08. 08:46
ddns가 제대로 안된것 같네요.
수동으로 입력해야되면 ddns가 아니죠.
저는 시놀이 없어서 ddns 시놀에서 설정하는 방법은 도와드릴 수 없지만..
그냥 cron 같은 작업으로 하려고 하신다면 도와드릴 수 있습니다
시놀로지오너 글쓴이 2023.02.08. 14:18
콜라
확인해보니 crontab(작업 스케줄러)은 설정되어 있어서 조금 더 지켜보다가 문제가 생기면 다시 질문하도록 하겠습니다. 정말 감사합니다!!
3등
purndal 2023.02.08. 09:38

2023-02-08 09 41 39.png.jpg

저의 설정방법이 맞는지는 모르지만. A 레코드의 경우 최상위 도메인 domain.com만 연결을 했습니다. 

그리고 하위 도메인의 경우 cname으로 content 부분은 그냥 @만 넣어두면 알아서 도메인 주소가 연결되더라고요

그리고 프록시는 연결 도메인만 해둔 상태네요.. 

저 상태에서 IP 변경 부분을 domain.com으로 연결된 부분만 변경이 된다면 나머지는 따라가는듯 하더군요. 

시놀로지오너 글쓴이 2023.02.08. 14:21
purndal
하위 도메인을 cname @로 바꾸니 nalookup으로 봤을 때 최상위 도메인에서 잘 받아오는 것 같네요.
메인 도메인만 잘 변경되면 되니 이 방식이 맞는 것 같습니다. 답변 감사합니다!!
전설의곰 2023.02.08. 13:37

제가 사용하는 vains.com에서 배포한 걸 수정해서 사용하고 있는 DDNS IP 업데이트 스크립트입니다.

아이피가 변경되면 클라우드 플레어에 지정한 레코드의 IP를 업데이트 합니다.

스케쥴러에 등록해서 부팅시마다 확인을 하고 있습니다.

A_Record에 여러개를 넣어서 모두 업데이트가 가능합니다.

다만 저는 하나만 업데이트 하고 나머지는 CNAME으로 지정해서 사용하고 있습니다.

 

#!/bin/bash

 

### CloudFlare A Recoard Updater by varins.com

Login_Email=로그인 이메일주소
Global_API_Key=글로벌API키
Domain=도메인명(예:aaa.com)
A_Record=아이피를 넣을 A레코드(예:aaa.com,www.aaa.com)
Proxied=false
TTL=1

 

#IP 가져오기
CIP=$(curl -s "https://ipv4.icanhazip.com/")
if [ "$CIP" == "" ]; then
    CIP=$(curl -s "http://ipv4.icanhazip.com/")
fi

 

#저장된 IP 불러오기
PIP=$(cat /usr/local/share/ip.txt)
echo -e "CloudFlare A Recoard Updater"
echo -e "Current IP: $CIP"
echo -e "Previous IP: $PIP"

 

#IP가 같을 경우 끝냄, 다를 경우 IP업데이트
if [ "$CIP" == "$PIP" ]; then
    echo "No need to update"; exit 0
elif [ "$CIP" != "$PIP" ]; then
    echo "Updating A recoard......"
fi

 

#IP 저장
echo $CIP > /usr/local/share/ip.txt

#CloudFlare
V4="https://api.cloudflare.com/client/v4/zones"
H1="-HX-Auth-Email:$Login_Email"
H2="-HX-Auth-Key:$Global_API_Key"
H3="-HContent-Type:application/json"
ZN=$(curl -s -X GET "$V4?name=$Domain" \
    $H1 $H2 $H3 | grep -Po '(?<="id":")[^"]*' | head -1)

 

string=$A_Record
IFS=',' ARARY=(${string})

function AID() {
    for AREC in "${ARARY[@]}"
    do
        (curl -s -X GET "$V4/$ZN/dns_records?name=$AREC" \
        $H1 $H2 $H3 | grep -Po '(?<="id":")[^"]*' | head -1)
    done
}

 

IFS=$'\n' AIDARY=($(AID))

 

ATOTAL=${#ARARY[*]}

 

for ((i=0; i<$ATOTAL; i++))
do
    (curl -s -X PUT "$V4/$ZN/dns_records/${AIDARY[$i]}" $H1 $H2 $H3 \
    --data "{\"type\":\"A\",\"name\":\"${ARARY[$i]}\",\"content\":\"$CIP\",\"proxied\":$Proxied,\"ttl\":$TTL}" \
    | grep -Po '(?<="name":")[^"]*|(?<="content":")[^"]*|(?<=Z"},)[^}]*|(?<="success":false,)[^$]*|(?<=\s\s)[^$]*' | xargs)
done

시놀로지오너 글쓴이 2023.02.08. 14:27
전설의곰
저는 https://github.com/namukcom/SynologyCloudFlareDDNS 글을 보고 작업 스케줄러까지 설정했는데, 잘 모르겠지만 해당 소스에 IP를 업데이트하는 기능이 내재되어 있지 않을까... 합니다.

추후 IP가 갱신되었는데 IP가 업데이트되지 않으면, 댓글로 주신 스크립트를 실행해 보겠습니다.
답변 정말 감사합니다!!
마이크로서버 2023.02.08. 18:58
A 레코드에 도메인 주소하고 IP를 넣으면 맞습니다. 그런데 이때 공유기 리부팅 등으로
IP가 바뀌면 접속이 안될 거에요. (실제로 불가로 만들어도 테스트 해봄)
그래서 IP RENEW 하는 스크립트를 돌리시면 됩니다. 저도 이문제로 고민하다가 찾아보다가
발견하고 적용 해 보았는데 잘 더라구요. 클플 토큰은 기본적으로 발급 받으셔야 하구요.

https://www.wsgvet.com/home/451
https://techjourney.net/update-cloudflare-as-dynamic-dns-ddns/

그리고 클플 https://github.com/namukcom/SynologyCloudFlareDDNS 이건 만약 스케줄 하시다면
부팅시 한번만 트리거로 하시면 됩니다. IP RENEW 하는 스크립트는 스케줄로 돌리셔야 하구요.
5분 정도면 충분 할거에요.
시놀로지오너 글쓴이 2023.02.11. 20:55
마이크로서버
답이 늦었습니다.
좋은 정보 감사합니다! 덕분에 Github 소스의 스케줄과 A 레코드 관련 설정은 확실하게 맺었습니다!!

다만 시놀로지 내 DDNS 설정에서 Cloudflare의 외부 주소를 변경(LAN 포트 1)로 변경했을 때, 클플 대시보드에서 루트 도메인의 A 레코드 콘텐츠가 변경된 주소로 잘 바뀌어있던데, 이런 경우에도 IP Renew가 필요할까요...?
마이크로서버 2023.02.13. 00:29
시놀로지오너
글 확인해 보니 도메인을 클플에서 구입 하셔서 잘 바뀌시는것 같습니다. ^^ 저는 구글하고 호스팅 KR에서 2개 구입해서 DNS만 클플에서 사용하는데 자동으로는 안되더라구요. 일단 잘 바뀌시면 놔두시고... 혹시라도 나중에 먹통되면... 그때 처리 하면 될것 같습니다. 잘 되는데 굳이 만지지 않는게 좋을거 같아요... ^^

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story
번호 분류 제목 글쓴이 날짜 조회 추천
질문 proxmox ssd 인식이 갑자기 안됩니다 고장인걸까요? 3 kmw_ 8시간 전09:37 69 +1
질문 ZFS 풀에서 계속 에러가 뜹니다 3 bass9030 17시간 전00:43 55 +1
잡담 백업 주기와 방법에 대한 고민 11 칼룬 23시간 전18:12 182 +1
3844
image
eyeball 23.04.05.21:08 1756 +16
3843 정보
image
antegral 22.05.07.01:18 3153 +16
3842 정보
image
툭툭이 24.03.28.11:14 831 +14
3841 잡담
image
햇서 23.06.05.05:53 914 +14
3840
image
달소 22.03.17.22:09 18958 +14
3839 정보
image
EXP 24.02.06.03:43 1267 +10
3838
image
달소 22.05.06.15:43 1036 +10
3837
image
달소 22.03.17.22:25 4985 +10
3836 정보
image
달소 24.02.19.00:58 945 +9
3835
image
theb1ue 22.06.14.16:05 4871 +9
3834 가이드
image
opq! 24.04.02.21:25 420 +8
3833 잡담
image
달소 24.01.15.03:22 583 +8
3832
image
달소 23.01.27.14:15 15656 +8
3831
image
달소 22.07.07.16:57 1945 +8
3830
image
달소 22.03.14.17:30 4145 +8
3829
image
달소 22.02.11.13:31 3006 +8
3828 후기
image
cdma2000 24.02.06.13:12 737 +7
3827 가이드
image
달소 23.07.04.20:38 1897 +7
3826
image
앨런임더 23.03.31.21:14 1837 +7
3825 잡담
image
곰삼촌 23.01.25.10:05 1085 +7