domain-name-system – 同一BIND区域中的公共和私有主机

对于我的特定设置,我已经控制了例如example.com的BIND 9区域文件.此区域中有多个主机,例如www.example.com和mail.example.com.我希望公共互联网能够查询这些主机并检索他们所期望的IP.

某些主机是否可以被标记为“私有”,因为大多数公共互联网用户无法查询有关这些主机的信息,除了特定的IP用户范围?例如,我可以创建第三个主机,secret.example.com只能由192.168.0.x范围内的用户查询吗?

我知道我可以在BIND中使用单独的区域来执行此操作,但这似乎并不能满足我的需求.这里的关键是公共和私有主机都需要成为同一父级的一部分,在这种情况下是example.com.这也可以通过几台专用机器上的/ etc / hosts文件来实现,但是这些记录不能集中管​​理.

这是可能的,还是我忽略了不同的解决方案?

解决方法

是的,Bind通过观点来做到这一点.一些详细的例子是 herehere.

它在named.conf中看起来像这样:

view "trusted" {
 match-clients { 192.168.23.0/24; }; // our network
  recursion yes;
  zone "example.com" {
   type master;
   // private zone file including local hosts
   file "internal/master.example.com";
  };
  // add required zones
 };
view "badguys" {
 match-clients {"any"; }; // all others hosts
 // recursion not supported
 recursion no;
 };
 zone "example.com" {
   type master;
   // public only hosts
   file "external/master.example.com";
  };
  // add required zones
 };

我通常做的一个简单管理的技巧是简单地让内部文件$INCLUDE外部文件 – 只是不要忘记SOA.

最后要提醒的是,不要假装这不仅仅是橡皮鸡保险(不是说有任何问题).

相关文章

vue阻止冒泡事件 阻止点击事件的执行 <div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些