使用DNSmasq搭建局域网DNS服务器

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

使用DNSmasq搭建局域网DNS服务器_第1张图片

DNSmasq 介绍

DNSmasq是一个小巧且方便地用于配置DNS和DHCP的工具,适用于小型网络,它提供了DNS功能和可选择的DHCP功能。它服务那些只在本地适用的域名,这些域名是不会在全球的DNS服务器中出现的。DHCP服务器和DNS服务器结合,并且允许DHCP分配的地址能在DNS中正常解析,而这些DHCP分配的地址和相关命令可以配置到每台主机中,也可以配置到一台核心设备中(比如路由器),DNSmasq支持静态和动态两种DHCP配置方式。引用百科

DNSmasq 搭建步骤

服务器 CentOS 6.5

安装

# yum -y install dnsmasq

提示Complete! 安装完成

修改配置

#  vi /etc/dnsmasq.conf
resolv-file=/etc/resolv.dnsmasq.conf
strict-order
listen-address=192.168.10.2
address=/域名/192.168.10.2
server=192.168.10.2
:wq

设置上游DNS服务器地址

vi /etc/resolv.dnsmasq.conf

nameserver 202.96.134.133
nameserver 114.114.114.114

【20180322补充】 如果不设置上游DNS服务器地址,可能会导致奇葩问题,今天本地七牛就出现图片无法访问: net::ERR_NAME_NOT_RESOLVED,通过设置resolv.dnsmasq.conf修复

解释

resolv-file 定义dnsmasq从哪里获取上游DNS服务器的地址, 默认是从/etc/resolv.conf获取。在此我们定义的是从/etc/resolv.dnsmasq.conf文件中获得。
strict-order 表示严格按照resolv-file文件中的顺序从上到下进行DNS解析,直到第一个解析成功为止。
listen-address 定义dnsmasq监听的地址,默认是监控本机的所有网卡上。
address 自定义域名解析的IP地址。注意dnsmasq是支持泛域名解析的,以上配置就是一个典型的泛域名解析实例。
address可以过滤某些网站,比如让a.com不能访问,直接让a.com 解析到本地
address=/a.com/127.0.0.1

server 定义dnsmasq使用DNS服务器进行解析,也可以配置不同域名使用不同DNS解析
比如 google使用 8.8.8.8 ,baidu 使用 114.114.114.114
server=/google.com/8.8.8.8
server=/baidu.com/114.114.114.114

启动服务

service dnsmasq start
service dnsmasq restart

测试

使用另外一台 Linux 测试 :

#  vi /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.10.2
nameserver 202.96.134.133
:wq
测试
#nslookup www.baidu.com
Server:		192.168.10.2
Address:	192.168.10.2#53
 
使用192.168.10.2 解析成功

Windows DNS修改:

使用DNSmasq搭建局域网DNS服务器_第2张图片

iPhone DNS修改:

使用DNSmasq搭建局域网DNS服务器_第3张图片

Android DNS修改:

使用DNSmasq搭建局域网DNS服务器_第4张图片

设置开机启动

chkconfig dnsmasq on

注意事项

  • DNSmasq 安装机器的端口开放 53
  • 客户机测试不生效,重启网络

参考: 烂泥:dnsmasq搭建简易DNS服务器

如何在 iOS 设备上配置 hosts

转载于:https://my.oschina.net/wenjinglian/blog/1570611

你可能感兴趣的:(使用DNSmasq搭建局域网DNS服务器)