Cấu hình cài đặt dns.bibica.net v2 trên Tencent Lighthouse Singapore

Đây là phiên bản cài đặt dns.bibica.net v2 trên Tencent Lighthouse Singapore, do Tencent cho nhiều RAM quá, nên chạy qua docker, việc cài đặt, cấu hình, backup, restore sẽ nhanh và đơn giản hơn

Bất cứ phiên bản nào của thèng dns.bibica.net, ưu tiên cao nhất vẫn là độ ổn định, sau đó mới tới tính năng, bảo mật, sự riêng tư, phiên bản v2 hiện tại bạn đọc, đã tinh chỉnh đơn giản lại rất nhiều so với công bố đầu tiên

Bạn có thể sử dụng trực tiếp dns.bibica.net hoặc tự cấu hình dùng cá nhân theo bài này

Kiến trúc cốt lõi và Luồng truy vấn

Hệ thống xử lý các truy vấn DNS thông qua một quy trình có cấu trúc nhằm tối ưu hóa tốc độ và bảo mật:

  • Lọc yêu cầu (Request Filtering): Từ chối các truy vấn ANY (RFC 8482), chặn IPv6 (AAAA) để ưu tiên IPv4, và từ chối các yêu cầu PTR (DNS ngược) cũng như các TLD nội bộ (Private TLD)
  • Làm sạch dữ liệu (Sanitization): Loại bỏ dữ liệu Client Subnet (ECS) từ phía người dùng gửi đến và lọc các tùy chọn EDNS0 cho tất cả các truy vấn gửi lên máy chủ thượng nguồn (upstream)
  • Hiệu suất (Performance): Bộ nhớ đệm Redis với TTL 3 ngày (hỗ trợ lưu trữ vào ổ cứng), phản hồi truy vấn DNS ngay lập tức (tự động cấp phát 50% RAM máy chủ trên 5 cơ sở dữ liệu độc lập)
  • Điều hướng tên miền (Domain Rewriting): Áp dụng các quy tắc chuyển hướng và ghi đè nội bộ thông qua dns_redirect

Định tuyến Upstream thông minh

Các truy vấn được định tuyến động đến các máy chủ thượng nguồn cụ thể dựa trên loại tên miền:

  • Tên miền CDN: Các tên miền nằm trong danh sách cdn_domains hoặc các phản hồi chứa CNAME của CDN sẽ được định tuyến đến Cloudflare Gateway kèm theo ECS (EDNS Client Subnet) để tối ưu việc chọn máy chủ gần nhất
  • Tên miền Google: Được chuyển tiếp đến Google DNS (8.8.8.8/8.8.4.4) có hỗ trợ ECS và điều chỉnh TTL tối thiểu
  • Tên miền Mullvad: Định tuyến riêng biệt đến dns.mullvad.net
  • Truy vấn thông thường: Tất cả các truy vấn khác được xử lý bởi upstream_cloudflare (1.1.1.1/1.0.0.1)

Lọc nội dung

Hệ thống tích hợp sẵn cơ chế chặn quảng cáo:

  • Blocklist & Allowlist: Trả về NXDOMAIN cho các tên miền nằm trong danh sách chặn (blocklist), trong khi danh sách trắng (allowlist) đảm bảo các dịch vụ thiết yếu không bị chặn nhầm

Giao thức hỗ trợ

Dịch vụ hỗ trợ các giao thức DNS mã hóa hiện đại theo cấu hình triển khai:

  • DNS-over-HTTPS (DoH): https://<DOMAIN>/dns-query
  • DNS-over-TLS (DoT): tls://<DOMAIN>
  • DNS-over-HTTP/3 (DoH3): h3://<DOMAIN>/dns-query
  • DNS-over-QUIC (DoQ): quic://<DOMAIN>

Quản lý hệ thống

  • Nguồn dữ liệu (Data Providers): Các tệp cấu hình cho CDN, Google, Mullvad và danh sách chặn sử dụng tính năng auto_reload để cập nhật thời gian thực
  • Quản lý SSL: Tự động cấp phát và gia hạn chứng chỉ Let’s Encrypt thông qua Caddy
  • Nhật ký (Logging): Theo dõi ở mức info trong tệp log/mosdns.log cùng với tóm tắt truy vấn (_query_summary) để giám sát hoạt động
Cấu hình mặc định chỉ dùng VPS riêng để phân giải DNS, không cài bất cứ dịch vụ gì không cần thiết

Reinstall OS

Sau khi tạo mới VPS, vui lòng Reinstall OS về Debian 13 “Trixie” (không dùng bản mặc định nhà cung cấp VPS cung cấp)

sudo -s
cd ~
curl -O https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.sh
bash reinstall.sh debian 13
# root with a default password 123@@@

Cài đặt Debian 13 “Trixie”

Cài đặt docker mặc định cho VPS mới chạy Debian 13 “Trixie”, cấu hình cơ bản, hạn chế mọi tinh chỉnh không cần thiết

