网站优化
当前位置: 四五合围 > 网络营销知识 > 网站优化
自建权威 DNS
发布日期:2023-12-07 阅读次数:

本文案例

域名: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 真实存在并正在运行各种业务,恳请大佬手下留情,不要攻击
最后感谢在本次实践中给予帮助的各位大佬


本站访客:7626