是否可以根据客户端的 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 的静态保留。
第二步是配置支持view
s 的 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
};