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地址。

  • 相关阅读:
    MyBatis学习笔记
    通过Executor来启动线程比用Thread的start()更好
    步骤2:JMeter 分布式测试(性能测试大并发、远程启动解决方案)
    步骤1:JMeter 录制脚本接口测试
    adb常用命令(手机测试)
    电商购物核心功能测试点
    APP测试基本流程以及APP测试要点
    Jmeter-jtl性能测试报告转换-2种导出方法
    Linux之find查找命令
    linux之top命令详解
  • 原文地址:https://www.cnblogs.com/ilanni/p/4927332.html
Copyright © 2011-2022 走看看