自建权威 DNS

[复制链接]
作者: 龙哥 | 时间: 2023-9-20 09:04:15 | 经验分享|
5 589

18

主题

101

回帖

872

积分

版主

龙哥

积分
872
QQ
发表于 2023-9-20 09:04:15| 显示全部楼层 |阅读模式
本文案例

域名:of.domain.name

Dns:
1.sale.of.domain.name
2.sale.of.domain.name

IP:104.245.12.183
2604:a840:2::5fb

实现目标

有配置 zone 的根据 zone 解析
未配置 zone 的(缺省值)统一响应为指定参数

用途

1.用于类似dan的域名贩卖逻辑,将需要贩卖的域名 DNS 指定为我们搭建的权威 dns 即
可利用权威 dns 的缺省值得到指向 web 服务器的 IP
2.弃用各厂商提供的云解析服务,拥有域名完整控制权。

说明

本教程所有案例仅供参考,不对因配置不当或其他原因造成的潜在影响负责。教程中涉及的 域名和 IP 请自行替换为自己的域名和 IP,不解释每步操作具体含义
截图与文本内容不一致的表示未贴出部分可以省略

涉及软件
1. Debian 12(放行 53 端口)
2. Nano  (任意文本编辑器都可以,本教程使用 nano ,安装指令 apt install nano -y)
3. NSD(权威 dns 程序,官网:https://www.nlnetlabs.nl/projects/nsd/support/
4. Dig(验证解析情况,安装指令 apt install dnsutils -y,建议安装在非本次教学用于部 署权威 dns 的机器上)

开始

安装 NSD
  1. apt install nsd -y
复制代码

进入 nsd  目录
  1. cd /etc/nsd/
复制代码

创建 zones  目录并进入这个目录

  1. <div>mkdir zones
  2. cd zones/</div>
复制代码

创建 of.domain. name.zone 的 zone 配置文件
  1. nano of.domain.name.zone
复制代码

粘贴以下内容
  1. $ORIGIN of.domain.name.
  2. $TTL 300
  3. @                IN              SOA            1.sale.of.domain.name. dns.hua.ge. (
  4.                                                                            2023090901              ; serial number
  5.                                                                            14400                         ; Refresh
  6.                                                                            3600                            ; Retry
  7.                                                                            604800                       ; Expire
  8.                                                                            300                              ; Min TTL
  9. )
  10.                  3600         NS                                1.sale.of.domain.name.
  11.                  3600         NS                                 2.sale.of.domain.name.
  12. 1.sale                       IN              A                104.245.12.183
  13. 1.sale                       IN              AAAA         2604:a840:2::5fb
  14. 2.sale                       IN              A                104.245.12.183
  15. 2.sale                       IN              AAAA         2604:a840:2::5fb
复制代码


保存
先按 Ctrl + x 再按 y 再回车
再创建一个 zone 文件 nano sale.zone

内容:
  1. $ORIGIN .
  2. $TTL 300
  3. @    IN    SOA    1.sale.of.domain.name. dns.hua.ge. (
  4.                               2023090901              ; serial number
  5.                               14400                         ; Refresh
  6.                               3600                            ; Retry
  7.                               604800                       ; Expire
  8.                               300                              ; Min TTL
  9. )
  10. *    180    NS                                1.sale.of.domain.name.
  11. *    180    NS                                2.sale.of.domain.name.
  12. *              IN              A                193.32.149.227
复制代码


接下来创建 nsd 配置文件

  1. <div>cd /etc/nsd/nsd.conf.d/
  2. nano of.domain.name.conf</div>
复制代码

写入以下内容并保存

  1. zone:
  2. name: "of.domain.name"
  3. zonefile: "of.domain.name.zone"
复制代码


创建另一个配置文件
  1. nano sale.conf
复制代码

内容:
  1. zone:
  2.   name: "."
  3.   zonefile: "sale.zone"
复制代码


修改 nsd 全局配置
  1. nano /etc/nsd/nsd.conf
复制代码

写入以下内容并并保存
  1. server:
  2. do-ip4: yes
  3. do-ip6: yes
  4. ip-address: 104.245.12.183
  5. ip-address: 2604:a840:2::5fb
  6. username: nsd
  7. hide-version: yes
  8. server-count: 1
  9. zonesdir: "/etc/nsd/zones/"
  10. include: "/etc/nsd/nsd.conf.d/*.conf"
复制代码


配置结束,启动或重启 NSD

重启:
  1. systemctl restart nsd.service
复制代码

启动:
  1. systemctl start nsd.service
复制代码



使用 Dig 验证

向 1.sale.of.domain.name 或 2.sale.of.domain.name 查询任意域名,甚至字符。其响应结果为 193.32.149.227 即视为权威 dns 程序 NSD 运行正常

指令:
  1. dig test @1.sale.of.domain.name +short
复制代码


将任意域名 dns 改为 1.sale.of.domain.name 和 2.sale.of.domain.name

然后 ping 这个域名应响应 193.32.*.*

这个 193.32.*.* 即 web 服务器 IP,用于接管来访域名。

由于不在本次教程范围,下面简要贴出运行于 193.32.*.* 的 nginx 接管来访域名的配置

案例
  1. server {
  2. listen 80 default_server;
  3. listen [::]:80 default_server;
  4. server_name _;
  5. default_type text/html;
  6. return 200 '<h1>$host for sale!<h1></h2>sale@wm.lt</h2>';
  7. }
复制代码


结束!!!!!
案例中所展示 IP 真实存在并正在运行各种业务,恳请大佬手下留情,不要攻击
最后感谢在本次实践中给予帮助的各位大佬

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
龙哥™:https://long.ge

37

主题

153

回帖

3694

积分

版主

积分
3694

最佳新人热心会员推广达人宣传达人突出贡献

发表于 2023-9-20 09:08:19来自手机 | 显示全部楼层
太深奥了
回复

使用道具 举报

149

主题

556

回帖

4378

积分

管理员

积分
4378

论坛元老最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理

发表于 2023-9-20 09:17:05| 显示全部楼层
感谢分享~
网谋论坛 https://wm.lt
回复

使用道具 举报

15

主题

111

回帖

1533

积分

中级会员

积分
1533

最佳新人热心会员推广达人突出贡献宣传达人

QQ
发表于 2023-9-20 12:19:26来自手机 | 显示全部楼层
大佬威武
回复

使用道具 举报

4

主题

9

回帖

292

积分

禁止访问

积分
292
QQ
发表于 2023-9-21 14:03:01| 显示全部楼层
牛逼啊牛逼
回复

使用道具 举报

0

主题

83

回帖

2395

积分

中级会员

积分
2395

最佳新人

发表于 2023-9-21 18:38:31| 显示全部楼层
这个真好,感谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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