DNSmasq是一个小巧且方便地用于配置DNS和DHCP的工具,适用于小型网络,它提供了DNS功能和可选择的DHCP功能。自己搭建公共DNS更加灵活,如果是在本地搭建,还可以大幅提高解析速度。

相比较BIND那复杂的配置来说,dnsmasq轻量很多

centos7安装dnsmaq

yum -y install dnsmasq		#yum方式安装

配置

1.配置文件在 /etc/dnsmasq.conf,我们要让它能用起来需要做如下配置:

#指定上游dns服务器
resolv-file=/etc/resolv.dnsmasq.conf
#表示严格按照 resolv-file 文件中的顺序从上到下进行 DNS 解析, 直到第一个成功解析成功为止
strict-order
# 开启后会寻找本地的hosts文件在去寻找缓存的域名,最后到上游dns查找 #no-resolv
listen-address=0.0.0.0 #0.0.0.0 设置为公网IP
conf-dir=/etc/dnsmasq.d # 我们的解析记录都写到这个目录下

2.创建 /etc/resolv.dnsmasq.conf ,然后添加:

# cat /etc/resolv.dnsmasq.conf
nameserver 119.29.29.29
nameserver 114.114.114.114
nameserver 8.8.8.8
nameserver 168.95.1.1

3.然后创建 /etc/dnsmasq.d/cloud.conf,添加:

address=/baidu.com/127.0.0.1 		# 将百度的域名解析到127.0.0.1
address=/ad.youku.com/127.0.0.1 # 禁止优酷广告
address=/ad.iqiyi.com/127.0.0.1 # 禁止iqiyi广告

格式是:

address=/domain.com/dns

比如上面的百度,我就把它都解析到127.0.0.1。

实现DNS分流

server=/cn/114.114.114.114 			# cn的域名都走114的dns
server=/google.com/115.159.220.214 # 将谷歌的解析都走115.159.220.214

上面的是将所有cn结尾的域名都走114解析,下面是将google.com 走115.159.220.214解析。

开启防火墙53端口后,本地测试下 53 端口是否是通的:

➜  www nc -vuz 121.42.18.6 53
found 0 associations
found 1 connections:
1: flags=82<CONNECTED,PREFERRED>
outif (null)
src 192.168.2.32 port 49939
dst 121.42.18.6 port 53
rank info not available
Connection to 121.42.18.6 port 53 [udp/domain] succeeded!
service dnsmasq start		#启动dnsmaq:
systemctl enable dnsmasq #设置为开机自启动。

测试

➜  www dig m.baidu.com @121.42.18.6
; <<>> DiG 9.8.3-P1 <<>> m.baidu.com @121.42.18.6
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41523
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION:
;m.baidu.com. IN A ;; ANSWER SECTION:
m.baidu.com. 0 IN A 127.0.0.1 ;; Query time: 30 msec
;; SERVER: 121.42.18.6#53(121.42.18.6)
;; WHEN: Mon Aug 28 10:32:27 2017
;; MSG SIZE rcvd: 45 # 可以看到,百度的子域名已经被解析到127.0.0.1了,此外还可以配合dnscrypt-proxy 对查询进行加密,这里就不展开了。

