DNSmasq介绍

DNSmasq是一个小巧且方便地用于配置 DNS 和 DHCP 的工具,适用于小型网络,它提供了DNS功能和可选择的DHCP功能。

它服务那些只在本地适用的域名,这些域名是不会在全球的DNS服务器中出现的。DHCP服务器和DNS服务器结合,

并且允许DHCP分配的地址能在DNS中正常解析,而这些DHCP分配的地址和相关命令可以配置到每台主机中,

也可以配置到一台核心设备中(比如路由器),DNSmasq支持静态和动态两种DHCP配置方式。

因此如果需要快速搭建一个DNS服务或者DHCP服务,那么可以使用此程序来搭建

1

本文参考 :http://www.360doc.com/content/14/0913/13/8314158_409140713.shtml

 


 

下载与安装

官方文档

http://www.thekelleys.org.uk/dnsmasq/doc.html

下载地址

http://www.thekelleys.org.uk/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

 

编译安装dnsmasq

make install

 

版本查看

dnsmasq -v

 

其他安装方式

yum -y install dnsmasq

sudo apt-get -y install dnsmasq

 

 

 

 


配置服务

查看需要监听网卡的IP地址

ifconfig

 

dnsmasq配置

vim /etc/dnsmasq.conf    #下面是需要修改的选项

resolv-file=/etc/resolv.conf

strict-order

listen-address=192.168.153.128

address=/demon.com/192.168.153.128

server=114.114.114.114

bogus-nxdomain=114.114.114.114

对参数的解释

resolve-file     定义dnsmasq从哪里获取上游DNS服务器的地址, 默认是从/etc/resolv.conf获取。

strict-order     表示严格按照resolv-file文件中的顺序从上到下进行DNS解析,直到第一个解析成功为止。

listen-address     定义dnsmasq监听的地址,默认是监控本机的所有网卡上。局域网内主机若要使用dnsmasq服务时,指定本机的IP地址。

address      启用泛域名解析,即自定义解析a记录,如下配置为demon.com这个域名:

address=/demon.com/127.0.0.1  #访问demon.com时的所有域名都会被解析成127.0.0.1

bogus-nxdomain  为防止DNS污染,使用参数定义的DNS解析的服务器。注意:如果是阿里云服务器上配置dnsmasq要启用此项。

server      指定dnsmasq程序使用哪个DNS服务器进行解析。       对于不同的网站可以使用不同的域名对应解析如下配置

server=/google.com/8.8.8.8    #表示对于google的服务,使用谷歌的DNS解析。

以上配置完毕后,需要重启dnsmasq服务,重启完毕后局域网中的其他机器,就可以通过该DNS服务器解析公网的域名。

 


解析测试

启动服务

dnsmasq

 

修改resolv.conf文件,将服务器地址改为本机地址

vim  /etc/resolv.conf

 

对于reslov.conf的这个文件作用主要有四个关键字:

nameserver      //定义DNS服务器的IP地址
domain          //定义本地域名
search          //定义域名的搜索列表
sortlist        //对返回的域名进行排序

 

举个例子

domain             demonxian3.com

search              www.demonxian3.com mail.demonxian3.com ftp.demonxian3.com

nameserver      114.114.114.114

nameserver      223.5.5.5

 

另外:domain和search不能共存;如果同时存在,后面出现的将会被使用。

当程序寻找不到主机域名时,会对 search 后面的参数一一查找主机域名

测试是否解析成功

 

因为之前配置了 address=/demon.com/192.168.153.128

所以当我们访问www.demon.com时被解析成本机的IP地址

--------------------------------------------

另外其他 dns列表如下:

