littlebot
Published on 2025-04-02 / 0 Visits
0

【源码】基于Java的DNS服务器

项目简介

本项目是一个功能全面的DNS服务器,采用Java语言实现。它具备接收、解析和发送DNS数据包的能力,同时提供了Web端管理界面,可用于配置和管理DNS服务。该服务器支持基本DNS解析、企业内部云的DNS支持、广告域名过滤、上网行为控制以及内部带宽控制等多种功能。

项目的主要特性和功能

  1. 基本的DNS服务器:询问上游DNS服务器完成规则外域名解析应答,通过缓存共用加快域名解析速度。
  2. 企业内部云的DNS支持:实现内部域名解析、CDN模拟、域名层面的负载均衡。
  3. 广告域名过滤/上网行为控制:将指定域名的IP解析到不可达或不正确的IP实现网站屏蔽。
  4. 内部带宽控制:将指定域名的IP解析到HTTP代理缓存服务器实现流量复用。
  5. Web管理界面:提供实时监控、DNS条目管理、添加新解析规则等功能。

安装使用步骤

前提条件

  • 已下载本项目的源码文件。
  • 已安装Java开发环境(JDK)。
  • 已安装Maven构建工具。

安装步骤

  1. 配置文件设置:查看并修改配置文件 application.properties;按配置文件中的库名和用户名密码创建好数据库账号,或使用现成的数据库账号;使用 /doc/1.2-init-table.sql 数据库建表脚本创建好相应的表。
  2. 配置上游DNS服务器:配置文件中的 dns.upstream.server.address 为上游DNS服务器地址,提供递归解析能力。
  3. 打包和启动:使用 mvn package 打包项目;使用 java -jar lzc-dns-1.0.0-SNAPSHOT.jar 启动服务器;或在IDE中启动主入口程序 cn.org.hentai.dns.app.DNSCheaterAPP
  4. 访问管理控制台:启动后,登录网页管理控制台,默认为 http://localhost(本机运行);管理控制台账号在 1.2-init-table.sql 里,用户名为 admin,密码为 123456

测试工具的使用

  1. dig测试工具:在命令行中输入 dig @127.0.0.1 baidu.com a 进行测试;更多测试命令见 /doc/dns_test_case.txt
  2. nslookup测试工具:打开 命令提示符 或运行 cmd;输入 nslookup 进入命令行交互环境;输入 server {我的IP} 设置DNS服务器;输入 www.baidu.com 查看响应IP,此时可在 WEB管理控制台服务器监控 下看到实时请求统计。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】