Skip to content

Instantly share code, notes, and snippets.

@pengelana
Last active July 30, 2024 07:30
Show Gist options
  • Save pengelana/64a63c072f25a842a7534249d8e5a212 to your computer and use it in GitHub Desktop.
Save pengelana/64a63c072f25a842a7534249d8e5a212 to your computer and use it in GitHub Desktop.
Menggunakan Tiarap DNS Dengan Domain Sendiri

Menggunakan Tiarap DNS Dengan Domain Sendiri

Cloudflare sebagai Registrar

1. Buat akun baru di Cloudflare

https://dash.cloudflare.com/sign-up

2. Login ke Cloudflare

https://dash.cloudflare.com/login

image

3. Daftar domain baru melalui Cloudflare

image

pilih 'Purchase' dan selesaikan pembayaran, domain akan berlaku minimal satu tahun.

image

4. Kembali ke menu utama Cloudflare dan pilih nama domain yang baru dibeli

image

5. Pilih menu DNS

image

6. Pilih Add record untuk menambahkan entry DNS

image

7. Tambahkan entry DNS

DoH/DoH3 (dns-over-https dan dns-over-http/3)

image

  • Type: CNAME
  • Name (required): isi dengan subdomain yg mau dipakai -- misalnya doh
  • Target (required): doh.tiar.app
  • Proxy status: default (berwarna Orange, yg berarti request dari client: HP/Komputer akan dilewatkan melalui Cloudflare)
  • TTL: Auto

Pilih Save

image

8. Ubah konfigurasi SSL/TLS

  • Pilih menu SSL/TLS di sebelah kiri

  • Pada bagian Your SSL/TLS encryption mode ubah menjadi 'Full (strict)'

You are switching your SSL mode from Flexible to Full (strict). Are you sure you want to make that change?

Pilih 'Confirm'

image

9. DoH/DoH3

https://doh.dnspribadi.uk/dns-query

10. Penutup

Jalankan https://dnscheck.tools di Browser untuk menguji.

image

Namecheap sebagai Registrar

11. Buat akun baru dan SIGN IN ke Namecheap

https://www.namecheap.com/myaccount/login-signup/

12. Daftar domain baru melalui Namecheap

Pilih nama domain yang disukai kemudia selesaikan pembayaran, domain akan berlaku minimal satu tahun.

13. Buka tab baru di Browser dan Login ke Cloudflare

https://dash.cloudflare.com/login

14. Dari menu utama Cloudflare pilih Add a site

image

15. Tambahkan domain dari Namecheap ke Cloudflare

Enter an existing domain name (example.com) : nama domain baru dari Namecheap

image

Pilih Continue

16. Pilih Free Plan di Cloudflare

image

17. Review DNS Rercord di Cloudflare

Delete record yg tidak diperlukan

image

Pilih Continue

image

Pilih Confirm

18. Salin nameserver di halaman Change your nameservers

image

19. Kembali ke tab Namecheap di Browser

Pada halaman utama Namecheap, pilih Manage pada domain yang akan digunakan di Cloudflare

image

20. Ubah Nameserver di Namecheap

Isi NAMESERVERS dengan nameservers dari Cloudflare

image

Save dengan memilih tanda check mark ✅ di kanan atas.

Tunggu sampai proses Save di Namecheap selesai.

21. Kembali ke tab Cloudflare di Browser

Pilih Check Nameservers now

image

Tunggu sampai ada pesan Cloudflare is now checking the nameservers for domain_name. Please wait a few hours for an update.

image

Pilih Continue

image

Pada halaman berikutnya pilih Finish later

22. Pilih menu DNS - Settings di Cloudflare

image

Pilih Enable DNSSEC

image

23. Aktfikan DNNSEC di Namecheap

Kembali ke tab Namecheap di Browser lalu Pilih tab Advanced DNS

Pada bagian DNSSEC, aktfikan.

image

Isikan parameter DS record dari Cloudflare:

  • Key Tag: -- salin dari Cloudlare --

  • Algorithm: -- salin dari Cloudlare --

  • Digest Type: -- salin dari Cloudlare --

  • Digest: -- salin dari Cloudlare --

Save dengan memilih tanda check mark ✅ di kanan.

image

Tunggu beberapa menit..

☕️☕️☕️

Refresh tab Cloudflare di Browser

Pilih menu DNS - Settings

Setelah DNNSEC berhasil dikonfigurasi akan kelihatan

Success! nama_domain is protected with DNSSEC.

image

Buka tab baru di Browser dan kunjungi https://dnschecker.org

  • Domain name: nama_domain
  • Type: DS

Pilih Search

image

24. Lanjutkan dengan konfigurasi DNS

Kembali ke No 4 sampai 10 di atas.

25. Hasil Akhir

DNS Record di Cloudflare

Koneksi dari Client

image

Cloudflare Cache (Opsional)

26. Cache HTTP GET

Pilih menu: Caching - Configuration

Caching Level: Standard

Browser Cache TTL: Respect Existing Headers

image

