컴퓨터/팁&유틸

윈도우에서 클라우드 플레어 DDNS 설정하기 (파워쉘 이용. 텔레그램 봇 연결)

Bi83 2022. 7. 5. 20:47

이번에 닷X임 코리아에서 클라우드 플레어로 도메인 기관이전을 하였습니다.

그 사이에 좀 여러가지 일이 있었지만 해결 되었으니 넘어가고...

클라우드플레어로 넘어온건 좋은데 공식으로 지원하는 DDNS 설정법이 없더라고요.

그래서 깃허브를 뒤져보니 역시나 방법이 나왔습니다.

https://github.com/fire1ce/DDNS-Cloudflare-PowerShell

 

GitHub - fire1ce/DDNS-Cloudflare-PowerShell: Cloudflare DDNS PowerShell Script for Windows OS. Choose any source IP address to u

Cloudflare DDNS PowerShell Script for Windows OS. Choose any source IP address to update external or internal (WAN/LAN). Cloudflare's options proxy and TTL configurable via the parameters. - Gi...

github.com

위에 있는 스크립트를 사용하는 것인데

장점으로는 텔레그렘 봇을 연동할 수 있습니다.

깃허브 좀 기웃거릴 정도 되시는 분이라면 위 페이지만 보고도 사용하실 수 있겠지만

그렇지 않은 경우는 아래 설명을 참고해 주세요.

 

준비물

1. 클라우드플레어 영역ID

2. API토큰

 

추가준비물(텔레그램 봇 연동할때만 필요)

1.텔레그램 봇 chat_id

2.텔레그램 봇 API 토큰

 

1. 클라우드 플레어 영역ID 확인하기

클라우드플레어에 들어가서 적용할 도메인을 선택합니다.

 

오른쪽 하단을 보면 영역 ID가 있는데, 이걸 메모장에 적어둡니다.

그 후 [API토큰 가져오기]를 눌러서 API 토큰 생성으로 넘어갑니다.

 

2. API 토큰 생성하기

API 토큰 가져오기를 누르면 위와같은 페이지가 나옵니다.

[토큰 생성]을 눌러주세요.

 

영역 DNS 편집에 있는 [템플릿 사용] 을 눌러주세요.

 

영역 리소스에서 DDNS를 적용할 도메인을 선택하고 [요약 계속]을 눌러주세요.

 

[토큰 생성]을 눌러주세요.

생성된 API토큰을 메모장에 적어둡니다.

이 API토큰은 다시 확인할 수 없으니 꼭 잘 보관해 주세요.

만약 잃어버렸다면 기존 토큰을 삭제하고 새로 생성해 주셔야 합니다.

 

3. DDNS Cloudflare PowerShell Script 다운받기

https://github.com/fire1ce/DDNS-Cloudflare-PowerShell

 

GitHub - fire1ce/DDNS-Cloudflare-PowerShell: Cloudflare DDNS PowerShell Script for Windows OS. Choose any source IP address to u

Cloudflare DDNS PowerShell Script for Windows OS. Choose any source IP address to update external or internal (WAN/LAN). Cloudflare's options proxy and TTL configurable via the parameters. - Gi...

github.com

 

위에 있는 깃허브 링크에서 Code를 누르고 Download를 눌러서 파일을 다운로드 합니다.

 

C드라이브에 다운받은 압축파일을 [DDNS-Cloudflare-PowerShell] 이라는 폴더를 만들고

다운받은 압축파일의 내용물을 넣어줍니다.

 

4. update-cloudflare-dns_conf.ps1 수정하기

update-cloudflare-dns_conf.ps1 파일을 해당 도메인에 맞게 내용을 넣어줘야 합니다.

메모장 등으로 열어줍니다.

 

1) what_ip는 external로 설정해 주시고

2) dns_record에는 A레코드를 포함한 대상 도메인을 입력해 주세요. (예시 : A.bcd.com)

3) zoneid 에는 아까 메모해둔 영역ID를 입력.

4) cloudflare_zone_api_token에는 아까 생성한 API토큰을 입력해 줍니다.

5) proxied 는 클라우드플레어의 프록시를 사용하실꺼면 true를 입력해 줍니다. 아닐경우는 false를 입력해 주세요.

6) 추가로 테레그램 봇을 연동시키실 분은 아래 표시된 3줄을 마저 입력해 주시면 됩니다.

    텔레그램 봇을 만들고 chat_id와 Bot API Key을 생성하는 방법은 구글링 하시면 많이 나오니 생략 합니다.

 

5. 작업 스케줄러 등록하기

시작표시줄에 있는 검색기능을 이용해서 작업 스케줄러를 실행합니다.

그 다음 오른쪽 상단에 있는 [작업 만들기]를 눌러주세요,

 

이름은 적당히 적어 주시고

[사용자의 로그온 여부에 관계없이 실행(W)]을 체크해 주세요.

 

트리거 탭으로 넘어가서 새로만들기를 눌러줍니다.

 

위에 붉은색 표시한대로 설정을 해 주세요.

이때 시작 시간은 꼭 작동하실 시간보다 뒤로 해 주세요. 

작동시킨 시간보다 시작시간이 빠르게 설정되어 있으면 스케줄러가 작동하지 않는 경우가 있더라고요.

 

동작탭으로 넘어가서 [새로 만들기]를 눌러줍니다.

 

동작은 프로그램 시작 으로 선택하시고

프로그램/스크립트(P)에는 [C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe]을 입력해주세요.

인수 추가(옵션)(A)에는 [-ExecutionPolicy Bypass -File C:\DDNS-Cloudflare-PowerShell\update-cloudflare-dns.ps1] 을 입력해 주세요.

이후 확인을 눌러서 마무리 하면 30분 마다 스크립트를 실행하게 됩니다.

 

6. 정상작동 확인 방법

처음 작동을하면 위와같이 log파일이 생성 됩니다.

log파일을 열어보면 작동 시간과 작동내역이 써있으니 그걸 보고 작동여부를 확인하시면 됩니다.

 

텔레그램 봇 까지 연동하셨다면

IP주소가 바뀌어서 업데이트 할 때 마다 이렇게 알림이 옵니다.

반응형