坦克NS是一款功能强大的DNS服务器软件,旨在为用户提供高效、安全和灵活的域名解析服务。为了确保最佳性能和满足特定需求,用户可以通过编辑生产环境.tconf
配置文件来定制其DNS服务器的行为。该配置文件包含了多种参数设置,以适应不同的使用场景。
在配置文件中,用户可以指定运行语言、监听网络接口以及是否启用递归查询等功能。此外,通过Web控制台,管理员能够方便地管理DNS记录和服务设置,而密码认证则增加了安全性。对于需要高级保护的部署,还提供了DDoS攻击防护机制,限制每个IP每秒的访问次数,并设置了自动释放被限制IP的时间。
缓存机制是提高响应速度的关键,用户可以根据自身需求调整缓存时间长度。转发查询功能允许将未在本地配置的域名请求转发至公共DNS服务器,确保了互联网上其他域名的正常解析。最后,通过日志记录功能,用户可以监控系统运行情况并进行故障排查。
总之,生产环境.tconf
配置文件是一个全面且易于使用的工具,它帮助用户根据自己的具体要求来优化坦克NS DNS服务器,从而提供一个稳定高效的域名解析解决方案。
生产环境.tconf
配置文件内容如下:
=#",,《{》}“”!!
# 运行环境语言,目前只支持中文(zh-CN)。
语言=zh-CN
# 监听特定网络接口,可以是 IP 地址,也可以是网络适配器名称。IP 地址 0.0.0.0 表示监听服务器的所有接口。
!监听网络接口=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控制台《
# 有时候,你需要使用随机端口号,你可以把使用随机端口号前面的!号删除,启用后,固定端口将会无效。
!使用随机端口号
# web 控制台也就是网址的端口号,如果你设置了随机端口,固定端口将会无效。
固定端口号=9100
# 通过 HTTP API 接口管理坦克 NS 的时候,需要密码认证。如果你的网络非常简单,比如:你在局域网内自己使用,如果你不需要这个功能,可以不启用密码认证,关闭功能后,你不需要登陆步骤就可以管理坦克 NS。
密码认证《
用户名=tankns
密码="zds5GzTR4iUP0F+Xt7650soDvvbCKA"
》
》
# 记录存放的目录。
记录目录=./记录
# 软件运行过程会产生记录,包括:错误,消息。这些记录会对外输出给用户,当你使用 systemD 启动的时候,会保存到“记录保存文件”字设置的文件里面,当你在前台运行的时候,除了保存在上面指定的文件里面,还会输出到终端。如果不需要这个功能,请添加!号注释它。
运行情况记录《
记录保存文件=./日志.txt
》
# DDos 攻击是瞬间发起大量 dns 查询,由于 dns 服务器资源不够导致服务器瘫痪,它可能会导致带宽被占用、CPU 使用率过高和内存不足等情况,这里提供基本的 ddos 攻击保护机制,用户可以根据自己的需求进行设置。这样就可以达到保护带宽、CPU 和内存等资源的目的。
#操作系统如果发现那个软件占用资源超出限制,就会采取相应的手段强制软件停止,这是操作系统自我保护的手段。
分布式拒绝服务攻击《
# 这里设置每个 IP 每秒可以访问多少次,如果每秒可以访问 1000 次,就设置 1000,如果客户端在 1 秒内进行第 1001 次访问的时候,坦克 ns 服务器将会忽略这个请求。之后也是一样。
每秒访问=1000
# 监狱释放时间,用户可以理解被限制的 IP 被坦克 NS 放进了监狱。但这些被禁止的 IP 并不是一直监禁,可能有些 IP 是被攻击者临时利用,也有可能这些 IP 是伪造的 IP(这是因为 DNS 服务器是基于 UDP 协议),所以我们需要机制释放这些 IP。通过这个设置可以释放监狱里的 IP。时间单位是分钟,如果打算只禁闭 10 分钟,就设置 10;如果禁闭 1 小时,就设置 60;如果禁闭 10 小时,就设置 600。
释放时间=10
》
# 转发查询是指当在自己的坦克 NS 服务器无法查询到记录的时候,把这个查询发送到 转发查询对象 的 查询服务器 上面去执行查询。 默认开启。如果你有下面这种情况,不需要转发,当在自己的坦克 NS 查询不到数据的时候,直接响应查询不到域名,可以关闭转发查询功能,如何关闭它,添加!号注释它就可以关闭转发查询。警告:如果关闭这个功能,你访问的其他域名(互联网域名)将不能够解析。
转发查询《
# 全局转发主要设置是坦克 NS 负责的 Zone 之外的域名(没有添加到坦克 NS 的 Zone,也称坦克NS不负责的 Zone)是否转发。举例:坦克 NS 服务器没有配置 com.cn 这个 Zone,用户现在查询 example.com.cn 这个域名,如果开启转发,则会发送到公共 DNS 服务器进行转发查询。如果不开启,就返回未查询到域名响应。这个根据用户需要,如果坦克 NS 服务器原则只负责自己的 Zone,可以关闭它,如果坦克 NS 作为服务器的同时也作为代理服务器,则可以开启它。默认开启。关于前端 DNS 服务器和后端 DNS 服务器的描述,参考这里:https://www.tankprint.online/2023/09/04/坦克NS-v1.4.0开发计划.html
转发不负责的Zone=是
# 公共 DNS 服务器,如果开启了转发,就会发送到这个服务器进行转发查询。
查询服务器=8.8.4.4
》
# 缓存时间以(分钟)为单位。默认是 10 分钟。
# TODO:自动功能还没有实现,正在开发中,也可以设置为 自动(缓存时间长度=自动),如果设置为自动,会根据响应记录的 TTL 解析缓存时间。
缓存时间长度=10
# 默认所有记录保存在一个文件里面,同时支持灵活的按照 Zone 名称来分别保存在不同的文件里面,如果使用了 Zone 功能,你可以尝试使用“拆分记录保存”,只要把前面的!号删除。
!拆分记录保存
# 请求保镖默认关闭,这个功能可以让服务器请求坦克保镖的保护,如果服务器进程意外结束,坦克保镖将会通过企业微信通知你,方便你及时发现问题。如果你需要这个功能,请删除前面!号,并另外配置坦克保镖保护它。
!请求保镖《
我的名字=tank-ns
》