apt install -y curl sudo && curl -fsSL go.bibica.net/vps | sudo bash

Chạy xong reboot lại 1 phát cho sạch sẽ

Cài đặt và cấu hình Mosdns-x – Caddy – Redis

Bash script đã làm sẵn mọi công đoạn, nhập domain muốn dùng và Cloudflare API Token là được

wget -qO /home/setup-dns-bibica-net-v2.sh https://go.bibica.net/setup-dns-bibica-net-v2 && sudo bash /home/setup-dns-bibica-net-v2.sh
  • Tùy chỉnh firewall
nano /home/setup-geo-firewall.sh

Mặc định cho phép user IP VN truy cập vào VPS qua TCP port 22 443 853, UDP port 443 853

ALLOW_COUNTRIES=("VN")
ALLOW_TCP_PORTS=("22" "443" "853")
ALLOW_UDP_PORTS=("443" "853")

Cần mở thêm port nào, thêm vào ALLOW_TCP_PORTS, ALLOW_UDP_PORTS

Các giá trị khác, nếu bạn không hiểu, dùng như mặc định là được

  • Điều chỉnh xong thì chạy firewall
/home/setup-geo-firewall.sh

DoH DoT DoQ DoH3 firewwall đã cấu hình mặc định mở port, nếu VPS chạy qua các dịch vụ cloud như Amazon, Google, Oralce, Tencent …. cần vào quản trị mở các port TCP 443 853UDP 443 853

Kiểm tra

  • Sau khi cài đặt xong, sẽ có 2 cron tự cập nhập danh sách bộ lọc chặn quảng cáo và cập nhập IP Việt Nam có thể truy cập vào VPS
0 2 * * * /bin/bash /home/mosdns-x/cron/blocklists-allowlists.sh > /dev/null 2>&1
30 2 * * * /home/geo-firewall/geo-firewall.sh >/dev/null 2>&1
  • Các thư mục và file, sau khi cài đặt xong, sẽ như sau
/home/caddy_config
/home/caddy_data
/home/geo-firewall
/home/mosdns-x
/home/Caddyfile
/home/compose.yml
/home/setup-cron-mosdns-block-allow.sh
/home/setup-dns-bibica-net-v2.sh
/home/setup-geo-firewall.sh
  • Muốn tùy chỉnh, cấu hình Mosdns-x, mở file
nano /home/mosdns-x/config/config.yaml

Tôi đã thêm vào rất nhiều comment để người đọc hiểu cấu hình đó có ý nghĩa gì, hơi lú đầu nếu bạn lần đầu biết tới Mosdns-x

  • Muốn tùy chỉnh thêm danh sách bộ lọc quảng cáo, bỏ chặn quảng cáo, mở file
nano /home/mosdns-x/cron/blocklists-allowlists.sh
  • Bên trong có các danh sách bộ lọc, sửa tùy thích

Kiểm tra xong hết, reboot lại VPS 1 lần nữa cho sạch sẽ, đổi lại DNS domain rồi dùng là được

Kết luận

dns.bibica.net đang dùng theo các cấu hình chính xác như bạn thấy ở bài này

Dùng Mosdns-x ít ngày khá là thích, vì đáp ứng được các yêu cầu mình cần, có điều công đoạn cấu hình rất lú người, dùng thông thường AdGuard Home vẫn tiện hơn, có điều nếu bạn cài đặt theo script như ở bài này, tính ra còn đơn giản hơn so với dùng AdGuard Home, gần như cài vào phát là có thể dùng được ngay, không phải cấu hình thêm cái gì nữa cả

Mặc định Mosdns-x đã có lưu cache vào RAM, dùng Redis kể ra hơi thừa, nhưng nó giúp đỡ phải tính toán lưu bao nhiêu key lằng nhằng, cứ tính 1/2 RAM hệ thống có cho khỏe, với nó có ghi vào ổ cứng, khi reboot VPS hay restart Mosdns-x không mất cache cũ, thấy cũng hợp lý, nên bổ sung thêm vào, nhờ dùng nó mới tính toán sơ bộ trung bình cache 1 key ~ 1kb, tính ra 1GB RAM ~ 1 triệu keys, 100 user dùng khá thoải mái


Related Posts

Chính sách bình luận: Chúng tôi rất trân trọng các bình luận của bạn và cảm ơn thời gian bạn dành để chia sẻ ý tưởng và phản hồi.
Ghi chú: Những bình luận được xác định là spam hoặc chỉ mang tính quảng cáo sẽ bị xóa.

• Để cải thiện trải nghiệm bình luận, chúng tôi khuyến khích bạn tạo một tài khoản Gravatar. Thêm avatar vào tài khoản Gravatar sẽ giúp bình luận của bạn dễ nhận diện hơn đối với các thành viên khác.

✂️ Sao chép và 📋 Dán Emoji 💪 giúp bình luận thêm sinh động và thú vị!