本文首發於個人博客,內容略有改動
原文連接:使用 Dnsmasq 自建 DNSdom
Dnsmasq 的功能比較多,本文介紹它的 DNS 功能。
有些 Linux 發行版中預裝了 Dnsmasq, 若是沒有能夠經過軟件管理器安裝,這裏不贅述。
Dnsmasq 的配置文件通常在 /etc/dnsmasq.conf
。
幾個關鍵的參數:code
port
DNS的端口resolv-file
指向另外一個文件,裏面定義了上游 DNS,當遇到本地的 DNS 沒法解析的域名,則會向上遊 DNS 進行查詢listen-address
這裏填寫監聽的 ip,若是要應用於全部的網卡可設爲0.0.0.0
,或者設爲指定的 ip 也可最爲重要的參數就是 address
了。blog
這個參數即爲註冊的 DNS 記錄。
例如:address=/test.domain.com/192.168.1.1
dns
Dnsmasq 比 SkyDNS (以及修改 hosts 文件的方案)強大的一點就是支持泛域名解析,例如:address=/.domain.com/192.168.1.1
會將 domain.com
下的全部子域名都解析到指定的 ip 上,另有配置的除外。ip
配置好之後重啓一下 Dnsmasq 服務便可生效。get
Dnsmasq 能夠用於本機做爲高級的 hosts 使用,也可搭建在國外的 VPS 上,防止 DNS 污染。博客
注意:CentOS7 系統中會有一個默認由 libvirtd 管理的 dnsmasq 服務和一個 systemd 管理的 dnsmasq 服務。建議使用 virsh net-autostart --disable default
命令關閉由 libvirtd 啓動的 dnsmasq,經過 systemctl enable dnsmasq.service
實現開機啓動。域名