文档章节

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

烂泥行天下
 烂泥行天下
发布于 2015/11/01 10:34
字数 970
阅读 943
收藏 11

本文由ilanniweb提供友情赞助,首发于烂泥行天下

想要获得更多的文章,可以关注我的微信ilanniweb。

今天我们来介绍一个比较简单的DNS服务器dnsmasq。这款软件,已经被我成功使用到公司的所有虚拟机中,目前公司有虚拟机80台左右,而且所在的服务器运行正常。现在看来dnsnasq还是能支持这么多的机器的,服务器的性能还是可以承担的。

一、dnsmasq简介

dnsmasq是一款小巧且方便地用于配置DNS服务器和DHCP服务器的工具,适用于小型网络,它提供了DNS解析功能和可选择的DHCP功能。

dnsmasq可以解决小范围的dns查询问题,如果业务是跨机房、跨地区的话不建议使用dnsmasq做为dns解析服务器。

dnsmasq官网如下:

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

clip_image001

下载dnsmasq地址如下:

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

clip_image002

通过上图,我们可以看到dnsmasq目前还在持续性更新。

二、安装dnsmasq

dnsmasq的安装我们可以源码安装,也可以直接通过yum和apt-get方式进行安装,下面对此分别介绍下。

2.1 源码安装

源码安装dnsmasq,从dnsmasq官网下载,如下:

wget http://www.thekelleys.org.uk/dnsmasq/dnsmasq-2.75.tar.gz

clip_image003

yum -y install gcc

clip_image004

tar -xf dnsmasq-2.75.tar.gz

cd dnsmasq-2.75

make install

clip_image005

clip_image006

安装完毕后,查看下dnsmasq的版本。如下:

dnsmasq -v

clip_image007

2.2 yum和apt-get方式安装

yum方式安装,如下:

yum -y install dnsmasq

clip_image008

dnsmasq -v

clip_image009

apt-get方式安装,如下:

sudo apt-get -y install dnsmasq

clip_image010

dnsmasq -v

clip_image011

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

clip_image012

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

clip_image013

nslookup ilanni.com

nslookup wwww.ilanni.com

nslookup www.baidu.com

clip_image014

通过上图,我们可以很明显的看出www.ilanni.com、ilanni.com都解析到了192.168.1.24这台服务器上,而www.baidu.com已经解析到公网的IP地址。

© 著作权归作者所有

共有 人打赏支持
烂泥行天下
粉丝 31
博文 78
码字总数 152729
作品 0
杭州
运维
私信 提问
加载中

评论(1)

purely
purely
老王,给你点个赞。
使用Dnsmasq搭建本地dns服务器上网

导读 搭建一个属于自己的本地DNS服务器很有必要,利用Dnsmasq来搭建一个属于自己的本地DNS服务器,享受更干净无污染、更智能快速和没有广告干扰的DNS解析服务。 一、Dnsmasq安装 安装并启动D...

linuxprobe16
2016/11/17
66
0
dnsmasq安装配置

Dnsmasq安装配置 默认的情况下,我们平时上网用的本地DNS服务器都是使用电信或者联通的,但是这样也导致了不少的问题,首当其冲的就是上网时经常莫名地弹出广告,或者莫名的流量被消耗掉导致...

周新宇1991
2017/01/17
0
0
解决dnsmasq安装好之后主机不能解析其他域名的问题

概述 事情是这样的,我想在阿里云上搭建一个dns服务器,没错就是吃空了,在阿里云上搭建一个本地的dns服务器,安装好之后发现不能ping域名了,难道是dns服务器的问题,换成114的dns也没有用,...

bboysoulcn
08/16
0
0
openshift/origin工作记录(6)——本地DNS服务器的创建与配置

之前在建立openshift集群时,是直接修改各个节点的/etc/hosts文件,加上静态的域名解析。当节点数量很多或者后续执行集群节点扩容时,都需要修改大量的/etc/hosts文件,很麻烦。 这里选择在本...

huqigang
01/03
0
0
Raspberry Pi AP功能改进: systemd服务封装以及dnsmasq的使用

前言 在上一篇《Raspberry pi 设置自动拨号, 搭建无线路由环境》一文中,笔者利用hostapd和udhcpd程序,创建无线热点,实现地址分配以及DNS服务器的设置。本篇将基于上一篇的环境,对树莓派A...

jiangche00
2017/05/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

127.0.0.1 和 0.0.0.0 地址的区别

1. IP地址分类 1.1 IP地址表示 IP地址由两个部分组成,net-id和host-id,即网络号和主机号。 net-id:表示ip地址所在的网络号。 host-id:表示ip地址所在网络中的某个主机号码。 即: IP-a...

华山猛男
18分钟前
4
0
解决Unknown host 'd29vzk4ow07wi7.cloudfront.net'. You may need to adjust the proxy settings in Gradle.

把 总项目 下的 build.gradle 中的 两个 jcenter() 用 maven{ url ‘http://maven.aliyun.com/nexus/content/groups/public/’} 代替。...

lanyu96
23分钟前
1
0
基于redis的分布式锁

redisson提供了基于redis的分布式锁实现方式,本文就尝试了下锁的使用方式。Redisson同时还为分布式锁提供了异步执行的相关方法,第二节执行介绍。 一、可重入锁验证 同一个jvm里面同一线程的...

noob_chr
32分钟前
7
0
CPU性能过剩提升乏力影响未来行业发展吗?

虽然CPU仍然在不断发展,但是它的性能已经不再仅仅受限于单个处理器类型或制造工艺上了。和过去相比,CPU性能提升的步伐明显放缓了,接下来怎么办,成为横亘在整个行业面前的大问题。 自201...

linux-tao
34分钟前
3
0
设计模式“6”大原则!

面向对象设计原则 概述 对于面向对象软件系统的设计而言,在支持可维护性的同时,提高系统的可复用性是一个至关重要的问题,如何同时提高一个软件系统的可维护性和可复用性是面向对象设计需要...

Java干货分享
51分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部