架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 4254|回复: 7

【实战】使用 Docker 搭建 DNS 服务(dnsmasq)

[复制链接]
发表于 2022-5-31 21:03:06 | 显示全部楼层 |阅读模式
需求:需要搭建一个 DNS 服务器,对一些特殊域名做一些解析,如果别人使用了该 DNS 可以对指定域名进行劫持。

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

Docker 镜像地址:https://hub.docker.com/r/jpillora/dnsmasq


配置文件详解:http://oss.segetech.com/intra/srv/dnsmasq.conf

首先,创建 /opt/dnsmasq.conf 配置文件,如下:

创建 dnsmasq 容器,并且对外提供 web 管理 5380 端口,命令如下:

HTTP_USER:web页面登录的管理员帐号
HTTP_PASS:web页面登录的管理员密码


通过浏览器打开:http://ip:5380/ 账号为:itsvse,密码为:a123456

登录到 dnsmasq 容器内部,查看内网 ip 地址,因为我网络比较特殊,其实可以直接使用外网 ip 地址作为 DNS 服务器地址,此步骤大家可以略去,直接配置 DNS 为你服务器外网 ip 地址即可,记得要开放 DNS 服务器的 UDP 53 端口!!!

我在服务器配置 DNS 为 dnsmasq 容器的内网地址,我本地电脑拨号连接到该服务器,可以成功获取到配置的 DNS 地址。(步骤略)

QQ截图20220531203810.jpg

我们尝试 ping 一下 test.itsvse.com 域名,可以看到是我们自定义的解析 ip 地址,如下图:

QQ截图20220531203644.jpg

(注意:test.itsvse.com 并没有在根域名服务器上面配置解析记录)


我们来伪造一下百度域名的解析,如下图:

QQ截图20220531205816.jpg

当然也可以通过 nslookup 来测试域名解析,命令如下:

QQ截图20220531210246.jpg

(完)

评分

参与人数 1MB +1 收起 理由
Dingzhen + 1 么么哒!

查看全部评分





上一篇:【实战】使用 .NET 切换 Edge 浏览器选项卡网址
下一篇:VS 编译 Mixed Platform x64
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2022-5-31 21:12:56 | 显示全部楼层
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2022-6-3 22:54:15 | 显示全部楼层
学习一下。。。
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2022-6-8 09:19:30 | 显示全部楼层
好东西·不错不错
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2025-2-24 11:15:39 | 显示全部楼层
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2025-2-24 13:11:27 | 显示全部楼层
BIND 9

Bind是Berkeley Internet Name Domain Service的简写,它是一款实现DNS服务器的开放源码软件。已经成为世界上使用最为广泛的DNS服务器软件,目前Internet上半数以上的DNS服务器有都是用Bind来架设的,已经成为DNS中事实上的标准。

历史

  • BIND4版本,BIND包最初是在 1980 年代初在加州大学伯克利分校作为研究生项目在美国国防高级研究项目管理局 (DARPA)的资助下编写的。BIND 到 4.8.3 的版本由加州大学伯克利分校的计算机系统研究小组 (CSRG) 维护。Douglas Terry、Mark Painter、David Riggle 和 Songnian Zhou 组成了最初的 BIND 项目团队。
  • BIND8版本,Internet Software Consortium, Inc. (ISC) 由 Rick Adams、Paul Vixie 和 Carl Malamud 于 1994 年创立,专门为 BIND 的开发和维护提供一个场所。从 4.9.3 开始的 BIND 版本由 ISC 开发和维护,并由 ISC 的赞助商提供支持。作为合作架构师/程序员,Bob Halley 和 Paul Vixie 于 1997 年 5 月发布了 BIND 版本 8 的第一个生产就绪版本。BIND 版本 4 和 8 已正式弃用。2004 年 1 月,ISC 更名为 Internet Systems Consortium, Inc。
  • BIND9版本,于2000 年 9 月发布,几乎对底层 BIND 架构的所有方面进行了重大改写。
  • BIND10版本,于2009 年~2014年期间进行开发,ISC 开始尝试使用 BIND 10 从头开始​​重写 BIND。它旨在替代和改进 BIND 9,基于全新的应用程序框架。2014 年,ISC结束了 BIND 10 的开发,转而重新专注于投资 BIND 9。

官方网站:https://www.isc.org/bind

项目地址:https://github.com/isc-projects/bind9

码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2025-2-24 13:19:39 | 显示全部楼层
开源的dns有很多。

  • Bind
  • PowerDNS
  • CoreDNS
  • DNSPod-SR
  • Dnsmasq
  • Atomia DNS


参考:https://jianghaitao1221.github.io/2018/07/14/dns-servers-vs/
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2025-2-24 19:44:20 | 显示全部楼层
.NET/C# 开源 DNS 服务 Technitium DNS Server 搭建
https://www.itsvse.com/thread-10953-1-1.html
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2025-4-20 08:21

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表