本文案例
域名: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
- apt install nsd -y
进入 nsd 目录
- cd /etc/nsd/
创建 zones 目录并进入这个目录
- <div>mkdir zones
- cd zones/</div>
创建 of.domain. name.zone 的 zone 配置文件
- nano of.domain.name.zone
粘贴以下内容
- $ORIGIN of.domain.name.
- $TTL 300
- @ IN SOA 1.sale.of.domain.name. dns.hua.ge. (
- 2023090901 ; serial number
- 14400 ; Refresh
- 3600 ; Retry
- 604800 ; Expire
- 300 ; Min TTL
- )
- 3600 NS 1.sale.of.domain.name.
- 3600 NS 2.sale.of.domain.name.
- 1.sale IN A 104.245.12.183
- 1.sale IN AAAA 2604:a840:2::5fb
- 2.sale IN A 104.245.12.183
- 2.sale IN AAAA 2604:a840:2::5fb
保存
先按 Ctrl + x 再按 y 再回车
再创建一个 zone 文件 nano sale.zone
内容:
- $ORIGIN .
- $TTL 300
- @ IN SOA 1.sale.of.domain.name. dns.hua.ge. (
- 2023090901 ; serial number
- 14400 ; Refresh
- 3600 ; Retry
- 604800 ; Expire
- 300 ; Min TTL
- )
- * 180 NS 1.sale.of.domain.name.
- * 180 NS 2.sale.of.domain.name.
- * IN A 193.32.149.227
接下来创建 nsd 配置文件
- <div>cd /etc/nsd/nsd.conf.d/
- nano of.domain.name.conf</div>
写入以下内容并保存
- zone:
- name: "of.domain.name"
- zonefile: "of.domain.name.zone"
创建另一个配置文件
- nano sale.conf
内容:
- zone:
- name: "."
- zonefile: "sale.zone"
修改 nsd 全局配置
- nano /etc/nsd/nsd.conf
写入以下内容并并保存
- server:
- do-ip4: yes
- do-ip6: yes
- ip-address: 104.245.12.183
- ip-address: 2604:a840:2::5fb
- username: nsd
- hide-version: yes
- server-count: 1
- zonesdir: "/etc/nsd/zones/"
- include: "/etc/nsd/nsd.conf.d/*.conf"
配置结束,启动或重启 NSD
重启:
- systemctl restart nsd.service
启动:
- systemctl start nsd.service
使用 Dig 验证
向 1.sale.of.domain.name 或 2.sale.of.domain.name 查询任意域名,甚至字符。其响应结果为 193.32.149.227 即视为权威 dns 程序 NSD 运行正常
指令:
- 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 接管来访域名的配置
案例
- server {
- listen 80 default_server;
- listen [::]:80 default_server;
- server_name _;
- default_type text/html;
- return 200 '<h1>$host for sale!<h1></h2>sale@wm.lt</h2>';
- }
结束!!!!!
案例中所展示 IP 真实存在并正在运行各种业务,恳请大佬手下留情,不要攻击
最后感谢在本次实践中给予帮助的各位大佬