DNSmasq是一个用于配置DNS和DHCP的轻便工具,适合小型网络,利用得当可以防污染,防劫持,消除广告,还可以搭配其他软件实现更多功能
安装与配置
1 | #CentOS/Debian安装 |
Linux系统安装后的配置文件一般在 /etc/dnsmasq.conf
macOS需要运行brew info dnsmasq
来查找配置文件地址
配置文件部分说明
strict-order
意味着解析域名时,dnsmasq会按照/etc/resolv.conf
文件中DNS服务器的顺序进行解析,直到解析成功为止。
/etc/resolv.conf
是系统自带的文件。
1 | # 修改下面这个server字段,也可以添加上游DNS,而不需要修改 /etc/resolv.conf 使用no-resolv将此功能关闭 |
listen-address
表示DNS服务监听的地址。若仅本机使用,则使用127.0.0.1
。如果想对局域网中的其他机器共同使用这个DNS服务器,还需要加上局域网中的地址192.168.78.1,127.0.0.1
,同理,若想要建立公网DNS服务,则需要写入本机的公网IP。
使用
启动服务
1 | #根据包管理器和系统的不同,使用的启动命令也不相同,以下三种是比较常用的 |
投入使用
进入系统网络设置中将DNS修改为127.0.0.1
测试服务
测试DNS服务,一般常用dig命令
1 | dig @dns domain.com |
其他
防火墙开启53端口
1 | vi /etc/sysconfig/iptables |
因为使用了海外DNS服务,有可能会解析到无法访问的地址,使用dnsmasq-china-list可以解决这个问题