Cài Đặt Và Cấu Hình dnsmasq Trên Ubuntu
🧩 dnsmasq Là Gì?
dnsmasq là một dịch vụ DNS và DHCP cực nhẹ, được thiết kế cho môi trường nhỏ như mạng gia đình, văn phòng, lab hoặc server cục bộ. Nó có thể:
Tăng tốc độ truy vấn DNS nhờ cache
Làm DNS trung gian chuyển tiếp ra ngoài (8.8.8.8, 1.1.1.1,…)
Trỏ tên miền nội bộ tới IP tuỳ ý (ví dụ:
dev.local → 127.0.0.1)(Tuỳ chọn) Làm máy chủ DHCP cấp IP nội bộ
⚙️ Bước 1: Cài Đặt dnsmasq
sudo apt update
sudo apt install dnsmasq -yKiểm tra phiên bản:
dnsmasq --version🛠️ Bước 2: Cấu Hình dnsmasq
Mở file cấu hình:
sudo nano /etc/dnsmasq.confThêm các dòng sau (hoặc bỏ comment nếu đã có):
# Chuyển tiếp DNS ra ngoài (Google DNS và Cloudflare)
server=8.8.8.8
server=1.1.1.1
# Tăng tốc truy vấn DNS nhờ cache
cache-size=1000
# Trỏ tên miền nội bộ (ví dụ: test.local → 127.0.0.1)
address=/test.local/127.0.0.1
# Ghi log các truy vấn DNS
log-queries
log-facility=/var/log/dnsmasq.logLưu lại với Ctrl + O, Enter, và Ctrl + X.
❌ Bước 3: Khắc Phục Lỗi Port 53 (Nếu Có)
Nếu gặp lỗi như:
failed to create listening socket for port 53: Address already in useĐiều này có nghĩa cổng 53 đã bị dịch vụ khác chiếm, thường là systemd-resolved.
👉 Giải pháp: Tắt systemd-resolved
sudo systemctl disable systemd-resolved
sudo systemctl stop systemd-resolvedXoá link /etc/resolv.conf và trỏ DNS về dnsmasq:
sudo rm /etc/resolv.conf
echo "nameserver 127.0.0.1" | sudo tee /etc/resolv.conf
sudo chattr +i /etc/resolv.confNếu không muốn tắt
systemd-resolved, bạn có thể chỉnh/etc/systemd/resolved.confvà đặtDNSStubListener=no.
🔁 Bước 4: Khởi Động Lại dnsmasq
sudo systemctl restart dnsmasq
sudo systemctl enable dnsmasqKiểm tra trạng thái:
sudo systemctl status dnsmasq🔍 Bước 5: Kiểm Tra Hoạt Động
dig google.com @127.0.0.1Kiểm tra log:
tail -f /var/log/dnsmasq.log💡 Tùy Chọn: Chặn Quảng Cáo hoặc DNS Nội Bộ
Bạn có thể trỏ các tên miền quảng cáo về 0.0.0.0:
address=/ads.example.com/0.0.0.0
address=/doubleclick.net/0.0.0.0Last updated
Was this helpful?