一款自实现的DNS服务器
采用Java语言,基于NIO通信模式,结合MySQL、Redis、RabbitMQ等技术栈编写的一款DNS服务器。
实现了DNS数据状态监控、DNS解析配置管理等功能。
结合数据可视化模式,使服务状态数据更清晰、间接、直观地展现在管理者面前。
后端:
- Java编程环境、工具IDEA
- 数据库 MySQL
- 缓存中间件 Redis
- 消息中间件 RabbitMQ
前端:
- vue、vue-cli、vue-router
- element-ui
- echarts、DataV
- axios
后端:
- clone 该项目到本地
- IDEA引入并装载此文件,引入完毕对应的依赖包(pom.xml)
- 修改主配置文件 application.yml,将对应项目软件用户名、密码修改为自己主机持有的
- 配置完毕开启运行
前端:
- 项目加载到vscode中,运行
npm install
命令下载所需的插件 - 修改项目请求的基础地址
request.js
中更改baseUrl=xxxx
npm run dev
运行起前端项目
注意: 如果采用的是云服务器上的软件,需要进行安全组配置同时防火墙开放部分端口!
使用本地工具 nslookup
进行测试,windows环境下直接打开cmd输入 nslookup
命令即可使用。
知乎能够访问,因此数据库中配置规则并没有配置 www.zhihu.com 的映射,会访问更上层的DNS服务器;
百度无法访问,因为数据库中配置 www.baidu.com 映射的IP地址为 192.168.111
该项目签署了 MIT 授权许可,只可用于学习交流。
参考了作者 黄勇萍的论文 根据客户网络应答的DNS服务器设计与实现,文章编号 10.19414/j.cnki.1005-1228.2012.01.005