四级域名解析,使用坦克 NS (原名:坦克 DNS)部署四级域名解析服务器,根据本篇文字去实践,你可以实现类似域名`sub.www.brand.com`的解析。坦克 NS 是使用 Golang 开发的域名服务器应用,开发者是甘耀通。开发者也是坦克网络技术的创始人。也是这篇文字的作者。接下来,让我先做一个自我介绍。
我是甘耀通,家在广西贵港市平南县大新镇,1989年11月出生,现在已经33岁了,我的学习成绩不是很好,小学不知道怎样过的,已经忘记了,唯一记得的是小学写作文是流水账,以及调皮的日常。初中,我经常不学习,多科成绩不合格,也经常逃避考试,最后,我连初中都没有读完。我初三的时候,去了一间深圳的学校,说是什么半工半读,我感觉不是很好,于是两三个月后又回来读回高一。由于在社会体验过两三个月,我清醒的认识知识的重要性。于是在读高一的期间我很努力学习,但不管多么努力,我的学习成绩都上不去,我深刻认识到这是以前没有好好学习的后果,于是我高一没有读完,我离开了学校。
先聊到这里,下次再聊。四级域名才是这篇文章的主题。
我写这篇文章的目的是更新四级域名的解析方法,由于环境变了,阿里云的域名解析控制台已经变了,变简单了。我的上一篇文章已经过时了,CSDN博客链接:[四级域名解析](https://blog.csdn.net/tankprint/article/details/125622938)
我接下来描述整个部署过程。我尽量让你部署成功。
## 大体流程
本篇文章先说 坦克NS 的安装配置,再描述阿里云域名解析。与我上一篇文章相反,我相信这样更合理,你更容易理解。好了,我们一起开始吧。
## 坦克NS服务器
### 下载安装
我的网站是静态网站,目前不能够通过唯一的链接获得最新版本的 坦克NS 软件,因为每次更新软件,都会更新下载链接。需要获取最新版本,只有访问我的网站,复制下载链接,在网站复制的链接可以保证是最新的。请访问地址:[https://www.tankprint.online/坦克DNS软件/发布.html](https://www.tankprint.online/%E5%9D%A6%E5%85%8BDNS%E8%BD%AF%E4%BB%B6/%E5%8F%91%E5%B8%83.html)
![下载.png](https://static.golangjob.cn/230423/60c8d4f89b19a8becc7191459d3e5f1f.png "tankns")
点击右键复制链接,这条链接是最新版本的链接,拿到链接后,进入你的Linux服务器,然后创建并进入你想安装 坦克NS 的目录。我演示使用`test`目录。
然后打开 terminal(终端),执行命令
```
mkdir test
cd test
wget https://www.tankprint.online/static/releases/tankns/server/v1.2.4/tankns
```
等待下载结束,然后执行命令:
```
chmod +x tankns
```
上面这条命令是由于 Linux 安全机制默认不允许二进制文件运行的。需要加运行权限才可以( +x 就是添加运行权限的)。Linux还有一条安全机制,就是使用 1024 端口以下必须使用 root 用户运行,或者使用拥有 sudo 权限的用户运行(简单理解 sudo 可以提升普通用户的运行权限)。普通用户使用 sudo 运行命令与 root 用户不使用 sudo 运行命令是一样的。
坦克NS 支持 systemd , 但我们现在不急着使它成为 systemd 的管理对象,我们先把最小服务运行起来再说。
任何一个 DNS 服务器都使用 53端口 运行的,坦克NS 也不例外。所以需要最高权限运行它。运行下面的命令后输入密码成为 root 用户:
```
su
```
运行命令先让服务运行起来初始化:
```
./tankns -run
```
会输出:
```
欢迎使用》》》》坦克名称服务器《《《《软件 开发者:甘耀通
软件版本:v1.2.4
官方网站:https://www.tankprint.online/
激活信息:正版软件
状态:软件正在运行中
协议:udp
端口:53
退出:Ctrl + C
Web控制台已启动,地址:http://192.168.2.78:9100
```
再按 `Ctrl + C` 退出。这样,服务初始化就完成了。
<br>
### 添加记录
我们接下来添加一条 `a` 记录。先进入 `记录` 这个目录里面,只有初始化后才会看见这个目录。
新建文件 `tankprint.online.tconf` ,文件名随便,建议根你的域名一样,`tconf` 格式必须。
执行命令:
```
vim tankprint.online.tconf
```
不会用 vim 的朋友需要去学习一下 vim 的使用入门教程就可以了。
执行上面的命令后,输入下面的内容:
```
=###",,《{》}“”
《
名=a.www.tankprint.online
类型=A
值=127.0.0.1
》
```
简单描述一下这个 tconf 格式文件,第一行 `=###",,《{》}“”` 是字符行,是说明 tconf 格式文件所支持使用的字符,它不会起到功能作用,但必须要有,产生任何错误不会因为它,因为解析器会跳过第一行,从第二汉开始解析它,但如果你省略它,解析器会把第二行认为是第一行(空行不算行)跳过,实际会从第三行开始解析,就会解析错误。所以字符行是必须的。我是 tconf 格式文件标准的制定者,也是设计者,也是实现者。我为什么要添加符号行,那是为未来准备的,它会支持多语言。就像你现在使用的是中文字符配置一样。其实你也可以使用英文字符配置它。不信,你可以把 `《` 换成 `{` ,把 `》` 换成 `}` 试试。
域名 `a.www.tankprint.online` 换成你的四级域名。需要与你的阿里云域名一样。如果你在局域网玩玩,不用也行。
你把文章看到这里辛苦你了,多谢。保存文件后启动 坦克NS 就可以了。接下来我们进行测试。运行 坦克NS 后,打开另外一个终端。输入:
```
nslookup -type=a a.www.tankprint.online 192.168.2.78
```
你会看到
```
Server: 192.168.2.78
Address: 192.168.2.78#53
Name: a.www.tankprint.online
Address: 127.0.0.1
```
`192.168.2.78` 是什么地址,就是你主机的地址。就是 `Web控制台已启动,地址:http://192.168.2.78:9100` 这个地址。这就成功了。一般 linux 系统,比如 CentOS 发行版,是有防火墙的,不会默认打开 53 端口。但是有些系统没有防火墙。主要是自己会分析。打开防火墙需要使用命令:
```
firewall-cmd --zone=public --add-port=53/udp --permanent
firewall-cmd --reload
```
DNS 服务使用的端口是 53 ,协议是 udp,后面那条命令是重启防火墙。
如果你使用的是云服务器,那么就没有防火墙了,防火墙变成了安全组。我拿 AWS云的安全组截图上来给你看(其他云也是有的,外表不同而已)。
![AWS云安全组.png](https://static.golangjob.cn/230423/e8329e4b01f956707edf9ac4333da5a0.png "AWS云安全组")
如果你是使用云虚拟机,把开启入站端口 53/udp 的安全组绑定到虚拟机上。一般情况下,需要重启虚拟机。
**局域网与云虚拟机安装配置方法都是一样。只是防火墙与安全组的区别不同。如果是云虚拟机使用公网IP,如果是使用局域网,使用局域网IP。**
### 这个IP
**192.168.2.78 这个IP是让13个根服务器链接你的 坦克NS服务器 的桥梁**,如果是公网,就是公网的IP。
## 文字的最后
再次多谢你的阅读,我是坦克网络技术官方。如果测试通过,你就获得一个IP了,这个IP是这篇文字的成果。下一篇文章描述阿里云域名解析,主要是配置把四级域名转发到你的域名服务器。如果你在局域网里使用,到这里就结束了,在互联网使用,请继续。
有疑问加站长微信联系(非本文作者))