在安装坦克 NS 之前,请确保您的系统满足以下最低要求:
tank-ns
的目录:
mkdir tank-ns
cd tank-ns
tankns_v1.4.10_linux_amd64.tar.gz
的文件,可以使用以下命令解压:
tar -xzvf tankns_v1.4.10_linux_amd64.tar.gz
chmod +x tankns
sudo
权限运行坦克 NS 安装脚本:
sudo ./tankns -install
记录
的文件夹,以及一个名为 生产环境.tconf
的配置文件。生产环境.tconf
文件是坦克 NS 的主要配置文件,用于定义 DNS 服务器的各种行为。生产环境.tconf
文件部份示例:
=#",,《{》}“”!!
语言=zh-CN
!监听网络接口=0.0.0.0
#全局递归查询主要设置是坦克NS负责的Zone之外的域名(没有添加到坦克NS的Zone,也称坦克NS不负责的Zone)是否递归查询。举例:坦克NS服务器没有配置 com.cn 这个Zone,用户现在查询 example.com.cn 这个域名,如果开启递归查询,则会进行递归查询。如果不开启,就返回未查询到域名响应。这个根据用户需要,如果坦克NS服务器原则只负责自己的Zone,可以关闭它,如果坦克NS作为服务器的同时也作为代理服务器,则可以开启它。默认开启。关于前端DNS服务器和后端DNS服务器的描述,参考这里:https://www.tankprint.online/2023/09/04/坦克NS-v1.4.0开发计划.html
#关闭递归查询只要在前面添加!号注释它。
递归查询
# 坦克缓存自带的缓存查看器,提供一个服务,让开发者可以用浏览器实时查看到缓存的记录内容,方便开发调试。如果不是开发者,可以不用开启这个功能。
!启动缓存查看器
web控制台《
#有时候,你需要使用随机端口号,你可以把使用随机端口号前面的!号删除,启用后,固定端口将会无效。
!使用随机端口号
#web控制台也就是网址的端口号,如果你设置了随机端口,固定端口将会无效。
固定端口号=9100
#通过HTTP API接口管理坦克NS的时候,需要密码认证。如果你的网络非常简单,比如:你在局域网内自己使用,如果你不需要这个功能,可以不启用密码认证,关闭功能后,你不需要登陆步骤就可以管理坦克NS。
密码认证《
用户名=tankns
密码="zds5GzTR4iUP0F+Xt7650soDvvbCKA"
》
》
生产环境.tconf
文件并加载相应的配置。您可以根据需要修改配置文件中的各项设置。固定端口号
设置为 9081
:
固定端口号=9081
使用以下命令启动坦克 NS 服务:
sudo ./tankns -run
# 或者使用 systemd 运行服务
# sudo systemctl start tank-ns.service
服务启动后,坦克 NS 会自动加载配置文件并开始监听指定的 IP 和端口。
如果遇到下面这个问题:
已经有程序正在使用 UDP/53 端口,请先关闭 53 端口后再运行软件。机器消息:listen udp :53: bind: address already in use
解决这个问题只需要按照这个步骤:
sudo lsof -i:53
# 输出
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
dnsmasq 5062 dnsmasq 6u IPv4 15935 0t0 UDP Workspace:domain
dnsmasq 5062 dnsmasq 7u IPv4 15936 0t0 TCP Workspace:domain (LISTEN)
# 杀掉 5062 端口,你的终端不一定是这个端口,可能是其它端口。
sudo kill -9 5062
然后重启服务。
nslookup
命令进行测试。例如,查询本地的 A 记录:
nslookup -type=a www.tank.shos 127.0.0.1
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: www.tank.shos
Address: 127.0.0.1
通过以上步骤,您可以顺利完成坦克NS的安装与初始配置。接下来,您可以进入快速入门部分,了解如何使用坦克 NS 的基本功能。