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
Xem Them Chi Tiet
Nhung Mon Do Cong Nghe Duoc Yeu Thich
Do Cong Nghe Phu Kien
Xem Them Chi Tiet
Phu nu phai dep dan ong moi yeu! Sam ngay bo vay dam sieu dep
Thanh xuan nhu mot tach trá Khong mua do hot phi hoai thanh xuan
0 nhận xét:
Đăng nhận xét