1、介绍

DNSmasq是一个轻巧的,容易使用的DNS服务工具,它可以应用在内部网和Internet连接的时候的IP地址NAT转换,也可以用做小型网络的DNS服务.

它可以提供如下几个实用的功能:

1 、提供dns服务

2 、优先使用本地自定义dns

3 、提供dhcp服务

一般情况下,我们可以用bind解决dns的问题,dhcpd解决dhcp的问题,另外,还可以用ypbind解决自定义hostname解析的ip(当然还有用户的功能),它都解决了!很实用吧?这真的很吸引人,况且它一直在更新维护,最新版本是6月份的。

当碰到比较棘手的几个问题时,即可用dnsmasq通通解决:
1 局域网有很多机器希望使用一份一样的hosts定义一批名称对应的ip,你需要经常维护这份列表
2 你希望局域网的人访问某个域名时,拦截下来到指定的ip,做缓存节省带宽或者其它用途都可以
3 禁止某个域名的正常解析

 

2、安装

yum install dnsmasq

 

3、配置

no-resolv    #不使用/etc/resolv.conf文件

server=223.5.5.5     #需要使用的上层dns
server=114.114.114.114

no-negcache            #不缓存没有解析到的域名

no-hosts                  #作为内部DNS服务时,可以注释。

log-queries
log-facility=/var/log/dnsmasq.log   #日志记录位置

 

4、启动

service dnsmasq start

 

5、测试

nslookup www.4399.com

 

6、日志

第一次去上游查询。

Dec 15 16:14:06 dnsmasq[61277]: query[A] www.4399.com from 127.0.0.1
Dec 15 16:14:06 dnsmasq[61277]: forwarded www.4399.com to 223.5.5.5
Dec 15 16:14:06 dnsmasq[61277]: reply www.4399.com is <CNAME>
Dec 15 16:14:06 dnsmasq[61277]: reply www.4399.com.lxdns.com is <CNAME>
Dec 15 16:14:06 dnsmasq[61277]: reply 4399hw.xdwscache.ourglb0.com is 122.228.233.206
Dec 15 16:14:06 dnsmasq[61277]: reply 4399hw.xdwscache.ourglb0.com is 122.228.237.161
Dec 15 16:14:06 dnsmasq[61277]: reply 4399hw.xdwscache.ourglb0.com is 183.131.168.154

 

第二次直接读缓存

Dec 15 16:14:34 dnsmasq[61277]: query[A] www.4399.com from 127.0.0.1
Dec 15 16:14:34 dnsmasq[61277]: cached www.4399.com is <CNAME>
Dec 15 16:14:34 dnsmasq[61277]: cached www.4399.com.lxdns.com is <CNAME>
Dec 15 16:14:34 dnsmasq[61277]: cached 4399hw.xdwscache.ourglb0.com is 183.131.168.154
Dec 15 16:14:34 dnsmasq[61277]: cached 4399hw.xdwscache.ourglb0.com is 122.228.237.161
Dec 15 16:14:34 dnsmasq[61277]: cached 4399hw.xdwscache.ourglb0.com is 122.228.233.206

