Chuyên mục
Network

pfSense Lab – [Phần 6] Cấu hình Dynamic DNS

Trong [Phần 6] của series pfSense Lab, mình chia sẻ cách cấu hình Dynamic DNS trên pfSense để cập nhật Public IP tự động cho tên miền của bạn.

pfSense có sẵn tính năng Dynamic DNS cực kỳ mạnh mẽ, hỗ trợ rất nhiều các dịch vụ DNS phổ biến: Cloudflare, DigitalOcean, GoDaddy, FreeDNS, OpenDNS, Linode,… Mình sẽ sử dụng dịch vụ DNS của Cloudflare trong bài hướng dẫn này.

1. Yêu cầu

  • Đã có sẵn tên miền và đã có tài khoản Cloudflare.
  • Tên miền đã được chuyển về CloudFlare quản lý
  • Router pfSense

2. Tạo A Record cho tên miền

Ví dụ mình muốn sử dụng tên miền pfsense.thuanbui.me để truy cập đến homelab ở nhà. Bấm vào Add record và tạo một A record mới.

  • Name: điền vào pfsense
  • IPv4: điền tạm 1.1.1.1, thông số này sẽ được tự động cập nhật thành Public IP ở nhà sau khi thiết lập Dynamic DNS trên pfSense
Mình tạo tên miền pfsense.thuanbui.me, tạm thời trỏ về 1.1.1.1

3. Tạo Cloudflare API Token

Truy cập vào trang Cloudflare API Token để tạo Token mới

Bấm vào Create Token
Chọn Use Template ở mục Edit Zone DNS
Kéo xuống mục Zone Resources, chọn tên miền bạn muốn sử dụng để cập nhật IP sau đó bấm Continue to Summary
Bấm Create Token
Token đã tạo xong

Bạn cần lưu lại Token vừa mới tạo để lưu vào script đã tạo. Token này sẽ không hiện ra lại trên Cloudflare vì lý do bảo mật. Nếu bạn quên lưu, cần phải xoá Token và tạo lại cái mới.

4. Tìm thông tin Zone ID

Từ trang chủ Cloudflare, bạn bấm vào tên miền muốn sử dụng để cập nhật IP. Sau đó kéo xuống dưới sẽ thấy mục Zone ID. Lưu lại thông số này để điền vào script

Lưu lại thông tin Zone ID

5. Tạo Dynamic DNS Client

Truy cập vào dịch vụ Dynamic DNS từ menu Services –> Dynamic DNS. Bấm Add

Nhập thông số cho DNS Dynamic Client

  • Service Type: mình chọn Cloudflare. Bạn có thể chọn dịch vụ DNS khác đang sử dụng
  • Interface to monitor: WAN
  • Hostname: nhập vào tên miền cần cập nhật Dynamc DNS.
  • Cloudflare Proxy: Tick chọn Enable Proxy để ẩn Public IP của mạng nhà.
  • Username: Tuỳ theo dịch vụ bạn chọn ở mục Service Type mà thông số Username này sẽ khác nhau. Với Cloudflare, mình cần nhập vào Zone ID của tên miền (đã ghi lại ở bước 4)
  • Password: nhập vào API Token của Cloudflare (đã tạo ở bước 3)
  • TTL: có thể để trống
  • Description: nhập nội dung tuỳ thích để ghi nhớ
Nhập vào thông số cho DNS Dynamic Client

Bấm Save để lưu lại.

pfSense sẽ tự động kết nối đến Cloudflare thông qua API Token và Zone ID để cập nhật Zone DNS cho tên miền pfsense.thuanbui.me

Tạo Dynamic DNS Client thành công cho tên miền pfsense.thuanbui.me

Kiểm tra lại trên Cloudflare, tên miền đã được trỏ về Public IP ở nhà, giống với Cache IP hiển thị trong pfSense.

pfSense không cho chỉnh tần suất cập nhật Dynamic DNS nên mình không rõ bao lâu nó sẽ chạy 1 lần. Có lẽ hệ thống nó đủ thông minh để cập nhật mỗi khi IP ở nhà có sự thay đổi.


Nếu mạng nhà không sử dụng pfSense, bạn có thể cập nhật Dynamic DNS lên Cloudflare bằng cách dùng Bash Script trên Linux theo hướng dẫn dưới đây.

Cập nhật IP động cho tên miền qua CloudFlare để truy cập homelab tại nhà

Chúc bạn thực hiện thành công!

Nguồn: thuanbui