четверг, 31 марта 2016 г.

Dr.Web Esuite Server + Active Directory + Bind

Решил попробовать Dr.Web Esuite Server у себя в домене. Имею тестовый домен AD. В качестве DNS сервера используется bind9. При развертывании Dr.Web server  сразу столкнулся с проблемой при предложении установщика зарегистрировать сервис в AD. Постоянно ругался на ошибку  админа домена (мол не неправильно я его указал). Хотя логин и пароль были правильными. После 2-3 часов поиска проблем (гугл на это ничего не ответил) взял в руки tcpdump/wireshark и стал смотреть что происходит при попытке продолжить установку. И сразу увидел, что установщик пытается послать данные на порт 135 моего bind сервера. Но bind не открывает 135 порт. Его открывает процесс svhost на контроллере домена. Дело в том, что установщик смотрит, какие DNS серверы указаны в настройках подключения, так как считает, что DNS сервер находиться  на контроллере домена. И в стандартной ситуации так и бывает. Но я по некоторым причинам отказался от DNS сервера Microsoft и использовал Bind. Видимо разработчики Dr.web не учитывали такой поворот. Но вернемся к проблеме. Не долго думая я перенаправил просто все запросы на 135 порт на сервер AD с помощью правил iptables

  iptables -t nat -I PREROUTING -p tcp -d <dnsservip> --dport 135 -j DNAT --to-destination <adserverip>:135  
  iptables -t nat -A POSTROUTING -p tcp --dst <adserverip> --dport 135 -j SNAT --to-source <dnsservip>  

Где
<dnsservip> IP адрес нашего сервера DNS
<adserverip> IP адрес контроллера домена.

Сразу после добавления правил установка пошла дальше.