项目简介
本项目是一个功能全面的DNS服务器,采用Java语言实现。它具备接收、解析和发送DNS数据包的能力,同时提供了Web端管理界面,可用于配置和管理DNS服务。该服务器支持基本DNS解析、企业内部云的DNS支持、广告域名过滤、上网行为控制以及内部带宽控制等多种功能。
项目的主要特性和功能
- 基本的DNS服务器:询问上游DNS服务器完成规则外域名解析应答,通过缓存共用加快域名解析速度。
- 企业内部云的DNS支持:实现内部域名解析、CDN模拟、域名层面的负载均衡。
- 广告域名过滤/上网行为控制:将指定域名的IP解析到不可达或不正确的IP实现网站屏蔽。
- 内部带宽控制:将指定域名的IP解析到HTTP代理缓存服务器实现流量复用。
- Web管理界面:提供实时监控、DNS条目管理、添加新解析规则等功能。
安装使用步骤
前提条件
- 已下载本项目的源码文件。
- 已安装Java开发环境(JDK)。
- 已安装Maven构建工具。
安装步骤
- 配置文件设置:查看并修改配置文件
application.properties
;按配置文件中的库名和用户名密码创建好数据库账号,或使用现成的数据库账号;使用/doc/1.2-init-table.sql
数据库建表脚本创建好相应的表。 - 配置上游DNS服务器:配置文件中的
dns.upstream.server.address
为上游DNS服务器地址,提供递归解析能力。 - 打包和启动:使用
mvn package
打包项目;使用java -jar lzc-dns-1.0.0-SNAPSHOT.jar
启动服务器;或在IDE中启动主入口程序cn.org.hentai.dns.app.DNSCheaterAPP
。 - 访问管理控制台:启动后,登录网页管理控制台,默认为
http://localhost
(本机运行);管理控制台账号在1.2-init-table.sql
里,用户名为admin
,密码为123456
。
测试工具的使用
- dig测试工具:在命令行中输入
dig @127.0.0.1 baidu.com a
进行测试;更多测试命令见/doc/dns_test_case.txt
。 - nslookup测试工具:打开
命令提示符
或运行cmd
;输入nslookup
进入命令行交互环境;输入server {我的IP}
设置DNS服务器;输入www.baidu.com
查看响应IP,此时可在WEB管理控制台
的服务器监控
下看到实时请求统计。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】