DNSMAQ 搭建 DNS 服务的更多相关文章

  1. 如何搭建DNS服务

    继NTP时间服务器后,继续搭建DNS服务,鉴于昨晚撰写时间超过预期,这次改变策略,先把自己需要用到的部分写出来(主要是基于RAC的搭建,只涉及正向和反向DNS解析),后面再添加必要的说明和阐述. 试验 ...

  2. 如何搭建DNS服务(转)

    继NTP时间服务器后,继续搭建DNS服务,鉴于昨晚撰写时间超过预期,这次改变策略,先把自己需要用到的部分写出来(主要是基于RAC的搭建,只涉及正向和反向DNS解析),后面再添加必要的说明和阐述. 试验 ...

  3. centos搭建dns服务

    原文:(https://www.myjinji.top/articles/2020/04/02/1585800289945.html)[https://www.myjinji.top/articles ...

  4. 一文详解CentOS6.5搭建DNS服务

    本文详细介绍DNS服务在Linux Operation System 中的搭建过程 一.DNS服务器的工作原理 客户机提出域名解析请求,并将该请求发送给本地的域名服务器.当本地的域名服务器收到请求后, ...

  5. 搭建DNS服务

    author:JevonWei 版权声明:原创作品 修改/var/named/下的数据库文件的数据时,需手动修改serial序列号 UDP协议53端口用于用户DNS查询,TCP协议53端口用于主从DN ...

  6. 使用unbound在RHEL7上搭建DNS服务

    1.概念:DNS (Domain Name Server)域名解析服务,使用TCP&UDP的53号端口(主从DNS之间用TCP,客户端查询使用UDP).它可以完成域名与IP地址的互换,可以通过 ...

  7. Windows server 2008 搭建DNS服务

    现在用Windows搭建DNS的已经很少了,感觉也只有一些公司的某块部分能用上,最近在捣鼓这个,索性直接写下来,以后可以看了直接用. 开始: ★★★配置静态IP地址 老样子,有关服务器功能的建立,都是 ...

  8. 使用Bind搭建DNS服务

    DNS域名解析服务(Domain Name System)是用于解析域名与IP地址对应关系的服务,功能上可以实现正向解析与反向解析: 正向解析:根据主机名(域名)查找对应的IP地址. 反向解析:根据I ...

  9. Bind搭建DNS服务

    DNS域名解析服务(Domain Name System)是用于解析域名与IP地址对应关系的服务,功能上可以实现正向解析与反向解析: 正向解析:根据主机名(域名)查找对应的IP地址. 反向解析:根据I ...

随机推荐

  1. JUC之原子类

    在分析原子类之前,先来了解CAS操作 CAS CAS,compare and swap的缩写,中文翻译成比较并交换. CAS 操作包含三个操作数 —— 内存位置(V).预期原值(A)和新值(B).如果 ...

  2. vue利用keep-alive/beforeRouteLeave前进刷新后退不刷新(缓存)

      keep-alive缓存 在vue中默认router-link进入页面组件都是不缓存的.对于数据不会更新的页面.可以使用keep-alive来缓存以提高性能. 在项目src/router/inde ...

  3. Python学习-55 小游戏- 猜大小

    #游戏开始,首先玩家选择大小,选择完成后开始摇骰子(11<=总值<=18为大,3<=总值<=10为小) import random def roll_dice(numbers= ...

  4. EXCEL 快捷键大全

    1.ctrl+tab :快速切换已打开的excel/ppt/word同样适用 2.shift+右上角的× :关闭所有excel/ppt/word 3.ctrl+d:快速复制非文本目标,对于文本是删除 ...

  5. WUSTOJ 1305: 最短路(Java)

    题目链接:

  6. ABP 基于DDD的.NET开发框架 学习(四)时间控件采用datetimepicker注意事项

    $('#datetimepicker1').datetimepicker({ format: 'yyyy/mm/dd hh:ii:ss',//这是只能用小写的大写的与ABP中的字母识别起冲突 loca ...

  7. 上传图片,图片过大压缩处理以及解决自拍时会出现图片横屏的bug修复、长按保存图片

    js部分:module.exports = { resize: function (file, callback, options) { //配置 options = Object.assign({ ...

  8. stm32 视频小车

    1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 ...

  9. djangoNotes

    学员管理 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...

  10. Computer Vision_33_SIFT:An efficient SIFT-based mode-seeking algorithm for sub-pixel registration of remotely sensed images——2015

    此部分是计算机视觉部分,主要侧重在底层特征提取,视频分析,跟踪,目标检测和识别方面等方面.对于自己不太熟悉的领域比如摄像机标定和立体视觉,仅仅列出上google上引用次数比较多的文献.有一些刚刚出版的 ...