Berikutnya Pilih menu: Rules - Page Rules - Create Page Rule

URL (required): nama_domain/*

Pick a Setting (required): Cache Level

Select Cache Level (required): Cache Everything

Pilih save and Deploy Page Rule

image

  • Sebelum

$ curl -sI --header 'accept: application/dns-message' 'https://kopas.us/dns-query?dns=q80BAAABAAAAAAAAA3d3dwdleGFtcGxlA2NvbQAAAQAB' | grep cf-cache

cf-cache-status: DYNAMIC

$ curl -sI --header 'accept: application/dns-message' 'https://kopas.us/dns-query?dns=q80BAAABAAAAAAAAA3d3dwdleGFtcGxlA2NvbQAAAQAB' | grep cf-cache

cf-cache-status: DYNAMIC

  • Sesudah

$ curl -sI --header 'accept: application/dns-message' 'https://kopas.us/dns-query?dns=q80BAAABAAAAAAAAA3d3dwdleGFtcGxlA2NvbQAAAQAB' | grep cf-status

cf-cache-status: EXPIRED

$ curl -sI --header 'accept: application/dns-message' 'https://kopas.us/dns-query?dns=q80BAAABAAAAAAAAA3d3dwdleGFtcGxlA2NvbQAAAQAB' | grep cf-status

cf-cache-status: HIT

$ curl -sI --header 'accept: application/dns-message' 'https://kopas.us/dns-query?dns=q80BAAABAAAAAAAAA3d3dwdleGFtcGxlA2NvbQAAAQAB' | grep cf-cache

cf-cache-status: HIT

$ curl -sI --header 'accept: application/dns-message' 'https://kopas.us/dns-query?dns=q80BAAABAAAAAAAAA3d3dwdleGFtcGxlA2NvbQAAAQAB' | grep cf-cache

cf-cache-status: HIT

27. Cache HTTP POST

Pilih menu Worker Routes - Manage workers

image

Pilih Create

image

Pilih Create Worker

image

Ubah Create ""Hello World" Worker" Worker menjadi cacheall lalu pilih Deploy

image

Success! Your project is deployed to Region: Earth

Pilih Edit code di sebelah kanan atas.

Buka cacheall.js di tab berbeda dan copy isinya ke worker.js

image

Pilih Deploy di sebelah kanan atas

image

Pilih Save and deploy

Kembali ke halaman sebelumnya dengan memilih Panah ke kiri

image

Pilih Websites di sebelah kiri atas untuk kembali ke menu utama

image

Pilih domain untuk masuk ke menu berikutnya

image

Pilih menu Worker Routes - Add route

Route: nama_domain/dns-query

Worker: cacheall

Pilih Request limit failure mode

kemudian pilih Fail open (proceed)

image

Pilih Save

  • Sebelum

echo -n 'q80BAAABAAAAAAAAA3d3dwdleGFtcGxlA2NvbQAAAQAB' | base64 --decode | curl -s -v --header 'content-type: application/dns-message' --data-binary @- https://kopas.us/dns-query -o /dev/null 2>&1 | grep cf-cache

< cf-cache-status: DYNAMIC

  • Sesudah

$ echo -n 'q80BAAABAAAAAAAAA3d3dwdleGFtcGxlA2NvbQAAAQAB' | base64 --decode | curl -s -v --include --header 'content-type: application/dns-message' --data-binary @- https://kopas.us/dns-query -o /dev/null 2>&1  | grep cf-cache

< cf-cache-status: HIT

$ echo -n 'q80BAAABAAAAAAAAA3d3dwdleGFtcGxlA2NvbQAAAQAB' | base64 --decode | curl -s -v --include --header 'content-type: application/dns-message' --data-binary @- https://kopas.us/dns-query -o /dev/null 2>&1  | grep cf-cache

< cf-cache-status: EXPIRED

$ echo -n 'q80BAAABAAAAAAAAA3d3dwdleGFtcGxlA2NvbQAAAQAB' | base64 --decode | curl -s -v --include --header 'content-type: application/dns-message' --data-binary @- https://kopas.us/dns-query -o /dev/null 2>&1  | grep cf-cache

< cf-cache-status: HIT

Limitasi dari workers dengan Free Plan

image

Selesai

@wismbuhcuk
Copy link

Saya mau bertanya pak:

  • Menggunakan custom domain ini kelebihannya hanya seperti masking saja atau ada benefit lain?
  • fungsi mengaktifkan DNSSEC apa ya pak? Kenapa hanya yang domainnya beli di Namecheap, sedangkan petunjuk pertama (beli domain di Cloudflare) tidak diaktifkan.

Terima kasih pak

@pengelana
Copy link
Author

pengelana commented Jul 21, 2024

  1. Untuk menambah variasi saja, jika ada yang ingin menggunakan domain sendiri.
  2. DNSSEC hanya tambahan saja, -- biasakan mengkonfigurasi hal-hal kecil dengan benar , di Cloudflare tidak perlu disetting karena enabled by default, di Namecheap tidak.

Sama-sama.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment