Xoá toàn bộ DNS trên Cloudflare – Bulk remove DNS records

Mới đây mình có mua 1 tên miền để xây dựng website giúp khách hàng có thể tăng rank, tăng like Facebook, Google map … nhưng lúc mình mua xong thêm tên miền vào thì nó scan và thêm tự động vào hơn 600 DNS record.

626 bảng ghi, xoá tay thì tới tết mất : )

1 mẹo xử lý nhanh để fix lỗi này là bạn login vào phần quản lý tên miền, xong cập nhật đại 1 DNS nào đó vào vd: ns1.vutruso.com và ns2.vutruso.com vào rồi lưu lại, xong tạo mới 1 tài khoản cloudflare khác để add domain vào sẽ không bị mấy trăm hoặc mấy ngàn dns record nữa.

Mình có tìm hiểu thì thử qua bằng cách xoá bằng tiện ích iMacros for Chrome nhưng tốc độ xoá tự động như rùa bò nên mình thử kết nối bằng API do Cloudflare cung cấp để xử lý việc này nên bài viết này mình share lại cho những ai đang gặp phải vấn đề này có thể dễ dàng xử lý.

Các bước để xoá hàng loạt bảng ghi DNS trên Cloudflare như sau:

Bước 1: Đăng nhập vào Cloudflare

Bước 2: Cũng trên Cloudflare bạn mở trang web bạn đang gặp vấn đề, ở tab Overview bạn sẽ nhìn thấy Zone ID (Lưu cái này ra 1 nơi)

Bước 3: Tạo bearer_token bằng cách vào đường dẫn sau:

https://dash.cloudflare.com/profile/api-tokens/

Tiếp đó, click Create Token

Chọn Use template

Tiếp đó chọn theo như hình dưới và cuối cùng click vào Continue to summary

Ở bước tiếp theo bạn sẽ thấy được bearer_token

Bước 4: Bạn mở VPS lên và tạo 1 file có tên cloudflare-bulk-delete-dns.py vào vị trí tuỳ bạn muốn, ví dụ mình tạo ở thư mục /python

Sau đó dán đoạn code phía dưới này vào, và thay YOUR_ZONE_IDYOUR_BEARER_TOKEN bạn đã tạo ở bước trên nhé.

import json
import requests

# You can get zone ID from Overview page on the bottom right section
zoneid = "YOUR_ZONE_ID"

# You need to generate api token from My Profile > API Token with Edit Zone permission
bearer_token = "YOUR_BEARER_TOKEN"

if input("Are you sure you want to delete ALL DNS records in this zone? (y/n)") != "y":
    exit()


# Fetch dns records from CloudFlare
record_rq = requests.get("https://api.cloudflare.com/client/v4/zones/"+ zoneid +"/dns_records", headers = {"Content-Type": "application/json", "Authorization": "Bearer " + bearer_token})
data = record_rq.json()
if data['success'] == False:
    print("Failed to fetch dns record:")
    print(data['errors'])
    quit()

# Delete dns records
for record in data['result']:
    print("Deleting:", record['name'])
    rq = requests.delete("https://api.cloudflare.com/client/v4/zones/"+ zoneid +"/dns_records/" + record['id'], headers = {"Content-Type": "application/json", "Authorization": "Bearer " + bearer_token})
    print(rq.status_code, "\n")

Giờ bạn mở SSH lên -> vào thư mục chứa file cloudflare-bulk-delete-dns.py và chạy file cloudflare-bulk-delete-dns.py với lệnh

python3 cloudflare-bulk-delete-dns.py

Sẽ có xác nhận, Are you sure you want to delete ALL DNS records in this zone? (y/n) thì bạn gõ y và enter là được.

Chương trình sẽ tự động chạy và xoá DNS tự động, đây là kết quả.

Nếu bạn không có VPS sử dụng SSH thì bạn có thể cài Python vào Windows để chạy nhé, tải về Python tại

https://www.python.org/downloads/

Sau khi cài Python xong bạn có thể mở cmd lên, dùng lệnh cd để đi đến nơi chứa file cloudflare-bulk-delete-dns.py và chạy lệnh python cloudflare-bulk-delete-dns.py

Vd: cd C:\Users\YourName\Documents\

Tiếp theo: python cloudflare-bulk-delete-dns.py

Ngoài cách này ra bạn cũng có thể xoá hàng loạt bảng ghi bằng cách sử dụng API Cloudflare thông qua Postman, bạn có thể tìm hiểu thêm tại bài viết này:

https://medium.com/@quentinrozados/how-to-remove-all-cloudflare-dns-bulk-remove-93bd2a0366ba

Tài liệu postman: https://documenter.getpostman.com/view/7648432/SzfCUkk2?version=latest#860fe629-2df7-4b29-bab6-ee048db204e3

Ngoài ra, mình còn đọc thêm 1 git này mà chưa thử, bạn có thể thử nếu muốn

https://github.com/Fr3akyMurk/Cloudflare-bulk-dns-delete

Cảm ơn đã đọc bài viết, hy vọng bài viết sẽ giúp ích cho bạn.

Từ khóa
daotiendung

Tiến Dũng Đào chuyên quản lý, vận hành các dịch vụ website. Anh có nhiều năm kinh nghiệm về VPS, Hosting, technical SEO, CMS. Đặc biệt yêu thích WordPress với hơn 5 năm phát triển theme và plugin. Sở thích của anh là đọc, viết blog, đi du lịch, tập võ và chia sẻ các kiến thức cho mọi người.

Bài viết liên quan