今天我们来介绍一个比较简单的DNS服务器dnsmasq。这款软件,已经被我成功使用到公司的所有虚拟机中,目前公司有虚拟机80台左右,而且所在的服务器运行正常。现在看来dnsnasq还是能支持这么多的机器的,服务器的性能还是可以承担的。
一、dnsmasq简介
dnsmasq是一款小巧且方便地用于配置DNS服务器和DHCP服务器的工具,适用于小型网络,它提供了DNS解析功能和可选择的DHCP功能。
dnsmasq可以解决小范围的dns查询问题,如果业务是跨机房、跨地区的话不建议使用dnsmasq做为dns解析服务器。
dnsmasq官网如下:
http://www.thekelleys.org.uk/dnsmasq/doc.html
下载dnsmasq地址如下:
http://www.thekelleys.org.uk/dnsmasq/
通过上图,我们可以看到dnsmasq目前还在持续性更新。
二、安装dnsmasq
dnsmasq的安装我们可以源码安装,也可以直接通过yum和apt-get方式进行安装,下面对此分别介绍下。
2.1 源码安装
源码安装dnsmasq,从dnsmasq官网下载,如下:
wget http://www.thekelleys.org.uk/dnsmasq/dnsmasq-2.75.tar.gz
yum -y install gcc
tar -xf dnsmasq-2.75.tar.gz
cd dnsmasq-2.75
make install
安装完毕后,查看下dnsmasq的版本。如下:
dnsmasq -v
2.2 yum和apt-get方式安装
yum方式安装,如下:
yum -y install dnsmasq
dnsmasq -v
apt-get方式安装,如下:
sudo apt-get -y install dnsmasq
dnsmasq -v
dnsmasq安装完毕后,现在我们来配置dnsmasq。
三、dnsmasq配置
dnsmasq配置选项比较多,我们可以根据实际需求来进行配置。下面介绍下,平时最常使用的配置方法。
vim /etc/dnsmasq.conf
resolv-file=/etc/resolv.dnsmasq.conf
strict-order
listen-address=192.168.1.24
address=/ilanni.com/192.168.1.24
server=223.5.5.5
bogus-nxdomain=223.5.5.5
resolve-file定义dnsmasq从哪里获取上游DNS服务器的地址, 默认是从/etc/resolv.conf获取。
在此我们定义的是从/etc/resolv.dnsmasq.conf文件中获得。
strict-order表示严格按照resolv-file文件中的顺序从上到下进行DNS解析,直到第一个解析成功为止。
listen-address定义dnsmasq监听的地址,默认是监控本机的所有网卡上。
如果想让局域网内的其他机器使用dnsmasq解析域名的话,需要添加本机的IP地址。
address自定义域名解析的IP地址,在此已ilanni.com这个域名为例。注意dnsmasq是支持泛域名解析的,以上配置就是一个典型的泛域名解析实例。
address也可以过滤某些网站,比如如果不想让客户端解析youk.com这个域名的话,我们这个把该域名解析到一台不存在的服务器上或者解析到127.0.0.1这个地址。如下:
address=/ilanni.com/127.0.0.1
为了防止DNS污染,我们使用bogus-nxdomain定义DNS解析的服务器。
注意:如果在阿里云服务器上配置dnsmasq,一定要启用此项。
server这行告诉dnsmasq使用DNS服务器进行解析
我们也可以通过server对不通的网站使用不通的DNS服务器进行解析。如下:
server=/google.com/8.8.8.8
以上表示对于google的服务,使用谷歌的DNS解析。
以上配置完毕后,需要重启dnsmasq服务,重启完毕后局域网中的其他机器,就可以通过该DNS服务器解析公网的域名。
四、客户端测试
现在我们切换到客户端,修改客户端的dns配置文件。在此已centos6为例进行讲解,如下:
cat /etc/resolv.conf
nslookup ilanni.com
nslookup wwww.ilanni.com
nslookup www.baidu.com
通过上图,我们可以很明显的看出www.ilanni.com、ilanni.com都解析到了192.168.1.24这台服务器上,而www.baidu.com已经解析到公网的IP地址。
http://my.oschina.net/lanni654321/blog/524483?p=1
相关推荐
NULL 博文链接:https://chblog.iteye.com/blog/2030797
dnsmasq,dhcp dns源码
课程概述课程以Dnsmasq为主线,突出实战应用性,全面深入讲解如何基于Dnsmasq搭建企业生产级易用易维护的DNS服务,包括DNS的常见解决方案介绍,Dnsmasq与Bind的对比等基础知识,以及实战部署、应用测试高可用Dnsmasq...
glider glider是具有多种协议支持的转发代理,也是具有ipset管理功能(如dnsmasq)的dns转发服务器。 我们可以将本地侦听器设置为代理服务器,并且对interne glider glider的转发请求是具有多种协议支持的转发代理,...
参考博文:http://blog.csdn.net/u013097499/article/details/50893438
dnsmasq为某个域名配置单独的DNS.txt
k8s-dns-dnsmasq镜像,镜像使用方法: docker load -i k8s-dns-dnsmasq-nanny-amd64-1.14.8.tar.gz
Dnsmasq 为小型网络提供网络基础设施:DNS、DHCP、路由器通告和网络引导。它被设计为轻量级且占用空间小,适用于资源受限的路由器和防火墙。它还广泛用于智能手机和便携式热点的网络共享,以及支持虚拟化框架中的...
与dnsmasq的所有服务器不同,smartdns返回的是访问速度变频器的解析结果。(详细差异请看 ) 支持树莓派,openwrt,华硕路由器,windows等设备。 目录 软件效果展示 阿里DNS使用阿里DNS查询百度IP,并检测结果。 pi...
DNSmasq CentOS 一键安装DNSmasq搭建公共DNS 安装 wget https://raw.githubusercontent.com/helloxz/dnsmasq/master/dns.sh --no-check-certificate chmod +x dns.sh ./dns.sh
Masq是一个简单的本地dns服务器,例如 。 第一版摘自 。 请注意:Masq目前仅适用于macOS。 本地DNS 由于无法在/etc/hosts文件中使用通配符,因此我们无法指定以下内容: 127.0.0.1 *.dev. 要解决此问题,我们将...
Dnsmasq是一种轻巧的小型DHCP和DNS服务器。 您可以在其页面上阅读有关它的更多信息。 Dnsmasq可以回答来自本地文件的DNS查询,也可以转发给上游服务器。 此Stubby + Dnsmasq Docker映像将两者打包在一起。 它设置...
glider是具有多种协议支持的前向代理,也是具有ipset管理功能(例如dnsmasq)的dns / dhcp服务器。 我们可以将本地侦听器设置为代理服务器,并通过转发器将请求转发到Internet。 | Forwarder ----------------- > | ...
最近国外的服务器本地DNS总是出故障,闪断一会儿都会影响业务。于是在机房里找了两台Server,安装上keepalived和dnsmasq实际本地的DNS缓存
dnsmasq源码
DNSmasqWeb基于DNSmasq的开源轻量级DNS解析,DHCP地址分配的开源系统设计【Python运维圈】微信公众号也可以微信搜索Python运维圈技术交流QQ群459457262加群时请注明来自Github一,应用说明本系统可同时提供DNS解析...
由UniFi控制器中的别名/名称替代填充的dnsmasq。 但为什么? 为了弥补UniFi USG对客户端没有主机名别名/替代的事实。 这个怎么运作 它轮询UniFi控制器,并将客户端名称和IP地址写入dnsmasq拾取的文件中。 配置 统一...
Ubuntu配置DNS,设置Ubuntu DNS缓存 1. 安装dnsmasq: # 安装dnsmasq的软件包 ...2.设定dnsmasq接管本机的DNS解析请求: # 修改dnsmasq的配置文件 [xport@ubuntu ~] $ sudo gedit /etc/dnsmasq.conf
k8s
dnsmasq-2.85.tar.xz dnsmasq-2.85.tar.xz dnsmasq-2.85.tar.xz