基于 Mac 的 DNS 服务器?

基于 Mac 的 DNS 服务器?

是否可以根据客户端的 Mac(或任何其他东西)为同一域返回不同的 IP?

例如我有一个dynamic.test在localnet中使用的域,当userA查询的IP时dynamic.test,DNS服务器应该返回提供的预定义IP userA,而当userB查询时,DNS服务器应该返回定义的IP userB

该过程大致如下:

[userA] # dns-register dynamic.test 10.0.0.100
[userB] # dns-register dynamic.test 10.0.0.101
[userA] # nslookup dynamic.test #==> should give 10.0.0.100
[userB] # nslookup dynamic.test #==> should give 10.0.0.101
[userA] # dns-register dynamic.test 10.0.0.103
[userA] # nslookup dynamic.test #==> should give 10.0.0.103

dns-register是 THE 提供的示例工具DNS server

答案1

也许不是直接的,但与 DHCP 结合,这是可能的。第一步是为两个(或更多)池配置 DHCP,它们可以位于同一子网中,并从一个池中添加已知 MAC 的静态保留。

第二步是配置支持views 的 DNS 服务器,例如 BIND,view按 IP 或子网匹配客户端,并可以为不同的客户端返回不同的值。以下view是来自的子句的示例Pro DNS 和 BIND

view "trusted" {
 match-clients { 192.168.23.0/24; }; // our network
  recursion yes;
  // other view statements as required
  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 other hosts
 // recursion not supported
 recursion no;
 // other view statements as required
 zone "example.com" {
   type master;
   // public only hosts
   file "external/master.example.com";
  };
  // add required zones
 };

相关内容