我正在尝试为我的局域网设置一个基本的 DNS 服务器,它能够放入一个空路由或 127.0.0.1 多个域。
我想阻止的域来自一个列表,但我也想使用正则表达式阻止一些域(这对我的设置来说是必须的)。
我做这项业务的候选软件似乎是 Unbound,这是一个递归缓存安全 DNS 服务器,具有各种有用的功能。
但是 Unbound 似乎不支持任何正则表达式!
此外,在区域重复方面,Unbound 非常挑剔。我的域列表是从许多混合来源构建的,因此我可以使用一些脚本过滤掉许多重复项,但也可以过滤列表中的域,例如:
aaah.very.this.com
但是也
非常.this.com
这导致未绑定的错误尖叫,因为有一个区域重复。
虽然这是一个小问题,我可以通过更好地清理域列表来删除它,但我的主要问题是缺少用于处理域请求的正则表达式。
我可以以某种方式阻止所有 *.com 或 *.biz 或类似的东西吗?
[\w\.\-]+.com A 127.0.0.1
[\w\.\-]+.com AAAA ::1
Run Code Online (Sandbox Code Playgroud)
我的正则表达式就是一个例子,我可以使用更复杂的......
我可以做一些更讨厌的事情吗?是否所有指向 nullroute 或 127.0.0.1 且仅域的白名单通过转发到外部 DNS 得到解析?
如果回复请不要忘记这个额外的问题,因为我很想知道答案。
我可以去干嘛?Bind9、dnsmasq、未绑定、pdns-recursor...
我的设置变得越来越复杂,通常我倾向于将事物分成几部分,然后自己将它们组装在一起。但这次我似乎需要更多帮助才能让整个齿轮协同工作。这就是为什么用户 @Rui F Ribeiro 要求我将这个问题作为一个单独的问题提出。
我想实现什么目标?基本上我在互联网上发现的称为 DNS 防火墙。
我需要一个配置有以下功能的 BIND 服务器:
我怎样才能实现如此复杂的配置?
这是我的配置文件,我想这里有些东西没有按需要工作,所以请帮助我进行配置。
// This is the primary configuration file for the BIND DNS server named.
//
// Please read /usr/share/doc/bind9/README.Debian.gz for information on the
// structure of BIND configuration files in Debian, *BEFORE* you customize
// this configuration file.
//
// If you are just adding zones, …
Run Code Online (Sandbox Code Playgroud)