基于DNSmasq写了个WEB界面(开源)
网上找了一下好像没有合适的 DNSmasq WEB 界面,虽然 DNSmasq 配置已经足够简单了,但还是觉得 WEB 管理更加方便。
阅读前准备
关于DNSmasq
DNSmasq是一个小巧且方便地用于配置DNS和DHCP的工具,适用于小型网络,它提供了DNS功能和可选择的DHCP功能。
使用DNSmasq可以很方便的搭建递归DNS(公共DNS),诸如类似的119.29.29.29
适用场景
- 适合公司、家庭等适量用户的小型网络
Nginx伪静态设置
如果是Apache已经自带了.htaccess
规则,无需额外设置。如果是Nginx请再server段内添加:
location ^~ /application {
deny all;
}
location ^~ /system {
deny all;
}
location ^~ /(application|system) {
deny all;
}
location / {
try_files $uri $uri/ /index.php?$query_string;
}
添加完成后别忘记重载一次nginx
安装PHPDNS
- 访问master.zip下载最新源码,并解压到站点根目录,同时注意站点目录所属用户权限可读可写。(新手易犯此错误)
- 编辑
application/helpers/check_helper.php
设置用户名、密码,里面有注释说明。 - 访问您的域名
http://domain.
com
/
?登录测试
添加完成后别忘记重载一次nginx
编写Shell脚本 PHPDNS通过shell脚本检测DNSmasq文件变化,使用vi reload.sh命令新建Shell脚本,并写入以下内容,路径请自行修改。
CentOS 7
#!/bin/bash
find /data/wwwroot/xxx.com/application/conf/ -name '*.conf' -mmin -1 -exec /usr/bin/systemctl restart dnsmasq.service {} ;
CentOS 6
#!/bin/bash
find /data/wwwroot/xxx.com/application/conf/ -name '*.conf' -mmin -1 -exec /sbin/service dnsmasq restart {} ;
/data/wwwroot/xxx.com/application/conf/是DNSmasq配置文件目录,改为自己的目录。 /usr/bin/systemctl是CentOS 7 systemctl的目录 /sbin/service是CentOS 6的service目录 别忘记赋予脚本执行权限:chmod +x reload.sh 设置crontab定时任务 #安装crontab yum install crontabs #新建定时任务 crontab -e #写入下面的内容,注意路径 */1 * * * * /root/shell/reload.sh #重载crontab service crond reload /root/shell/reload.sh 是上面shell脚本的绝对路径,请注意修改。
建立软连接 软连接默认已经生成好了,直接登录PHPDNS后台,讲命令复制到Linux终端执行即可。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 从 Dagger 到 Hilt,谷歌为何执着于让我们用依赖注入?
- 为什么非对称加密比对称加密慢?
- 如何优化Nginx的处理性能
- 一键生成前后端代码,Mybatis-Plus代码生成器让我舒服了
- 各类好玩免费API推荐,强烈建议收藏
- 回敬Python蹭女神热度助发朋友圈,Java实现头像分成九宫图,再生成拼图头像
- java作业:实现数组翻转
- windows下搭建spark测试环境
- 微信小程序实时语音识别实践
- 轻量安全的部署方案
- 阿里2020.7.31笔试
- 聊聊dubbo-go的PrometheusReporter
- 聊聊dubbo-go的apolloConfiguration
- 看了这篇,关于浏览器缓存你还有哪些疑问?
- 深入分析Volatile的实现原理