dnsmasq trên Pi OS 11 (bullseye)

Cài đặt

sudo apt install dnsmasq dnsutils
sudo service dnsmasq status

dnsmasq tự động khởi chạy sau khi cài đặt

Cấu hình /etc/dnsmasq.conf

Giả sử LAN ip tĩnh của máy tính RPi mà dnsmasq đang chạy là 192.168.1.11

sudo nano /etc/dnsmasq.conf

# dnsmasq lắng nghe yêu cầu DNS tại đây
listen-address=::1,127.0.0.1,192.168.1.11

# nghe từ mạng có dây và không dây
interface=eth0
interface=wlan0

# domain của dnsmasq server
domain=example.lan

# chuyển truy vấn khi không tìm thấy, cho
# Google's nameservers
server=8.8.8.8
server=8.8.4.4

# đặt ip tĩnh cho tên miền
address=/example.lan/127.0.0.1 
address=/example.lan/192.168.1.11
address=/domain.here/192.168.1.100
address=/another.here/192.168.1.101

Save (Ctrl + X Y) rồi kiểm tra lỗi file cấu hình

sudo dnsmasq --test

Soạn thảo /etc/resolv.conf

sudo nano /etc/resolv.conf

# đặt localhost là nameserver duy nhất
nameserver 127.0.0.1

Đặt thuộc tính để /etc/resolv.conf không bị NetworkManager thay đổi

sudo chattr +i /etc/resolv.conf

Nếu dùng option no-resolv thì không cần bước này.

Soạn thảo /etc/hosts

127.0.0.1       dnsmasq
192.168.1.11 	dnsmasq
192.168.1.1   	gateway
192.168.1.100	domain.here
192.168.1.101 	another.here

Các khai báo trong file /etc/hosts có tác dụng trỏ IP tới domain name và ngược lại.

Khởi động lại và mở firewall cho DNS

sudo service dnsmasq restart

# giả sử đã cài đặt ufw, mở port 53 cho IN và OUT
sudo ufw allow in from 192.168.1.0/24 to 192.168.1.11 port 53 proto udp
sudo ufw allow out from 192.168.1.0/24 to 192.168.1.11 port 53 proto udp

Kiểm thử hoạt động của dnsmasq

sudo dig example.lan

Xem thêm phần kiểm thử tại Domain name cho camera | My RPi (lyle.info)

Chú thích

Nếu vì lý do nào đó, dnsmasq không giành được quyền làm DNS chính trong mạng LAN, chúng ta phải cài đặt để dnsmasq làm DNS trên client đang dùng

Hoặc cài đặt DNS ở router

Comments Off on dnsmasq trên Pi OS 11 (bullseye)

Filed under Software

Comments are closed.