Việc quản lý các bản ghi DNS cho các máy chủ có IP động là một thách thức phổ biến đối với nhiều quản trị viên hệ thống. Một giải pháp hiệu quả là sử dụng Cloudflare kết hợp với một script tự động để cập nhật IP của máy chủ mỗi khi nó thay đổi. Trong bài viết này, chúng ta sẽ hướng dẫn cách thiết lập và tự động hóa quá trình cập nhật DNS records của Cloudflare khi IP của máy chủ thay đổi.
Bước 1: Tạo Script Cập Nhật DNS Records
Đầu tiên, bạn cần tạo một script bash để tự động cập nhật bản ghi DNS của Cloudflare. Dưới đây là một ví dụ script mà bạn có thể sử dụng:
1 |
|
Chỉnh sửa thông tin trong script
Trước khi sử dụng script, bạn cần thay đổi một số thông tin sau để phù hợp với tài khoản Cloudflare và tên miền của bạn:
auth_email
: Địa chỉ email dùng để đăng nhập vào Cloudflare.auth_method
: Phương thức xác thực, mặc định làglobal
.auth_key
: Global API Key hoặc API Token của bạn. Bạn có thể lấy Global API Key từ trang quản lý tài khoản Cloudflare của bạn.zone_identifier
: Mã định danh của vùng (zone) mà bạn muốn cập nhật bản ghi. Bạn có thể tìm thấy mã này trong tab “Overview” của trang quản lý tên miền trong Cloudflare.record_name
: Tên bản ghi DNS mà bạn muốn cập nhật, ví dụthuanqt.com
.ttl
: Thời gian sống của bản ghi DNS, mặc định là3600
giây.proxy
: Thiết lập chế độ proxy của Cloudflare, có thể làtrue
hoặcfalse
.
Sau khi đã chỉnh sửa các thông tin trên, lưu script vào một file, ví dụ như /path/to/ddns_updater.sh
.
Bước 2: Thiết Lập Cron Job để Tự Động Chạy Script
Trước khi crontab
phải cấp quyền thực thi cho script, sử dụng lệnh chmod để cấp quyền thực thi cho script:
1 | chmod +x /path/to/ddns_updater.sh |
Để script này chạy tự động mỗi 2 phút, bạn cần thiết lập cron job. Mở crontab
để chỉnh sửa:
1 | crontab -e |
Thêm dòng sau vào crontab
để chạy script mỗi 2 phút và lưu log vào /path/to/ddns_updater.log
:
1 | */2 * * * * /path/to/ddns_updater.sh >> /path/to/ddns_updater.log 2>&1 |
Bước 3: Làm Rỗng File Log Mỗi 7 Ngày
Để làm rỗng file log mỗi 7 ngày (vào lúc nửa đêm Chủ Nhật), thêm dòng sau vào crontab
:
1 | 0 0 * * 0 > /path/to/ddns_updater.log |
Tổng Hợp crontab
File crontab
của bạn sẽ trông như sau:
1 | */2 * * * * /path/to/ddns_updater.sh >> /path/to/ddns_updater.log 2>&1 |
Kiểm Tra Cron Job
Để đảm bảo cron job hoạt động chính xác, bạn có thể kiểm tra log tại /path/to/ddns_updater.log
sau vài phút.
Với cách thiết lập này, script sẽ được chạy mỗi 2 phút để cập nhật IP và làm rỗng file log mỗi tuần một lần. Điều này đảm bảo rằng các bản ghi DNS của bạn luôn được cập nhật một cách tự động và chính xác, giúp máy chủ của bạn duy trì kết nối mà không bị gián đoạn do thay đổi IP động.
Hy vọng bài viết này sẽ giúp bạn dễ dàng quản lý các bản ghi DNS cho các máy chủ có IP động bằng cách sử dụng Cloudflare và cron job. Chúc bạn thành công!