【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

 

posted @ 2022-01-06 16:35  代码诠释的世界  阅读(2512)  评论(0编辑  收藏  举报