Можно ли вернуть другой IP-адрес для одного и того же домена на основе Mac (или любого другого) клиента?
Например, у меня есть dynamic.test
домен, используемый в локальной сети, когда 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
Возможно, не напрямую, но в сочетании с DHCP это возможно. Первый шаг - настроить DHCP для двух (или более) пулов, они могут находиться в одной подсети и добавить статическое резервирование из одного пула для известных MAC-адресов.
Второй шаг - настроить DNS-сервер, который поддерживает view
s, например 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
};