一种通用的dns黑洞区域生成器
dns-blackhole的Python项目详细描述
查看历史记录。
此脚本帮助您为DNS服务器创建黑洞区域,
使用一些著名的广告/跟踪/恶意软件列表。
只要您的dns服务器允许包含一个包含
每行的域及其配置语法应该可以工作。
目前已知工作和测试:
也可以生成agregated主机文件。
功能
- 未绑定到特定的DNS服务器,生成 选择
- 支持3种不同的列表格式
- 允许您白名单/黑名单域
- yaml配置文件
安装
脚本需要PyYAML和requests模块。
pip install [--upgrade] dns-blackhole
未绑定
需要unbound>;=1.6,使用带unbound的默认区域文件
1.5肯定会让它吃掉你所有的ram并在之前交换
被杀死。
在您的
server:块。在^{tt8}中使用以下zone_data。$
(默认):
zone_data:'local-zone:"{domain}"always_nxdomain'
{domain}将被黑洞域替换
powerdns递归器
在递归程序中添加forward-zones-file=/etc/pdns/blackhole.zone。
配置。
在dns-blackhole.yml中使用以下zone_data:
zone_data:'{domain}='
{domain}将被黑洞域替换
dnsmasq
在dnsmasq配置中添加conf-dir=/etc/dnsmasq.d,并指向
zone_file选项到/etc/dnsmasq.d/blackhole.conf
在dns-blackhole.yml中使用以下zone_data:
zone_data:'server=/{domain}/'
{domain}将被黑洞域替换
主机文件
在dns-blackhole.yml中使用以下zone_data:
zone_data:'127.0.0.1{domain}'
一旦您满意您的配置,只需运行dns-blackhole。
在dns-blackhole.yml中的默认列表将生成一个区域
包含约698000个条目。
配置
由于配置文件在yaml中,因此可以使用yaml锚定
dns-blackhole:general:cache:/var/cache/dns-blackholelog:/var/log/dns-blackhole/dns-blackhole.logwhitelist:/etc/dns-blackhole/whitelistblacklist:/etc/dns-blackhole/blacklistblackhole_lists:hosts:-http://someonewhocares.org/hosts/hosts-https://hosts-file.net/download/hosts.txt-http://winhelp2002.mvps.org/hosts.txt-http://www.malwaredomainlist.com/hostslist/hosts.txt-https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts;showintro=0easylist:&bh_easy-https://easylist.to/easylist/easylist.txt-https://raw.githubusercontent.com/paulgb/BarbBlock/master/BarbBlock.txtdisconnect:&bh_disconnecturl:https://services.disconnect.me/disconnect-plaintext.jsoncategories:# Advertising, Analytics, Disconnect, Social-Advertising-Analyticsconfig:zone_file:/etc/unbound/blackhole.zone# {domain} will be replaced by the blackholed domain, do not change it herezone_data:'local-zone:"{domain}"always_nxdomain'blackhole_lists:hosts:-http://winhelp2002.mvps.org/hosts.txteasylist:*bh_easydisconnect:*bh_disconnect
在本例中,您将保留easylist和disconnect列表, 但会删除除MVP以外的所有主机文件列表。
常见问题解答
让dns服务器返回nx而不是127.0.0.1
主机列表通常返回127.0.0.1或0.0.0.0。
根据您使用的系统和/或浏览器,您最终可能会
在之前多次尝试连接时出现超时/缓慢问题
正在考虑关闭远程资源。
让您的DNS服务器返回nx-域-非存在域- 另一边让你的客户表现得更快,因为没有什么可重试的 当域不存在时。
为什么在powerdns递归程序中使用forward zones file选项而不是auth zones?
auth-zones的语法如下:
auth-zones=dom1=<zone>,dom2=<zone>,dom3=<zone>,etc
虽然这可能适用于5000个黑洞域,但几乎适用于700 000个
产生的速度太慢,需要几十年的时间
完成时间。更糟糕的是,有了这样一个列表,pdns recursor
甚至无法启动并将崩溃。
通过使用forward-zones-filepdns递归器还需要大约5个
处理区域文件的秒数。
哪个DNS服务器最好?
这真的是一个偏好和你有什么可用的问题。使用 一个你最喜欢的。
待办事项
- 尚未实现缓存
- 日志尚未实现