Dnsmasq

前言

一开始选择了 bindopen in new window,试用后觉得配置麻烦就选择了更为轻量的 dnsmasqopen in new window

该笔记基本参考 CentOS7 安装 dnsmaqs 局域网 DNSopen in new window

安装

1. 基本环境

yum install bind-utils dnsmasq -y

2. 备份

cp /etc/dnsmasq.conf /etc/dnsmasq.conf.bak

3. 配置

/etc/dnsmasq.conf 中可以看到都是注释项,所以猜测清空所有再增加也可:

port=53
# 表示严格按照 resolv-file 文件中的顺序从上到下进行 DNS 解析, 直到第一个成功解析成功为止
strict-order
# 指定上游dns服务器
resolv-file=/etc/resolv.dnsmasq.conf
# 自定义的dns记录文件
addn-hosts=/etc/dnsmasq.hosts
# 设为当前服务器
listen-address=192.168.0.42
# 缓存大小
cache-size=150


# 注意该项是否正确(我在启用时网卡指向了另外一个)
interface=eth0

填写上游 DNS 服务:

vim /etc/resolv.dnsmasq.conf

# 写入
nameserver 223.5.5.5
nameserver 223.6.6.6
nameserver 114.114.114.114

填写自建的 DNS 解析:

vim /etc/dnsmasq.hosts

# 写入
192.168.0.144 test.com

将当前主机的 DNS 服务指向 dnsmasq,若重启失效那么需要对 NetworkManager 进行配置。

vim /etc/resolv.conf

nameserver 192.168.0.42

最后重启服务:

# 检查配置正确
dnsmasq --test

# 重启
systemctl restart dnsmasq

测试

切换到其他主机下:

dig @192.168.0.42 test.com

如果测试失败,可以考虑端口是否被防火墙拦截:

telnet 192.168.0.42 53