14
回答
如何配置使得BIND只解析特定域名?
华为云实践训练营,热门技术免费实践!>>>   

我如何配置BIND,使得他可以具备如下功能
1、这台架设在内网的BIND只响应来自内网用户的DNS查询请求
2、只返回由管理员预先设定的域名IP信息,其他的请求一律拒绝或者重定向到一个指定的IP
3、管理员预先设定的这些域名 (比如 *.sina.com.cn),可以自动在互联网更新最新的IP信息,以便用户可以及时获取正确的IP地址
因为有些大型的门户网,他们的IP地址是经常变化的。

举报
机械师
发帖于7年前 14回/5K+阅
共有14个答案 最后回答: 4年前

网上几乎大部分的bind文章都是介绍你说的这种解析某个域名的

例如

http://www.oschina.net/bbs/thread/6470
http://www.oschina.net/bbs/thread/3622

1、这台架设在内网的BIND只响应来自内网用户的DNS查询请求

如果是内网服务器,那外网肯定是无法访问的,出发你有提前做地址映射。

2、只返回由管理员预先设定的域名IP信息,其他的请求一律拒绝或者重定向到一个指定的IP
3、管理员预先设定的这些域名 (比如 *.sina.com.cn),可以自动在互联网更新最新的IP信息,以便用户可以及时获取正确的IP地址

问题2和问题3有点冲突,如果是需要更新互联网的IP信息,那为什么要拒绝其他请求?
DNS服务本身就有cache效果,通常过期时间都是2H,你可以设置短一点时间。 

之所以提出2和3这两个需求,仅仅是为了局域网的安全和其他一些方面的考虑而提的。

领导要求既不影响工作,还要安全,更不许员工在工作时间在网上瞎转

所以我只能在配置文件上下功夫,只响应一些安全的、与工作有关的站点可以被解析,而除此以外的其他解析请求则一律拒绝。

比如我只允许

*.sina.com

*.google.com

*.baidu.com

*.newschina.com

......

等等这些域名可以被解析,而且这些域名可以自动更新对应的IP信息

除此以外的所有域名一概不给解析

就这个意思

1.  allow-query { address_match_list }; 

限制来源IP地址

2,3  设置全部都不转发 , 只有特定的域名可以转发

在options 里面设置 forward 部转发

然后在 

zone "google.com" {

    type forward;

    forwarders { IP; };

};

第一保证是版本是:bind 9 以上

配置如下: 

options {  

    directory "/var/named";     

    forward only; #不允许解析,只能转发

}; 

zone "google.com" { 

    type forward; 

    forwarders { 202.106.0.20; };  #转发地址

}; 

你尝试一下,我没有测试过,道理应该是这样

--- 共有 2 条评论 ---
SONG yeyi这样限制来源IP地址就无法办达到目的了 4年前 回复
SONG yeyi理论上是没有问题,我有一个同楼主相差不多的问题,针对局域网所有网段 4年前 回复

感谢楼上所有兄弟的回复

如下:

zone "google.com" { 

    type forward; 

    forwarders { 202.106.0.20; };  #转发地址

};

从你的回复,我觉得这里的IP地址应该是我们手动维护上去的,是吧?

但有个问题,假如随着named.conf里所维护的域名不断增加,同时一些域名会在期间更换IP,或者有些域名会对应多个IP等等情况

我考虑,这里的IP如果能让BIND自动更新就好了。

-------------------

顶部