【ubuntu 18.04】安装Dnsmasq,配置内网DNS服务器
一、相关文档
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