资源描述
PHPDNS搭建的一个DNSmasq网站界面工具整站源码(配置DNS和DHCP)
源码介绍:
DNSmasq是一个小巧且方便地用于配置DNS和DHCP的工具,适用于小型网络,它提供了DNS功能和可选择的DHCP功能。使用DNSmasq可以很方便的搭建递归DNS(公共DNS,如8.8.8.8),配合PHPDNS可以轻松的管理DNSmasq。
环境要求:
CentOS 6/7
PHP 5.6+(需要支持PDO组件)
SQLite 3
递归DNS与权威DNS:
注意:不支持GEO功能,因为这些是权威DNS才有的功能。DNSmasq属于递归DNS,用于您本地电脑的解析,就像Google的公共DNS8.8.8.8
权威 DNS 由域名解析服务商建设,提供域名管理服务,维护域名解析记录。
递归 DNS 由网络运营商建设,提供域名查询解析服务。
自建DNS优势:
自定义DNS解析
屏蔽广告
防止DNS劫持
运行原理详解:
1、在每次添加主机的时候PHPDNS生成适合DNSmasq的配置文件并保存到application/conf目录
2、添加配置后DNSmasq必须重启才会生效,但是DNSmasq不知道管理员已经添加了主机列表。通过一个简单的shell脚本,使用find命令来检测application/conf配置文件1分钟内是否修改过,如果修改过则重启DNSmasq使其生效,比如下面的命令。
#!/bin/bash find /data/wwwroot/xxx.com/application/conf/ -name '*.conf' -mmin -1 -exec /usr/bin/systemctl restart dnsmasq.service {} \;
3、再配合crontab每分钟执行一次shell命令进行检测,最终实现管理员添加主机的时候DNSmasq实时生效。这样做的好处是不用让PHP去执行后端shell,让服务器来完成后续的工作相对更加安全。但缺点是添加后最快也需要1分钟才会生效,不过还算在接受范围内,目前无法检测PHPDNS生成的DNSmasq配置语法是否正确,若管理员一旦触发BUG或添加一些非法的主机可能导致DNSmasq无法运行。
4、关于去广告的原理:其实就是让广告域名比如ad.baidu.com指向到127.0.0.1,让广告无法正常加载,从而实现屏蔽广告,好处是不用安装额外的屏蔽广告插件,全部让DNS来完成这些工作。
资源截图
转载请注明来源地址:小川编程 » https://www.youhutong.com/index.php/article/index/1192.html
1、本站发布的内容仅限用于学习和研究目的.请勿用于商业或非法用途,下载后请24小时内删除。
2、本站所有内容均不能保证其完整性,不能接受请勿购买或下载,如需完整程序,请去其官方购买正版使用
3、本站联系方式Email:admin@youhutong.com ,收到邮件会第一时间处理。
4、如侵犯到任何版权问题,请立即告知本站(立即在线告知),本站将及时删除并致以最深的歉意