Domain-Controller für LDAP/AD automatisch holen
Domain-Controller nicht festlegen, sondern über DNS einen aktiven finden.
Beispiel:
function get_dc_from_domain($domain)
{
$arr = dns_get_record($domain);
if ($GLOBALS['DEBUG']>1)
{
dump("dns_get_record($domain)", $arr);
}
# DNS-Abfrage filtern
if (is_array($arr))
{
foreach($arr as $val)
{
if(@$val['class']=='IN')
{
switch(@$val['type'])
{
case 'A':
if (@$val['ip']!='')
{
$result[$val['ip']] = $val['ip'];
}
break;
case 'AAAA':
if(@$val['ipv6']!='')
{
$result[$val['ipv6']] = $val['ipv6'];
}
break;
}
}
}
}
# Ersten erreichbaren Domänencontroller zurück geben
foreach ($result as $res)
{
if (check_host_port($res, 389))
{
return get_dns_from_ip($res);
}
}
return FALSE;
}
Alternativ: Mehrere DC-Adressen eintragbar machen?