Можно ли настроить его isc-dhcp
таким образом, чтобы он мог отправлять разные адреса DNS-серверов разным клиентам в сети?
Допустим, у меня есть несколько Mac, PC с Linux и Windows в сети. Мой основной DNS-сервер находится bind9
под Linux, но у меня также есть сервер Windows, который также выступает в качестве DNS. Теперь я хочу, чтобы isc-dhcp
клиенты Windows отправляли DNS-подключение к серверу Windows, а все остальные компьютеры в сети получали настройки DNS из dhcp/bind9.
Это возможно?
решение1
Согласно ответу, который я получил от muru, я нашел такой обходной путь:
Чтобы узнать vender-class-identifier
от клиентов, вам нужно положить это сверху из dhcpd.conf
:
set vendor-string = option vendor-class-identifier;
После перезапуска службы dhcp и нового подключения к серверу dhcp с клиента вы можете использовать его, cat /var/lib/dhcp/dhcpd.leases
чтобы увидеть, какой у вас класс. Например, в Windows XP есть:"MSFT 5.0"
Теперь вы можете уточнить DNS-серверы для клиентов следующим образом, внутри блока подсети:
# DNS for Windows XP
if substring (option vendor-class-identifier, 0, 9) = "MSFT 5.0"
{
option domain-name-servers 192.168.0.1;
}
# DNS for all others
else
{
option domain-name-servers 192.168.2.254, 8.8.8.8;
}
Я не уверен, нужна ли нам эта 0, 9
переменная, может и нет.