本文案例
域名: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 的(缺省值)统一响应为指定参数
用途
- 用于类似dan的域名贩卖逻辑,将需要贩卖的域名 DNS 指定为我们搭建的权威 dns 即
可利用权威 dns 的缺省值得到指向 web 服务器的 IP
- 弃用各厂商提供的云解析服务,拥有域名完整控制权。
说明
本教程所有案例仅供参考,不对因配置不当或其他原因造成的潜在影响负责。教程中涉及的 域名和 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 目录并进入这个目录
mkdir zones
cd zones/
创建 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 配置文件
cd /etc/nsd/nsd.conf.d/
nano of.domain.name.conf
写入以下内容并保存
- 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
在域名注册商处为 of.domain.name 添加胶水记录:
使用 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.149.227
这个 193.32.149.227 即 web 服务器 IP,用于接管来访域名。
由于不在本次教程范围,下面简要贴出运行于 193.32.149.227 的 nginx 接管来访域名的配置
案例
- server {
- listen 80 default_server;
- listen [::]:80 default_server;
- server_name _;
- default_type text/html;
- return 200 '<h1>$host for sale!<h1></h2>info@hua.ge</h2>';
- }