文档章节

本地dns的更新:dnsmasq的使用

xueyi28
 xueyi28
发布于 06/14 11:36
字数 826
阅读 4
收藏 0
点赞 0
评论 0

###背景

最近各种ad服务挂掉的情况连连出现,一个域名解析需要花上3秒钟,业务上黄花菜都凉了,有的/etc/resolv.conf里面就配置一个nameserver,一点用都没有,dns服务出现问题之后整个应用服务都跟着受损,现在的ad服务大多企业全部用的商业软件,微软这上面真是霸道,简直是受制于人,windows上的服务说没就没了,全看脸,ldap dns 用户验证统统就见如来了,还全是底层的核心系统。

###配置和启动

listen-address=127.0.0.1
interface=lo
bind-interfaces
resolv-file=/etc/dnsmasq.resolv.conf
addn-hosts=/etc/hosts
cache-size=150
local-ttl=30
clear-on-reload
no-negcache

启动方式

dnsmasq --all-servers --conf-file=/etc/dnsmasq.conf --pid-file=/var/run/dnsmasq.pid

启动脚本

#!/bin/sh

case $1 in
	start)
	dnsmasq --all-servers  --conf-file=/etc/dnsmasq.conf --pid-file=/var/run/dnsmasq.pid
	;;
	stop)
		kill $(cat /var/run/dnsmasq.pid)
	;;
	test)
		dnsmasq --test  --conf-file=/etc/dnsmasq.conf 
	;;
	reload)
		cat /var/run/dnsmasq.pid|xargs kill -SIGHUP 
	;;
	*) 
	echo "$0 {start|stop|reload|test}"
	exit 4
	;;
esac

将你所有的nameserver地址全部写到/etc/dnsmasq.resolv.conf,dnsmasq每次会全量发起域名解析请求,取最快的解析地址(不过我没有测试如果nameserver返回的不一致会怎么样)。

###测试和容器 ####1. /etc/hosts修改测试 容器中启动之后的/etc/hosts和/etc/resolve和主机中保持一致

修改了容器中的/etc/hosts

bash-4.1# ping nvwa.com
PING nvwa.com (192.168.1.184) 56(84) bytes of data.
64 bytes from nvwa.com (192.168.1.184): icmp_seq=1 ttl=52 time=27.9 ms
64 bytes from nvwa.com (192.168.1.184): icmp_seq=2 ttl=52 time=27.9 ms

主机中的记录

[root@myserver ~]# ping nvwa.com
PING nvwa.com (192.168.1.181) 56(84) bytes of data.
64 bytes from 192.168.1.181: icmp_seq=1 ttl=52 time=27.2 ms
64 bytes from 192.168.1.181: icmp_seq=2 ttl=52 time=27.1 ms

可以看到容器中的/etc/hosts修改会立即生效,且不会影响主机对此域名的解析

再次修改容器中的/etc/hosts域名指向也是立即生效

bash-4.1# ping nvwa.com
PING nvwa.com (192.168.1.182) 56(84) bytes of data.
64 bytes from nvwa.com (192.168.1.182): icmp_seq=1 ttl=52 time=27.8 ms

####2. 容灾测试 增加防火墙模拟深圳的dns挂掉

iptables -A OUTPUT   -d 8.8.8.8  -j DROP

当所有的dns禁用之后,dnsmasq的缓存还可以保留解析,但是如果重启之后dnsmasq之后,缓存消失,容器内和主机的dns均出现问题 主机中

[root@myserver ~]# nslookup  bbs.com
Server:		127.0.0.1
Address:	127.0.0.1#53
** server can't find bbs.com: REFUSED

容器内

bash-4.1# ping bbs.com 
ping: unknown host bbs.com

当放通其中一个地区的dns服务之后,域名解析立即恢复

####3. 主机/etc/hosts测试 注意,如果使用nslookup命令,以下配置全部都会按照缓存来,如果是ping命令,会首先使用hosts的解析 主机中如果新增hosts,域名会立即生效 删除/etc/hosts, 域名更改也会立即生效 修改也会立即生效,如果出现缓存的情况,可以/etc/init.d/dnsmasq reload处理刷新

dig nslookup ping 这几个命令很好玩

####4. 剩余一个dns cache刷新时间的点没测试

###注意点:

  1. dnsmasql不单单是做dns解析的,他跟tftp dhcp ldap都有关系,老版本的安全漏洞很多,好像有的还还严重,尽量不要开到公网
  2. 开始不懂这个版本的配置listen-address老是不起左右,后来才看到解释原来要绑定设备

http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq.conf.example

© 著作权归作者所有

共有 人打赏支持
xueyi28
粉丝 7
博文 88
码字总数 33322
作品 0
南宁
dnsmasq安装配置

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

周新宇1991 ⋅ 2017/01/17 ⋅ 0

dnsmasq做dns缓存

前面更新了个程序,每次拉取数据都会查询gfsshadowmaster等相关域名,当请求量大时,dns有些抗不住了,程序响应也就变慢了,于是想到了用dnsmasq做本地dns缓存,效果很好。下面直接上部署代码...

jystruggle ⋅ 2014/04/23 ⋅ 0

使用Dnsmasq搭建本地dns服务器上网

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

linuxprobe16 ⋅ 2016/11/17 ⋅ 0