【原】dnsmasq小工具的更多相关文章

  1. 【原】得心应手小工具开发——IE代理快速切换工具

    一.引入 因为公司里上外网要经常换IE代理地址,每次切换地址都要进到Internet Options里去设置一番,经常切换的话很是麻烦,由于用了点时间作个小工具来方便自己. 二.实现思路 其实思路很简 ...

  2. 偷懒小工具 - SSO单点登录通用类(可跨域)

    写在前面的话 上次发布过一篇同样标题的文章.但是因为跨域方面做得不太理想.我进行了修改,并重新分享给大家. 如果这篇文章对您有所帮助,请您点击一下推荐.以便有动力分享出更多的"偷懒小工具&q ...

  3. 写个C#命令行参数解析的小工具

    最近测试工作做的比较多因此时常要创建一些控制台类型的应用程序.因为程序有不同的参数开关,需要在程序启动的时候通过命令行来给程序传递各种开关和参数.直接操作args有些不方便,所以就写了个解析参数的小工 ...

  4. python开发目录合并小工具 PathMerge

    前言 这个程序陆陆续续开发了几天,正好我在学Python,就一边做一边学,倒是学到不少东西. 不得不说python是快速开发的好工具. 程序做了一些改进,这两天又忙着毕设,现在才想起来发到博客上.想想 ...

  5. 一个Json结构对比的Python小工具兼谈编程求解问题

    先上代码. jsondiff.py #!/usr/bin/python #_*_encoding:utf-8_*_ import argparse import json import sys rel ...

  6. python 3.6 MJ小工具

    2017.07.14 update 做了个界面,不需要使用cmd命令行+文件路径的方式来使用了: 链接如下: http://www.cnblogs.com/chenyuebai/p/7150382.h ...

  7. C#7.2——编写安全高效的C#代码 c# 中模拟一个模式匹配及匹配值抽取 走进 LINQ 的世界 移除Excel工作表密码保护小工具含C#源代码 腾讯QQ会员中心g_tk32算法【C#版】

    C#7.2——编写安全高效的C#代码 2018-11-07 18:59 by 沉睡的木木夕, 123 阅读, 0 评论, 收藏, 编辑 原文地址:https://docs.microsoft.com/ ...

  8. Python实现Json结构对比的小工具兼谈编程求解问题

    摘要: 通过使用Python编写一个解析Json结构对比的小工具,来提炼编程求解的通用步骤和技巧. 难度: 初级 先上代码. jsondiff.py #!/usr/bin/python #_*_enc ...

  9. Java Swing窗体小工具实例 - 原创

    Java Swing窗体小工具实例 1.本地webserice发布,代码如下: 1.1 JdkWebService.java package server; import java.net.InetA ...

随机推荐

  1. js添加事件通用方法

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. Restfull API 示例

    什么是Restfull API Restfull API 从字面就可以知道,他是rest式的接口,所以就要先了解什么是rest rest 不是一个技术,也不是一个协议 rest 指的是一组架构约束条件 ...

  3. java 框架Nutz

    http://nutzam.com/ Nutz 可以做什么? Dao -- 针对 JDBC 的薄封装,事务模板,无缓存 Ioc -- JSON 风格的配置文件,声明时切片支持 Mvc -- 注解风格的 ...

  4. discuz X2.0教程]教你快速了解Discuz!程序文件功能,修改文件从此不用再求人

    x3.x数据字典 http://faq.comsenz.com/library/database/x3/x3_index.htm 先从根目录开始,根目录文件一般都是入口,即执行具体功能的代码一般不在这 ...

  5. CSharp使用log4net记录日志

    一.先下载log4net.dll.Newtonsoft.Json.dll和配置log4net.config 相关DLL下载地址:log4net相关dll 下载地址:http://logging.apa ...

  6. 删除Android自带软件方法及adb remount 失败解决方案

    删除Android自带软件方法 1.在电脑上打开cmd,然后输入命令 adb remount adb shell su 2.接着就是Linux命令行模式了,输入 cd system/app 3然后输入 ...

  7. c#语音报时(含完整的声音资源文件).rar

    private void btnBaoshi_Click(object sender, EventArgs e) { try { System.Threading.Thread thread = ne ...

  8. [Hibernate] - Annotations - One To One

    Hibernate annotation 一对一的两种实现: 1)幅表中有主表的主键ID做为引用 2)幅表的主键即为主表的ID hibernate.cfg.xml <?xml version=& ...

  9. 【jmeter】搭建持续集成接口测试平台(Jenkins+Ant+Jmeter)

    一.环境准备: 1.JDK:http://www.oracle.com/technetwork/java/javase/downloads/index.html 2.Jmeter:http://jme ...

  10. 剑指offer系列30-----删除链表中重复的节点

    [题目]在一个排序的链表中,存在重复的结点, * 请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. * 例如,链表1->2->3->3->4->4->5 ...