> есть сеть 172.16.50/24
> Для домена AD я решил выделить подсеть 172.16.50.192/26В смысле, интервал 172.16.50.192-254 внутри подсети 172.16.50.0/24, или у вас две (пересекающихся) сети находятся в одном и том-же широковещательном домене?
Какие маски сети на у controller.wsvirt.home и у addc1.ad.wsvirt.home? Вывода "ip route" будет достаточно.
> В реальности все клиентские системы должны быть в одном широковещательном домене.
В одном домене друг с другом, или в одном домене вместе с controller, controller2 и addc1?
Если все в одном широковещательном домене, то у вас, кажется, будет race condition между dhcpd развёрнутом на controller и на addc1. Они оба будут пытаться отвечать одному и тому-же клиенту.
Оставьте всех в одной сети /24 (например 172.16.50.0/24), или разнесите на 2 или более сети /26 (например 172.16.50.0/26 и 172.16.50.192/26) в разных широковещательных доменах. Но не перемешивайте разные сети в одном домене, а то будут трудно предсказуемые результаты.
По существу делегирования обратной зоны, соответствующей classless CIDR (то есть сети не /0, /8, /16 или /24). Так можно, но через костыли. Дело в том что DNS умеет в иерархию обратных зон используя десятичную нотацию адресов IP и точку как разделитель. Он может отличить, например, 172.16.50.0/24 от 172.16.51.0/24. А 172.16.50.0/25 от 172.16.50.128/25 не может, так как на половине последнего октета, в десятичной нотации, точку не поставишь.
Но, я полагаю, вы об этом уже всё прочитали и не устрашились.
> Мне нужно чтобы Linux клиенты из домена wsvirt.home могли разрешать реверсные имена
> в домене ad.wsvirt.home. Как это можно сделать и можно ли вообще
> это сделать?
Собственно, ваш "$GENERATE 193-254" эти костыли и есть. Оно вам надо? Не проще ли будет вашу лабораторию разнести на разные classful подсети?
У вас лаборатория по Самбе, или по экзотическим случаям делегирования обратных зон DNS?
Я однажды делал примерно так:
controller:/var/named/50.16.172.db
$ORIGIN 50.16.172.in-addr.arpa.
2 IN PTR controller.wsvirt.home.
3 IN PTR controller2.wsvirt.home.
$GENERATE 193-254 $ IN NS addc1.ad.wsvirt.home.
(но это не точно)
(освежил здесь https://dnswatch.com/dns-docs/BIND-administration-guide/Bv9A...)
Говорят, по RFC2317 можно и так:
controller:/var/named/50.16.172.db
$ORIGIN 50.16.172.in-addr.arpa.
2 IN PTR controller.wsvirt.home.
3 IN PTR controller2.wsvirt.home.
192/26 IN NS addc1.ad.wsvirt.home.
$GENERATE 193-254 $ IN CNAME $.192/26.50.16.172.in-addr.arpa.
(подсмотрел на https://superuser.com/questions/1450158/bind-create-reverse-...)
Но читаем https://www.ietf.org/rfc/rfc2317.txt:
Some DNS implementations are not kind to special characters in domain names, e.g. the "/" used in the above examples.
Я подозреваю, что в вашей конфигурации кто-то непрвильно обрабатывает ответ CNAME от controller.
Что будет если
dig ns 50.16.172.ddns @controller.wsvirt.home
?
Ещё можно попробоать как-то обозначить зону 50.16.172.ddns на controller. Есть гипотеза что он не знает что делать с запросами о *.ddns.
Например, задать её в качестве slave или forward.