首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用BIND的白名单/黑名单

使用BIND的白名单/黑名单
EN

Server Fault用户
提问于 2018-05-01 18:42:40
回答 1查看 3.2K关注 0票数 1

所以我正在研究限制学校网络上网的可能方法。比较多个选项,得出在特定环境下哪一个选项是最好的。到目前为止,我已经知道了如何做:防火墙(PFSense),使用特定的浏览器(安全考试浏览器),在路由器上使用ACL。但我的老师真的很喜欢我使用DNS白名单/黑名单。

这将基于绑定DNS服务器,并可能使用dnsmasq。如果我正确理解,只允许我编辑我的/etc/host文件,并将所有“烦人”的站点放在其中,以便它们被翻译成一个假IP (0.0.0.0)。

现在我的问题是,我该怎么做白名单?我如何制作一个网站的列表,我想要被翻译的外部DNS,并阻止所有其他?因为到目前为止,对于如何做到这一点,我还没有找到明确的解释。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2018-05-02 10:03:38

与基于IP地址的ACL或基于主机名的透明HTTP代理等其他方法相比,DNS白名单并没有添加任何新的内容,而且很容易通过使用其他递归名称服务器、向hosts文件添加名称或使用代理来规避。

Dnsmasq将是一个更容易实现的工具,因为您可以在每个域使用两行简单行进行白名单,这是由Gary从Dnsmasq白名单缩短而来的:

代码语言:javascript
运行
复制
# Don't resolve any DNS, Blacklist all
no-resolv

# Whitelist domains to DNS lookup; 
# domain and forwarder NS (line for each pair)
server=/example.com/8.8.8.8
server=/example.com/1.1.1.1
server=/example.net/8.8.8.8
server=/example.net/1.1.1.1

# all other domains to localhost
address=/#/127.0.0.1

使用BIND,同样的方法会有点棘手,需要更多的配置。您可以添加递归,但使用无效的DNS服务器作为转发器。然后,使用真正的递归名称服务器将已白化的域添加为前向区域。

此示例为视图网络中的客户端创建一个198.51.100.0/24,并添加白色域(相当于上面的Dnsmasq配置):

代码语言:javascript
运行
复制
view "limitedrecursion" {
     // Network of your clients
     match-clients { 198.51.100.0/24; };
     allow-recursion { 198.51.100.0/24; };
     recursion yes;
     forward only;
     // INVALID FORWARDER
     forwarders { 10.10.10.10; };

     // Forward zones for whitelisted domains
     zone "example.com" in { type forward; forwarders {8.8.8.8; 1.1.1.1; }; };
     zone "example.net" in { type forward; forwarders {8.8.8.8; 1.1.1.1; }; };
};
票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/910207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档