DNSmasq介绍

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

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

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

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

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

本文参考 :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地址

DNSmasq服务搭建的更多相关文章

  1. centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更新 第三十节课

    centos  DNS服务搭建  DNS原理  使用bind搭建DNS服务器 配置DNS转发 配置主从  安装dig工具  DHCP  dhclient  各种域名解析记录  mydns DNS动态更 ...

  2. ServiceStack.Hello——跨平台.net REST api服务搭建

    ServiceStack.Hello--跨平台.net REST api服务搭建 自己创建: https://github.com/ServiceStack/ServiceStack/wiki/Cre ...

  3. WCFRESTFul服务搭建及实现增删改查

    WCFRESTFul服务搭建及实现增删改查 RESTful Wcf是一种基于Http协议的服务架构风格,  RESTful 的服务通常是架构层面上的考虑. 因为它天生就具有很好的跨平台跨语言的集成能力 ...

  4. 微信小程序语音识别服务搭建全过程解析(项目开源在github)

    silk v3录音转olami语音识别和语义处理的api服务(ubuntu16.04服务器上实现) ## 重要的写在前面 重要事项一: 目前本文中提到的API已支持微信小程序录音文件格式:silk v ...

  5. 微信小程序语音识别服务搭建全过程解析(https api开放,支持新接口mp3录音、老接口silk录音)

    silk v3(或新录音接口mp3)录音转olami语音识别和语义处理的api服务(ubuntu16.04服务器上实现) 重要的写在前面 重要事项一: 所有相关更新,我优先更新到我个人博客中,其它地方 ...

  6. dnsmasq服务的安装与配置

    在ubuntu16.04上安装dnsmasq服务,在本地做泛域名解析 安装 $ apt-get install dnsmasq -y $ /etc/init.d/dnsmasq start 配置 Dn ...

  7. Git服务搭建及github使用教程

    .pos { position: fixed; top: 35%; left: 90% } .pos a { border: 2px solid white; background: #99CCFF; ...

  8. eureka服务搭建

    Server端 引入eureka server的maven依赖 引入依赖时无需给定eureka的版本号,maven会根据当前使用的SpringCloud版本来判断应该引入哪个版本的euraka ser ...

  9. NodeJs之服务搭建与数据库连接

    NodeJs之服务搭建与数据库连接 一,介绍与需求分析 1.1,介绍 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境. Node.js 使用了一个事件驱动.非阻 ...

随机推荐

  1. Caused by: org.apache.catalina.LifecycleException: A child container failed during start

    错误提示: 严重: A child container failed during start java.util.concurrent.ExecutionException: org.apache. ...

  2. (转)Vi命令详解

    vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的任何版本,vi编辑器是完全相 ...

  3. (转)java提高篇(二)-----理解java的三大特性之继承

    在<Think in java>中有这样一句话:复用代码是Java众多引人注目的功能之一.但要想成为极具革命性的语言,仅仅能够复制代码并对加以改变是不够的,它还必须能够做更多的事情.在这句 ...

  4. C语言基础 - 实现单向链表

    回归C基础 实现一个单向链表,并有逆序功能 (大学数据结构经常是这么入门的) //定义单链表结构体 typedef struct Node{ int value; struct Node *next; ...

  5. 【RequireJS】requireJS的基础知识

    1. requirejs的优点 1)异步加载依赖的文件 2)管理文件加载顺序 3)管理文件加载的包路径 2. requirejs下载地点 https://github.com/jrburke/requ ...

  6. CubieBoard开发板数据源介绍

    1: Linaro/Ubuntu Linaro is a not-for-profit engineering organization consolidating and optimizing op ...

  7. global,$GLOBALS[' '] 全局, 浮动float跟margin的注意事项

    $a; global只能声明变量为全局,不能赋值,否则报错未定义:global $a; 相对于$GLOBALS['a'],写法是这样的,所有定义过的变量都存在这里: //浮动float跟margin的 ...

  8. Android性能测试——Allocation Tracker(Device Monitor)

    Android性能测试--Allocation Tracker(Device Monitor) Allocation Tracker 能做什么? 追踪内存分配信息,按顺序排列,这样我们就能清晰看出来某 ...

  9. Angular4.0从入门到实战打造在线竞拍网站学习笔记之三--依赖注入

    Angular4.0基础知识之组件 Angular4.0基础知识之路由 依赖注入(Dependency Injection) 正常情况下,我们写的代码应该是这样子的: let product = ne ...

  10. 网站相关人员信息记录humans.txt

    前面的话 robots.txt文件告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取.而humans.txt文件则是为人类准备的,包含参加该网页设计和建立的相关人员的信息.本文将详细介绍humans.tx ...