centos7.3安装dnsmasq

Dnsmasq 提供 DNS 缓存和 DHCP 服务功能。作为域名解析服务器(DNS),dnsmasq可以通过缓存 DNS 请求来提高对访问过的网址的连接速度。作为DHCP 服务器,dnsmasq 可以用于为局域网电脑分配内网...

yanconggod ⋅ 2017/10/30 ⋅ 0

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

本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb。 今天我们来介绍一个比较简单的DNS服务器dnsmasq。这款软件,已经被我成功使用到公司的所有...

烂泥行天下 ⋅ 2015/11/01 ⋅ 1

dnsmasq服务的安装与配置

在ubuntu16.04上安装dnsmasq服务,在本地做泛域名解析 安装 配置 Dnsmasq的配置文件是放在 打开编辑,配置:,表示dnsmasq 会从这个指定的文件中寻找上游dns服务器。同时取消 前面的注册#号....

杨老板 ⋅ 2017/09/20 ⋅ 0

Raspberry Pi AP功能改进: systemd服务封装以及dnsmasq的使用

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

jiangche00 ⋅ 2017/05/14 ⋅ 0

dnsmasq 的配置

dnsmasq 安装dnsmasq yum install dnsmasq -y chkconfig dnsmasq on 配置 设置本机dns配置文件 cat > /etc/resolv.conf << EOF nameserver 192.168.100.9 nameserver 223.5.5.5 nameserver 2......

empe_lee ⋅ 2017/11/17 ⋅ 0

kubernetes之部署kubedns

一,理解Kubedns原理 通俗理解,首先明白k8s dns是为服务的发现而生,即service的发现,为了能够让其它服务能够直接通过service 名字找到它们,于是就需要dns将service名转换为它的VIP, 那么...

zhoufei461 ⋅ 01/11 ⋅ 0

dnsmasq轻量级DNS安装配置

DNSmasq是一个轻量且方便的DNS和DHCP的工具,适用于小型网络,它提供了DNS功能和可选择的DHCP功能。今天来闲扯下dnsmasq怎么安装和配置。 首先yum安装 yum -y install dnsmasq 然后编辑配置文...

Devin ⋅ 2017/07/06 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

windows profesional 2017 build problem

.net framework .... https://stackoverflow.com/questions/43330915/could-not-load-file-or-assembly-microsoft-build-frameworkvs-2017...

机油战士 ⋅ 39分钟前 ⋅ 0

python3中报错的解决方法(长期更新)

1、ImportError: No module named ‘DjangoUeditor’ 出错原因:安装DjangoUeditor库适用于python2,需要下载适用python3的 下载地址:https://github.com/twz915/DjangoUeditor3 2、python3......

xiaoge2016 ⋅ 44分钟前 ⋅ 0

数据结构与算法之双向链表

一、双向链表 1.双向链表的结点结构 typedef struct DualNode{ ElemType data; struct DualNode *prior; // 前驱结点 struct DualNode *next; // 后继结点}DualNode, *DuL...

aibinxiao ⋅ 今天 ⋅ 0

五大最核心的大数据技术

大数据技术有5个核心部分,数据采集、数据存储、数据清洗、数据挖掘、数据可视化。关于这5个部分,有哪些核心技术?这些技术有哪些潜在价值?看完今天的文章就知道了。 大数据学习群:7165810...

董黎明 ⋅ 今天 ⋅ 0

PhpStorm 头部注释、类注释和函数注释的设置

首先,PhpStorm中文件、类、函数等注释的设置在:setting-》Editor-》FIle and Code Template-》Includes下设置即可,其中方法的默认是这样的: /**${PARAM_DOC}#if (${TYPE_HINT} != "v...

nsns ⋅ 今天 ⋅ 0

spring.net AOP

http://www.springframework.net/doc-latest/reference/html/aop-quickstart.html https://www.cnblogs.com/wujy/archive/2013/04/06/3003120.html...

whoisliang ⋅ 今天 ⋅ 0

【HAVENT原创】创建 Dockerfile 生成新的镜像,并发布到 DockerHub

注意:Win7 与 Win10 的版本存在差异,Win7 版本使用 Docker Quickstart Terminal 进入控制台,Win10下面直接用管理员权限打开控制台或者 PowerShell 即可;另外 Win7 下面只能访问 C盘,/ap...

HAVENT ⋅ 今天 ⋅ 0

pom.xml出现web.xml is missing ...解决方案

提示信息应该能看懂。也就是缺少了web.xml文件,<failOnMissingWebXml>被设置成true了。 搜索了一下,Stack Overflow上的答案解决了问题,分享一下。 目前被顶次数最多的回答原文如下: This...

源哥L ⋅ 今天 ⋅ 0

js时间戳与日期格式之间相互转换

1. 将时间戳转换成日期格式 1 2 3 4 5 6 7 8 9 10 11 12 13 14 // 简单的一句代码 var date = new Date(时间戳); //获取一个时间对象 /** 1. 下面是获取时间日期的方法,需要什么样的格式自己...

Jack088 ⋅ 今天 ⋅ 0

web添加log4j

添加xml配置log4j.properties # Global logging configuration---root日志设置#log4j.rootLogger=info,dailyRollingFile,stdoutlog4j.rootLogger=debug,stdout,dailyRollingFile---......

黄柳淞 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部