Cách cài DDNS trên Raspberry Pi với Cloudflare API

Chào mừng các bạn đến với bài hướng dẫn Office tiếp theo trong GOGOhalloween.  

Hiện tại thì cáp quang việt nam đang gặp trục trặc do cáp bị đứt và vì vậy đã khiến cho việc vào 1 trang web có server nước ngoài gặp khó khăn và nếu bạn muốn tạo 1 trang blog hoặc muốn host 1 server game thì mua raspberry pi là lựa chọn tốt nhất hiện nay với giá thành rẻ cùng với phần cứng vô cùng nhỏ nhưng vấn đề tại việt nam là địa chỉ IP không phải là địa chỉ IP cố định vì vậy khi ta trỏ DNS về thì 1 thời gian sau sẽ phải xem lại ip và trỏ lại. Vấn đề này gây tốn thời gian cũng như nếu bạn không ở nhà thì việc truy cập vào raspberry pi gần như là bất khả thi. Và vì vậy, DDNS đã được sinh ra và ngày hôm nay mình sẽ hướng dẫn DDNS trên Raspberry Pi với Cloudflare API.

DDNS là gì?

Dynamic DNS, Dynamic Domain Name System hay DDNS là hương pháp tự động cập nhật máy chủ tên trong Hệ thống tên miền, thường là trong thời gian thực, với cấu hình DDNS hoạt động của tên máy chủ, địa chỉ hoặc thông tin khác được định cấu hình của nó. DDNS được tạo ra để thay thế địa chỉ IP tĩnh. Nó giúp người dùng có thể truy cập hệ thống từ xa mà không cần dùng địa chỉ IP tĩnh được tạo ra bởi ISP (Internet Service Provider – Nhà cung cấp dịch vụ internet).


Mỗi một tên miền sẽ phải trỏ về 1 IP tĩnh (static IP) tuy nhiên những địa chỉ mạng cung cấp bởi các nhà mạng tại việt nam và 1 số quốc gia khác thường là IP động (dynamic IP) và chúng sẽ được đổi theo 1 chu kì nhất định. Trong trường hợp bạn muốn trỏ DNS vào IP đó thì không thể được. Chính vì vậy mà DDNS được đưa vào thực tiễn.

Cách thức hoạt động của DDNS vô cùng đơn giản. DDNS tạo ra 1 chương trình đặc biệt chạy trên máy tính của người dùng gọi là Dynamic DNS Client. Chương trình này có nhiệm vụ theo dõi, kiểm tra sự thay đổi của địa chỉ IP tại máy chủ (host). Khi có thay đổi xảy ra, Dynamic DNS Client sẽ thông báo cho hệ thống DNS. Đồng thời cập nhật thông tin mới vào cơ sở dữ liệu trước đó. Dù máy chủ có thường xuyên thay đổi địa chỉ IP thì hệ thống DNS vẫn tìm được và trỏ địa chỉ tên miền về đúng địa chỉ IP mới một cách chính xác.

Thông thường DDNS thường được sử dụng đối với các dịch vụ host webserver, Host server game tại nhà, sử dụng các đồ dùng Iot hay lắp đặt các thiết bị an ninh để bảo vệ nhà thông qua NAT port wifi của bạn. Tại điểm đó thì các thiết bị của bạn sẽ sử dụng IP public để có thể truy cập nhưng như đã nói thì địa chỉ IP này không phải là địa chỉ IP tĩnh.

Yêu cầu đồ dùng để thực hiện

  • 1 Máy tính chạy Linux và có khả năng duy trì 24/24 và được kết nối tới mạng nhà bạn. Khuyến khích sử dụng Raspberry Pi vì phần cứng của nó có khả năng chạy 24/24
  • 1 tên miền không phải tên miền Free (tên miền có đuôi .tk, .ml, .ga, .cf, .gq)
  • 1 tài khoản CloudFlare

Hướng dẫn làm DDNS client trên Raspberry Pi

Set up cơ bản

Sau khi tạo xong tài khoản CloudFlare thì anh em hãy đọc bài viết Tạo Domain miễn phí 1 năm bằng Freenom mới nhất và vào phần trỏ DNS để trỏ DNS về mạng nhà mình nhé!


Mình sẽ sử dụng Raspberry Pi 4 4GB ram để chạy nhé


Bước 1: Sau khi đã trỏ xong DNS thì hãy  vào terminal và ghi lệnh sau:

git clone https://github.com/K0p1-Git/cloudflare-ddns-updater.git


Bước 2: Vào thư mục đó bằng lệnh

cd cloudflare-ddns-updater

Bước 3: Các bạn đổi tên file bằng cách

mv cloudflare-template.sh cloudflare.sh


Từ đoạn này về sau thì file mình sẽ sử dụng dưới tên file mình vừa đặt. Các bạn đặt khác thì hãy nhớ đổi tên lại trong câu lệnh nhé!

Bước 4: Các bạn Edit file Cloudflare.sh

sudo nano Cloudflare.sh

Bước 5: Thay các thông tin sau vào file

Lưu ý: thay vào giữa dấu ngoặc kép nhé

  • auth_email: nhập mail bạn đăng kí với Cloudflare
  • Auth_key: Nhập API token (Xem cách lấy API token và Zone ID ở phía bên dưới)
  • Zone_identifier: Nhập Zone Identifier vào (Trong phần Cách lấy API token và Zone ID ở phía bên dưới)
  • Record_name: nhập tên record của bạn vào. nó sẽ có dạng tenrecord.tenmiencuaban.
    Ví dụ: website.anonyviet.com

Bước 6: Nhấn tổ hợp phím Ctrl + x > bấm y > nhấn enter để save file lại

Lấy API và Token Zone

Bước 1: Vào trang https://dash.cloudflare.com/

Bước 2: Chọn vào tên miền của bạn

Bước 3: Kéo xuống dưới và bạn sẽ thấy Zone ID Trong phần API. Lấy nó và copy vô file SH của bạn


Bước 4: Vào Get Your API token

Bước 5: Ở mục Global API key, nhấn vào view. Sau khi làm capcha xong thì bạn lấy cái key đó copy vô như bước 5 của mục setup cơ bản

Setup thời gian để chạy script

Bước 1: Vào Terminal gõ

Crontab -e

Bước 2: Các bạn chọn editor của mình. Chọn cái nào thì ghi số của nó ra là được nhé!

Bước 3: Các bạn ghi câu lệnh sau

* * * * * /bin/bash [vị trí file Cloudflare.sh]

Các dấu sao tương đương với 1 đơn vị ngày giờ và bạn chỉ cần thay dấu sao thành số là được. Thứ tự của chúng là: phút > giờ > ngày > tháng > ngày trong tuần (từ thứ 2 tới chủ nhật)

Bước 4: Nhấn tổ hợp phím Ctrl + x > bấm y > nhấn enter để save file lại.

Bước 5: Chạy câu lệnh sau để khời động

systemctl restart cron

Dưới đây là đường link video hướng dẫn cụ thể chi tiết từng phần mà chúng tôi đã bỏ thời gian ra làm và quay lại. Bạn hãy tải xuống và thực hiện như chúng tôi nhé!

📥 DOWNLOAD NOW

Related Posts

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *