dnsmasq配置dns实战

ubuntu22.04安装dnsmasq最详细易懂 准确的来说,不是安装,因为默认ubuntu22版本自带的有dnsmasq,所以我们不用下载了,直接使用即可,否则就会产生冲突,这块吃了大亏。 阅读详情

导读第一次用这个小软件,感觉还不错,因为没有像bind那样配置起来繁琐,并且我们也不需要去配置很多文件,内外网访问互不干涉。

dnsmasq先去解析hosts文件, 再去解析/etc/dnsmasq.d/下的*.conf文件,并且这些文件的优先级要高于dnsmasq.conf,我们自定义的resolv.dnsmasq.conf中的DNS也被称为上游DNS,这是最后去查询解析的;

如果不想用hosts文件做解析,我们可以在/etc/dnsmasq.conf中加入no-hosts这条语句,这样的话就直接查询上游DNS了,如果我们不想做上游查询,就是不想做正常的解析,我们可以加入no-reslov这条语句。

bind这个DNS太庞大了,如果一个部门或者是服务范围比较小的情况下,我们用dnsmasq完全可以,毕竟配置起来简单方便,dnsmasq就用来我们公司内部域名和公网域名存在冲突或者是自己的域名比较特别的话用起来比较好,也不影响正常的外网解析。

1.直接使用yum安装,并且设置开机自启,关闭SELinux
[root@localhost ]# yum install dnsmasq* -y

[root@localhost ]# chkconfig dnsmasq on
2.修改本地网络配置文件

修改网卡参数

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

TYPE=Ethernet

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=none

IPADDR=172.19.30.250

PREFIX=24

GATEWAY=172.19.30.254

DNS1=127.0.0.1

DEFROUTE=yes

IPV4_FAILURE_FATAL=yes

IPV6INIT=no

NAME=”System eth0″

修改hostname

[root@localhost ~]# vim /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=ad.cloud.com

GATEWAY=172.19.30.254
3.修改iptables(嫌麻烦的直接关掉就可以了)
  • 允许本机的53端口可对外访问
$ iptables -A INPUT -p udp -m udp –dport 53 -j ACCEPT

$ iptables -A INPUT -p tcp -m tcp –dport 53 -j ACCEPT
  • 转发DNS请求

# 开启流量转发功能

$ echo ‘1’ > /proc/sys/net/ipv4/ip_forward

$ echo ‘1’ > /proc/sys/net/ipv6/ip_forward   # IPv6 用户选用

# 添加流量转发规则,将外部到53的端口的请求映射到Dnsmasq服务器的53端口

$ iptables -t nat -A PREROUTING -p udp –dport 53 -j REDIRECT –to-ports 53

$ iptables -t nat -A PREROUTING -p tcp –dport 53 -j REDIRECT –to-ports 53

# 如果要限制只允许内网的请求,方法如下,如果是一个网卡,直接把eth1替换成eth0即可

$ iptables -t nat -A PREROUTING -i eth1 -p upd –dport 53 -j REDIRECT –to-port 53

  • 保存规则并重启
$ service iptables save $ service iptables restart
4.修改/etc/dnsmasq.conf
[root@localhost dnsmasq.d]# vim /etc/dnsmasq.conf

填入以下内容

no-hosts

#不加载本地的/etc/hosts文件

local-ttl=3600

#本地缓存时间,通常不要求缓存本地,这样更改hosts文件后即使生效

cache-size=1000000

#最大缓存条数

dns-forward-max=1000000

listen-address=127.0.0.1,172.19.30.250

#如果想要这台服务器做解析,就要填上自己的地址,并且填上127.0.0.1的地址

resolv-file=/etc/resolv.dnsmasq.conf

#这个文件是可以自定义的,我就跟随大流,直接复制了一份resolv.conf改了名称就用了

all-servers

#这条语句的意思就是如果本地没查询到,则想我们的resolv.dnsmasq.conf文件中所有的DNS查询,谁查到的快就用谁的

log-queries

#开启日志选项

log-facility=/var/log/dnsmasq/dnsmasq.log

log-async=100

#异步log,缓解阻塞,提高性能。默认为5,最大为100

conf-dir=/etc/dnsmasq.d

#这条应该是最后一句,它的作用其实就是说明该目录下的所有.conf文件都是要做解析的

提示:如果咱们内网中存在多个不同域名,我们可以加上上面的这一句,我们做解析时就好分类配置文件

 

5.添加resolv解析文件

修改我们刚才复制的配置文件,指定我们正常需要的DNS,这样的话我们的内网就可以正常的使用网络,而不至于用了自己搭建的DNS,却访问不了互联网。

[root@localhost dnsmasq.d]# vim /etc/resolv.dnsmasq.conf

nameserver 202.106.0.20

nameserver 192.168.59.241

nameserver 114.114.114.114

nameserver 8.8.8.8

nameserver 168.95.1.1

#最后一条为台湾的DNS,我们苹果的官方appstore下载东西会快一些,并且苹果电脑在线重装系统用这个DNS也会快一些

 

6.添加其他域名解析

我们切换到这个目录下,添加我们不同内部域名的解析

[root@localhost dnsmasq.d]#cd /etc/dnsmasq.d/

添加一个解析文件

[root@localhost dnsmasq.d]#vim cloud.conf

[root@localhost dnsmasq.d]# ls

cloud.conf  seccloud.conf
7.配置文件语法规则

正常下我们添加的解析内容如下,解析地址的语法规则为:

address=/domain/ip_address

[root@localhost dnsmasq.d]#cat cloud.conf

address=/im.cloud.top/192.168.59.12

address=/git.cloud.top/192.168.59.20

address=/crm.cloud.top/192.168.59.11

address=/ftp.cloud.top/172.19.2.253

address=/note.cloud.top/172.19.30.250
8.启动dnsmasq服务
[root@localhost ~]#service dnsmasq start
9.我们进行测试验证:

自己的笔记本上域名访问进行测试:

localhost:~ admin$ nslookup

> git.cloud.top

Server:172.19.30.250

Address:172.19.30.250#53

Name:git.cloud.top

Address: 192.168.59.20

> www.baidu.com

Server:172.19.30.250

Address:172.19.30.250#53

Non-authoritative answer:

www.baidu.comcanonical name = www.a.shifen.com.

Name:www.a.shifen.com

Address: 61.135.169.121

Name:www.a.shifen.com

Address: 61.135.169.125

缓存验证:

[root@ad ~]# dig www.baidu.com

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 <<>> www.baidu.com

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21877

;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 4, ADDITIONAL: 4

;; QUESTION SECTION:

;www.baidu.com.            IN    A

;; ANSWER SECTION:

www.baidu.com.        223    IN    CNAME    www.a.shifen.com.

www.a.shifen.com.    549    IN    A    119.75.213.61

www.a.shifen.com.    549    IN    A    119.75.216.20

;; AUTHORITY SECTION:

shifen.com.        30440    IN    NS    ns4.baidu.com.

shifen.com.        30440    IN    NS    dns.baidu.com.

shifen.com.        30440    IN    NS    ns2.baidu.com.

shifen.com.        30440    IN    NS    ns3.baidu.com.

;; ADDITIONAL SECTION:

dns.baidu.com.        4938    IN    A    202.108.22.220

ns2.baidu.com.        76100    IN    A    61.135.165.235

ns3.baidu.com.        31611    IN    A    220.181.37.10

ns4.baidu.com.        166964    IN    A    220.181.38.10

;; Query time: 59 msec

;; SERVER: 127.0.0.1#53(127.0.0.1)

;; WHEN: Sat Jul  1 13:25:51 2017

;; MSG SIZE  rcvd: 226

[root@ad ~]# dig www.baidu.com

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 <<>> www.baidu.com

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61460

;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:

;www.baidu.com.            IN    A

;; ANSWER SECTION:

www.baidu.com.        215    IN    CNAME    www.a.shifen.com.

www.a.shifen.com.    541    IN    A    119.75.216.20

www.a.shifen.com.    541    IN    A    119.75.213.61

;; Query time: 0 msec

;; SERVER: 127.0.0.1#53(127.0.0.1)

;; WHEN: Sat Jul  1 13:25:59 2017

;; MSG SIZE  rcvd: 93

我们可以看到,上次解析保留了缓存,这次解析直接读取了缓存文件。


本文转载自: http://www.linuxprobe.com/dnsmasq-dns.html

免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好:http://www.linuxprobe.com/


dnsmasq自建DNS 为方便区分不同的二级域名,建议按二级域名创建配置文件。 阅读详情

相关推荐

自建本地DNS服务:dnsmasq配置与内网解析优化实战

域名解析是网络稳定性的基石,但许多运维人员在面对网页打不开、内网卡顿等问题时,往往忽略了DNS这一层。自建DNS服务不仅能够实现内网域名的快速解析,还能通过缓存机制显著降低解析延迟,同时提供集中的日志审计与访问控制能力。dnsmasq作为轻量级DNS转发工具,以极低的资源占用和简洁的配置,成为家庭及小型办公网络的首选方案。本文从DNS工作原理出发,对比主流DNS软件,详细拆解dnsmasq的核心配置、缓存调优、上游切换及常见故障排查方法,帮助读者从零搭建一套稳定可靠且性能优化的本地DNS基础设施,彻底解决内

weixin_42561476的博客 346

DNSmasq详细解析及详细配置

dnsmasq详解及配置 LH DNS 1、dnsmasq的简介 Dnsmasq 提供 DNS 缓存和 DHCP 服务功能。作为域名解析服务器(DNS),dnsmasq可以通过缓存 DNS 请求来提高对访问过的网址的连接速度。作为DHCP 服务器,dnsmasq 可以用于为局域网电脑分配内网ip地址和提供路由。DNS和DHCP两个功能可以同时或分别单独实现。dnsmasq轻量且易配置,适用于个人用户或少于50台主机的网络。此外它还自带了一个 PXE 服务器。 2、Dnsmasq的主要作用 (1)将Dnsma

任我行的博客 7万+

从零搭建DNS服务器:dnsmasq实战指南与内网解析配置

DNS(域名系统)是互联网的核心基础设施,负责将人类可读的域名转换为机器可识别的IP地址,其工作原理基于分布式数据库查询。理解DNS解析流程、缓存机制和记录类型,对于优化网络性能、提升访问速度至关重要。在工程实践中,自建DNS服务器能有效实现内网服务便捷访问、开发环境域名映射,并可通过缓存加速和域名过滤提升安全性与效率。针对内网解析和网络加速等常见场景,轻量级工具dnsmasq以其配置简单、资源占用低的优势成为理想选择。本文将以dnsmasq为例,详细演示如何在Ubuntu系统上搭建本地DNS服务器,涵盖核

weixin_30892763的博客 542

搭建dnsmasq 自运营dns服务器

DNSmasq是一个小巧且方便地用于配置DNS和DHCP的工具,适用于小型网络,最多可支持1000台主机,它提供了DNS功能和可选择的DHCP功能。它服务那些只在本地适用的域名,这些域名是不会在全球的DNS服务器中出现的。DHCP服务器和DNS服务器结合,并且允许DHCP分配的地址能在DNS中正常解析,而这些DHCP分配的地址和相关命令可以配置到每台主机中,也可以配置到一台核心设备中(比如路由器),DNSmasq支持静态和动态两种DHCP配置方式。# 不加载本地的 /etc/hosts 文件。

疯飙的蜗牛 6247

DNSmasq实战指南:内网DNS解析、缓存与DHCP配置详解

DNS(域名系统)是网络访问的基础设施,负责将域名解析为IP地址。在企业内网或开发环境中,如何高效、灵活地管理域名解析与IP分配成为常见需求。DNSmasq作为一款轻量级工具,集成了DNS转发、DNS缓存与DHCP服务三大核心功能,仅需一个二进制文件和纯文本配置即可运行,相比BIND的复杂配置或CoreDNS的插件机制,更契合小型局域网场景。通过自定义域名解析、泛域名匹配、条件转发等特性,开发者可轻松模拟线上域名架构;结合DHCP静态绑定,能有效管理打印机、NAS等设备的固定IP。无论是本地开发环境、办公网

weixin_31960565的博客 217

内网DNS服务器部署实战:BIND9与dnsmasq配置及防还原指南

DNS是网络中最基础也最容易被忽视的服务,它负责将人类易记的域名转换为机器可读的IP地址,是几乎所有网络通信的起点。无论是企业内网需要稳定解析内部系统域名,还是家庭局域网想通过本地缓存加速外网访问,自建DNS服务器都是一种高效且可控的解决方案。理解域名解析的基本原理,掌握常见DNS软件的选型与配置,是网络管理员和运维工程师的必备技能。以BIND9和dnsmasq为例,前者功能全面、适合作为权威DNS服务器承载正式的内网域名解析,后者轻量简洁、非常适合小型网络做DNS缓存和泛解析。部署完成后,还需注意系统DN

weixin_30431445的博客 228

DNS以及dnsmasq 搭建 dns 局域网(2)

修改 vin /etc/dnsmasq.conf主配置文件,大概是如下参数vim /etc/dnsmasq.conf # 打开且修改如下参数# 1. 指定上游 dns 服务器地址的参数, /resolv-file# 2. 自定义某些域名及其子域名,都解析到某一个 ip 地址,添加如下参数:/address# 3. 当你不希望员工上班时间访问某些网站时,当他访问这些网站时就强制解析到另一个IP,而不去正确解析'百度,淘宝'等网站。/address。

weixin_52943021的博客 3411

OpenWrt网络基石:dnsmasq三合一服务(DHCP+TFTP+DNS缓存)的实战配置与优化

本文详细介绍了在OpenWrt系统中配置和优化dnsmasq三合一服务(DHCP+TFTP+DNS缓存)的实战技巧。通过轻量级设计,dnsmasq显著提升网络性能,适用于小型办公和智能家居环境。文章涵盖基础配置、DNS缓存优化、TFTP安全加固及高级调试方法,帮助用户实现高效稳定的网络服务。

weixin_30872577的博客 358

Jasna 视频马赛克修复模型选型指南:从免费到付费一次配好

Jasna 的每个视频任务都会同时调度检测、主修复、二次放大三类模型,图片则单独走一条修复路径。这篇不按模型逐个讲,而是按"你花多少钱、要达到什么效果"推进:先用免费配置跑通批量视频,再按 4K 特写、VR180、静态图片三个场景逐个加开关,最后给一张能直接照抄的速查表。 ## 免费基线先跑通:默认检测加 BasicVSR++ 什么都不改直接跑,Jasna 会用内置的 `rfdetr-v6`

gitblog_00213的博客 401

轻量级内网域名解析:dnsmasq部署与实战避坑指南

本文详细介绍了dnsmasq作为轻量级内网DNS服务器的部署与实战避坑指南。通过dnsmasq,用户可以轻松实现内网域名解析,解决IP地址难记和变更带来的问题。文章涵盖了安装配置、核心参数详解、高级技巧如智能解析分流和DHCP集成,以及常见问题的解决方案,帮助用户高效搭建和管理内网DNS服务。

weixin_30673611的博客 391

RFID射频识别技术介绍及简单应用

简单介绍RFID技术及其简单应用,后附简单门禁制作方法和代码

来者皆是客。 1万+

从原理到实战:DNS 服务器完全指南(BIND/Unbound/Dnsmasq 配置详解)

DNS系统解析流程与资源记录摘要 DNS(域名系统)是将域名转换为IP地址的分布式数据库系统,解决了早期HOSTS.txt文件维护困难的问题。其核心组成包括域名(字符标识)、DNS服务器(维护域名与IP映射关系)和分布式数据库结构。 域名采用层次化命名方式(如host.subdomain.tld),由根域、顶级域(gTLD/ccTLD)、二级域等组成。DNS查询分为两种方式: 递归查询 - DNS服务器负责获取最终结果(客户端→本地DNS) 迭代查询 - 服务器返回下一级地址,客户端自行查询(DNS服务器间

zhuyy06的博客 603

Zotero PDF Translate插件实战:DeepL API免费申请与高效翻译配置指南

本文提供Zotero PDF Translate插件配置DeepL API的完整实战指南。详细介绍了如何免费申请DeepL API密钥,解决国内访问问题,并在插件中完成精细配置,实现文献阅读时的无缝划词翻译,大幅提升科研人员和学生的英文文献阅读效率。

rum55的博客 458

统信UOS与CentOS DNS转发配置实战:systemd-resolved与dnsmasq详解

DNS(域名系统)是互联网的核心基础设施,负责将人类可读的域名转换为机器可识别的IP地址。其工作原理基于分布式数据库查询,通过递归与迭代解析实现高效寻址。在复杂网络架构中,DNS转发技术展现出重要价值,它能集中管理查询、提供本地缓存加速,并实现安全过滤与审计。这一技术尤其适用于混合IT环境、国产化替代场景以及需要统一出口的内网部署。本文将聚焦于如何在主流的Linux发行版上配置DNS转发器,具体涵盖统信UOS(基于Debian)和CentOS两大代表性系统。通过对比分析systemd-resolved与dn

weixin_31421613的博客 201

shader多图叠加变换

shader Shader "Paint3D/AddTexture" { Properties { _MainTex ("Main Texture", 2D) = "white" {} _MainColor("Main Color", Color)=(1,1,1,1) _AddTex0 ("Texture0", 2D) = "white" {} _AddTex1 ("Texture1", 2D) = "white" {} .

李长江的博客 909

libcrypto.so.10(OPENSSL_1.0.2)(64bit) is needed by erlang-22.0.7-1.el7.x86_64

今天安装Rabbitmq的 erlang-22.0.7-1.el7.x86_64.rpmrpm包时遇到了这个坑,害找到说是不容易;错误信息在下面; [root@iz2zef7u84js1qeeq00ewwz RabbitMQ]# rpm -ivh erlang-22.0.7-1.el7.x86_64.rpm warning: erlang-22.0.7-1.el7.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 6026dfca: NOKEY error:

qq_45782349的博客 5782

dnsmasq配置相关资料

https://www.linuxprobe.com/dnsmasq-dns.htmldnsmasq配置dns实战http://blog.51cto.com/laoding/1883469dnsmasq 之 dnsmasq.conf 配置https://segmentfault.com/a/1190000006756321DNSmasq 的安装、配置与使用http://www.freeoa.net...

qq_33448670的博客 277

《QGIS快速入门与应用基础》239:指北针样式选择(预设/自定义)

系统解析指北针设计的核心规范与实操方法。文章首先强调行业规范红线,包括强制要求N字标注、箭头辨识度等关键要素,通过正误示例对比强化合规意识。其次详细讲解QGIS内置预设样式的分类应用,提供极简箭头、标准三角箭头等4类样式的选型对照表,并配图说明适用场景。最后介绍从基础微调到SVG导入的进阶自定义方法,帮助用户实现从合规到专业的样式设计。全文贯穿"合规优先、可读为本、美观为辅"原则,配有详细操作截图与规范对照表,适合从GIS新手到专业制图人员参考。

LuckyHanMo的博客 530

视频教程-基于dnsmasq快速搭建企业生产级易用易维护的dns服务-Linux

基于dnsmasq快速搭建企业生产级易用易维护的dns服务 具备五年以上一线...

weixin_34421621的博客 224

如何使用CPU-Z获取内存条频率信息(编程)

当我们需要获取计算机内存条的频率信息时,可以利用CPU-Z这个工具来实现。CPU-Z是一款专门用于获取计算机硬件信息的工具,它提供了API接口,我们可以通过编程的方式来获取内存条频率信息。你可以从CPU-Z官方网站下载适用于你的操作系统的CPU-Z程序,并从安装目录中找到。函数,我们可以初始化CPU-Z,如果返回值不为0,则表示初始化失败。函数来获取内存条频率信息,如果返回值小于等于0,则表示获取失败。函数来初始化CPU-Z并获取内存条频率信息。最后,我们将获取到的内存条频率信息打印输出,并使用。

ByteProwl的博客 460

可疑物品遗留检测系统:基于YOLOv8的智能安防解决方案

数据采集与标注模块:负责收集和标注可疑物品图像数据模型训练模块:基于YOLOv8算法训练检测模型推理检测模块:加载训练好的模型进行实时检测用户界面模块:提供友好的操作界面和可视化结果展示报警模块:当检测到可疑物品时触发报警机制:包含多种暴力场景和可疑物品SUAVe:监控场景下的异常行为与物品数据集:包含多种可疑物品自建数据集:针对特定场景收集的数据背包(backpack)手提箱(suitcase)无人看管的包裹(package)可疑箱子(box)

YOLO 435

dnsmasq开源项目实战指南

dnsmasq开源项目实战指南 项目介绍 dnsmasq是一款轻量级的网络服务软件,专为小型网络设计,集成了DNS缓存、DHCP服务器、路由器通告和网络引导功能。由Simon Kelley开发并维护,它遵循GPLv2或GPLv3许可协议。广泛应用于家庭路由器、IoT设备、智能手机的热点共享以及虚拟化环境中的网络配置。dnsmasq以其低资源消耗和易配置性著称,支持全IPv6特性,在多数Linux发...

gitblog_00766的博客 1200

智能车图像处理12-进阶篇4--环岛辅助判断条件

主函数: 第6行: 含义是当前需要不在坡道和车库状态 第11-12行 : 寻找一下环岛的双断点(在辅助函数中) 第16-66行: 当左右线的方差满足一边很大,一边很小时,truepianfangflag /truepianfangflagforleft 置1,在环岛的判断中使用。 辅助函数: 双断点函数(左与右相似,以做为例): 第13-28行: 第一处断点 第29-40行: 第一处断点后 连续边线 第41-52行: 第一处连续后,第二处断点 第53-64行: 第二处断点后,第二处

taiyuezyh的博客 1万+
上一篇: 你知道这些和Linux有关的物流操作系统吗?
下一篇: 带你体验正规的运维工作是什么的!
Listen2You
博客等级 码龄10年 202粉丝 1001原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值