隐私优先的 DNS 解决方案 Tenta DNS
Tenta DNS 是一个隐私优先的 DNS 解决方案,它提供一个 DNS 服务器套件,其中包含权威 DNS 服务器,递归 DNS 服务器,以及 NSnitch,实现更安全,更可靠的上网体验。N...
迷你DNS服务器 BlackHoleJ[国产]
BlackHole是一个Java编写的DNS服务器,它可以进行DNS缓存,也支持自定义域名配置,并可以防止DNS污染。比起老牌的DNS软件BIND、pdnsd,BlackHole功能比较简单,但...
开源DNS服务器 PowerDNS[推荐]
PowerDNS 是一个跨平台的开源DNS服务组件,PowerDNS同时有Win32和Linux/Unix的版本。 PowerDNS在Win32下使用 Access的mdb文件记录DNS信息,而...
上次更新: 2017年11月29日收藏 100评论 2评分 7.2
智能DNS系统 wddns
wddns 是一套基于bind+mysql构建开发,web在线管理的智能DNS系统,安装方便,快速,让你可在最短时间内架构一套DNS/智能DNS系统.目前支持电信/网通/教肓网/移动/铁通/广电...
DNS 服务器 dnspod-sr[推荐][国产]
DNSPod Security Recursive DNS Server 关于 dnspod-sr 是一个运行在 Linux 平台上的高性能的递归 DNS 服务器软件,具备高性能、高负载、易扩展...
DNS服务器软件 MyDNS[推荐]
MyDNS是一个UNIX平台下的免费DNS服务器端软件。它被设计成直接从数据库中读取DNS记录软件,并且修改记录后也可时时生效。
DNS服务器软件 BIND[推荐]
Bind是一款开放源码的DNS服务器软件,Bind由美国加州大学Berkeley分校开发和维护的,全名为Berkeley Internet Name Domain它是目前世界上使用最为广泛的DN...
DNS服务工具 Dnsmasq
DNSmasq是一个轻巧的,容易使用的DNS服务工具,它可以应用在内部网和Internet连接的时候的IP地址NAT转换,也可以用做小型网络的DNS服务。
Java的DNS开发包 dnsjava
dnsjava是DNS协议的一个Java开源实现。 示例代码: Record [] records = new Lookup("gmail.com", Type.MX).run(); for (...
BIND 9的Web管理界面 xbaydns
它尽量将BIND9的新功能加以实现,而不仅仅是一个记录的管理工具。现在我们正在前期的准备阶段,有不少文件产生。 这里列 出了我们完成的相关内容。 以下是系列视频讲座,有顺序的,由浅入深。 DNS...
Windows下的DNS服务器 NtBind
NtBind 是开源 DNS 服务器——Bind 的 Windows 版本。
C语言DNS解析器 dns.c
dns.c是一个在单一的.C 文件中实现递归的,可重入,无阻塞DNS解析器。它具有一个记录无关的API ,重新启动记录迭代器支持智能查询的递归。 核心API围绕着实际的DNS数据包以及DNS协议...
DNS 代理 dnscrypt-proxy
dnscrypt-proxy 是一个 DNS 代理,实现类似 DNS 缓存和操作系统解析器。
加密DNS传输的工具 DNSCrypt
dnscrypt-proxy 可当作是一个 DNS 代理服务器,用于提供 DNS 客户端和服务器之间的安全通讯。 DNSCrypt是一个确保客户与DNS服务器之间传输安全的工具,基于DNSCur
DNS 代理服务器 pdnsd
pdnsd是一款高效灵活的DNS proxy服务器,它既可以充当一个DNS forwarding的角色,也可作为一个DNS cache服务器,更可以作为一款简单的本地解释DNS服务器。优点如下:...
规则引擎 Jess
Jess 是一个用Java编写的快速的规则引擎
轻量级DNS服务器 djbdns
djbdns (TinyDNS) 是一個由Qmail 的作者所设计的一个轻量级DNS server
DNS 管理系统 NamedManager
NamedManager 是一个基于 Web 的 DNS 管理系统,可用来添加、调整和删除 DNS 的 zones/records 数据,支持 Bind 作为后端的 DNS 服务,支持 IPv4...
Dual DHCP DNS Server
Dual DHCP DNS Server 是一个提供 DHCP 和 DNS 服务的服务器软件,每一个功能都可以单独启用或者关闭。 It has built in dynamic updates,...
DNS优化工具 namebench
namebench 可以帮你寻找你的电脑能访问的最快的DNS服务器,通过测试并输出详细的图形报表告诉你,为什么所选择的DNS服务器是最快的。 为了获取最贴近实际情况的数字,namebench会自...
DNS查询代理 dnsproxy
dnsproxy 是一个 DNS 查询的代理,它将域名的查询请求发送到预设好的域名服务器并对查询的结果进行验证和缓存。

动态IP解析 DHIS
DHIS是一个客户端服务器的系统架构,主要用于更新的DNS主机的动态IP地址。与DHIS您可以让您的计算机始终承认并在互联网上提供相同的唯一的名称,即使其IP地址频繁更改。 DHIS是理想的宽带...

DNS管理界面 Blahz-DNS
Blahz-DNS 是一个基于PHP和MySQL的 DNS 服务器管理界面,支持 BIND 9 和 tinyDNS 。可用来管理 Primary 和 Secondary Zone 和用户认证以及...

Web的DNS管理工具 DNSDusty
DNSDusty 是一个用 Perl 开发的基于Web的DNS管理工具,可以对DNS服务器的zone信息进行动态的修改和浏览,无需数据库支持。
DNSDusty

dnspython
dnspython 是DNS协议的一个Python开源实现。

GeoDNS
GeoDNS是让BIND9的View功能使用Maxmind的IP地址数据库的一个只有四十行程序的补丁。以前也在awstats里用过Maxmind的GeoIP和GeoIPCity数据库,发现准确性...

开源的DNS系统 JOpenDNS
该项目旨在开发一个基于Linux的开源的DNS系统,该系统可以更好完成域名与IP地址的灵活映射,利用各种插件,实现DDNS以及负载均衡功能。 开发者:钟声(中国,北京) Opera...

MyDNS服务器管理 MyDNSConfig
MyDNSConfig 是一个基于Web的MyDNS 域名服务器的管理平台。MyDNS 是直接将DNS记录存储在 MySQL 中,而 MyDNSConfig 就是管理 MyDNS 数据库的接口。
MyDNSConfig

DNS 服务器 Knot DNS
Knot DNS 是一个高性能的权威 DNS 服务器,支持所有 DNS 系统的关键特性,包括区域转换、动态更新以及 DNSSEC。

DNS服务器软件 BIND 10
BIND 10 是下一代的 Bind 。 Bind是一款开放源码的DNS服务器软件,Bind由美国加州大学Berkeley分校开发和维护的,全名为Berkeley Internet Name D...

局域网的 DNS 代理 Acrylic DNS Proxy
Acrylic 是一个局域网的 DNS 代理,通过将 DNS 查询结果缓存起来以获取最大性能,支持 Windows 系统。

PowerDNS Recursor
pdns-recursor 是一个 dns 解析器(recursor),是 debian 从 powerdns 里面单独编译出来的只做 dns 解析器应用的软件。 powerdns 本身是一个支...

域名解析服务器 OpenerDNS [国产]
OpenerDNS: 是面向国内普通互联网用户开放的"高速 安全 免费"的域名解析服务器。 还在使用Google DNS或者Opendns吗?还在不断更改host文件吗?现在就切换到: Open...

基于twisted实现的智能dns系统 smartdns [国产]
smartdns 是 python 语言编写,基于 twisted 框架实现的dns server,能够支持针对不同的dns请求根据配置返回不同的解析结果。smartdns获取dns请求的源IP...
smartdns

集群域名解析管理 mysqlBind
myqslBind 是一个用来管理域名解析服务器——Bind 9 集群的软件。支持无限制的 views 、secondary only zones, unlimited masters、hidd...
mysqlBind

DNS服务器 Eagle DNS
Eagle DNS 是一个用 Java 语言开发的功能强大的多线程的平台无关的DNS服务器,基于 dnsjava 类库,支持 Primary Zones 和 Secondary Zones。

PowerAdmin
PowerAdmin 是一个基于Web 的 PowerDNS 服务器的管理工具。
PowerAdmin

DNS 防攻击工具 dnswall
dnswall是一个守护进程,过滤掉私有IP地址在DNS中的反应。它是设计用来与现有的递归DNS解析,以保护网络免受攻击的DNS重新绑定。

GAdmin BIND
GAdmin-ProFTPD是一个基于GTK的可视化域名解析服务器——BIND的管理工具。 更多的屏幕截图请看:http://mange.dynalias.org/linux/gadmin-bi...
GAdmin BIND

PowerDNS Administrator
PowerDNS Administrator 或者 PDNS-Admin ,是一个基于 Web 的 PowerDNS 管理程序。 PowerDNS 是一个跨平台的开源DNS服务组件

更多参见:https://www.oschina.net/project/tag/108/dns?company=0&sort=score&tag=108&lang=0&recommend=false&p=2