zoukankan      html  css  js  c++  java
  • 烂泥:dnsmasq搭建简易DNS服务器

    本文由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地址。

  • 相关阅读:
    高级(线性)素数筛
    Dijkstra(迪杰斯特拉)算法
    简单素数筛
    【解题报告】 POJ1958 奇怪的汉诺塔(Strange Tower of Hanoi)
    4 jQuery Chatting Plugins | jQuery UI Chatbox Plugin Examples Like Facebook, Gmail
    Web User Control Collection data is not storing
    How to turn on IE9 Compatibility View programmatically in Javascript
    从Javascrip 脚本中执行.exe 文件
    HtmlEditorExtender Ajax
    GRIDVIEW模板中查找控件的方式JAVASCRIPT
  • 原文地址:https://www.cnblogs.com/ilanni/p/4927332.html
Copyright © 2011-2022 走看看