一、相關文檔
https://wiki.archlinux.org/title/Dnsmasq
二、安裝
Ubuntu 18.04附帶了systemd-resolve,需要禁用它,因為它綁定到53端口,與Dnsmasq端口沖突。
運行以下命令以禁用已解析的服務:
sudo systemctl disable systemd-resolved sudo systemctl stop systemd-resolved
sudo apt-get install dnsmasq
三、配置系統相關
sudo vim /etc/hostname
# 修改為
mail.test.com
重啟后生效:
在hosts文件中增加 本地IP到域名映射
sudo vim /etc/hosts
192.168.10.99 mail.test.com #更改為Ubuntu本機局域網IP
啟動服務:
sudo /etc/init.d/dnsmasq start
將服務器的DNS服務器指向Dnsmasq服務器:
sudo vim /etc/resolv.conf nameserver 127.0.0.1 # 主要是這行 nameserver 8.8.8.8
四、配置Dnsmasq
1. 文件位置 /etc/dnsmasq.conf
2. 配置resolv-file=/etc/resolv.dnsmasq.conf,表示dnsmasq 會從這個指定的文件中尋找上游dns服務器。同時取消 strict-order 前面的注冊#號。
3. 檢查一下no-hosts前面是不是已經有了#號,默認的情況下是有的,dnsmasq 會首先尋找本地的 hosts 文件再去尋找緩存下來的域名, 最后去上游dns 服務器尋找。
4. 設置:listen-address=127.0.0.1,表示這個 dnsmasq 本機自己使用有效。注意:如果你想讓本機所在的局域網的其它電腦也能夠使用上Dnsmasq,應該把本機的局域網IP加上去:listen-address=192.168.1.123,127.0.0.1。注意:如果想允許所有的用戶使用你的DNS解析服務器,把listen-address去掉即可。
5. 配置
sudo vim /etc/resolv.conf nameserver 127.0.0.1 # 復制一份給dnsmasq cp /etc/resolv.conf /etc/resolv.dnsmasq.conf sudo vim /etc/resolv.dnsmasq.conf nameserver 8.8.8.8 nameserver 114.114.114.114 # 可以加入公司內網的域名服務器 # 復制一份hosts給dnsmasq cp /etc/hosts /etc/dnsmasq.hosts sudo vim /etc/dnsmasq.conf addn-hosts=/etc/dnsmasq.hosts
6. 重啟生效
sudo /etc/init.d/dnsmasq restart
7. 測試
dig www.baidu.com #第一次是沒有緩存,所以時間是200多
五、使用Dnsmasq
如果是window系統,配置DNS服務器
測試
參考文章:
https://www.cnblogs.com/wudonghang/p/8c0398641968f848746b289b87855f61.html
https://www.cnblogs.com/coodyz/p/12074485.html