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