我正在尝试为我的局域网设置一个基本的 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...
目前我使用 big/etc/hosts
来阻止不需要的主机名。但该文件变得越来越大,接近 700000 个条目。有很多类似的条目,所以我想使用通配符,*.co.kr
因为我不会说韩语。此外,以数字开头或长度超过 64 个字符的主机名可能是我想要阻止的候选主机名。
AFAIK/etc/hosts
不提供该功能。我认为需要某种 DNS 守护进程。有任何想法吗?
编辑:我选择韩国顶级域名作为示例。我的/etc/hosts
变得越来越大,也越来越难维护。其中的大多数主机名都可以简化为一小组规则。