Skip to content
Snippets Groups Projects
Commit 3450d116 authored by tbrehm's avatar tbrehm
Browse files

Updated DNS export script.

parent 87069773
No related branches found
No related tags found
No related merge requests found
<?php
$host="IP-ADRESS";
$user="root";
$password="PASSWORD";
mysql_connect($host,$user,$password) or die(mysql_error());
mysql_select_db("dbispconfig");
$result = "";
$result = mysql_query("SELECT id,origin,ns,ttl,mbox,serial,refresh,retry,expire,minimum FROM dns_soa;");
exec ("rm -f /etc/bind/named.conf.local");
$fx = fopen("/etc/bind/named.conf.local", "a+");
function hostname2ipfunktion($tmp1, $timeout = -1) {
if ($tmp1 == 0) {
$query = `nslookup -timeout=$timeout -retry=0 $tmp1`;
if(preg_match('/\nAddress: (.*)\n/', $query, $matches))
return trim($matches[1]);
return $tmp1;
}
}
while($row = mysql_fetch_array($result))
{
### Hier ALLES Aktivieren bei Primary Nameserver ########################################################################################
$tmp1 = substr($row["origin"],0,-1);
fwrite($fx,"zone \"");
fwrite($fx,substr($row["origin"],0,-1));
fwrite($fx,"\" in { type master; file \"");
fwrite($fx,substr($row["origin"],0,-1));
fwrite($fx,"\"; };\n");
$result2 = mysql_query("select name,type,aux,data from dns_rr where zone=$row[id] ORDER BY name ASC;");
exec("rm -f /var/cache/bind/$tmp1");
$f = fopen("/var/cache/bind/$tmp1", "a+");
fwrite($f,"\$TTL ");
fwrite($f,$row['ttl']);
fwrite($f,"\n");
fwrite($f,"@ IN SOA ");
fwrite($f,$row['ns']);
fwrite($f," ");
fwrite($f,$row['mbox']);
fwrite($f," (");
fwrite($f,"\n");
fwrite($f," ");
fwrite($f,$row['serial']);
fwrite($f," ;Serial");
fwrite($f,"\n");
fwrite($f," ");
fwrite($f,$row['refresh']);
fwrite($f," ;Refresh");
fwrite($f,"\n");
fwrite($f," ");
fwrite($f,$row['retry']);
fwrite($f," ;Retry");
fwrite($f,"\n");
fwrite($f," ");
fwrite($f,$row['expire']);
fwrite($f," ;Expire");
fwrite($f,"\n");
fwrite($f," ");
fwrite($f,$row['minimum']);
fwrite($f," )");
fwrite($f," ;Minimum");
fwrite($f,"\n");
fwrite($f,"\n");
while($row2 = mysql_fetch_row($result2))
{
fwrite($f,$row2['0']);
fwrite($f," IN ");
fwrite($f,$row2['1']);
fwrite($f," ");
if ($row2['2']>0)
{
fwrite($f,$row2['2']);
fwrite($f," ");
}
fwrite($f,$row2['3']);
fwrite($f,"\n");
}
fclose($f);
### ENDE Primrer Namerserver ###########################################################################################################
### Hier ALLES Aktivieren bei Secondary Nameserver ######################################################################################
#$tmp1 = substr($row["ns"],0,-1);
#$tmp2 = substr($row["origin"],0,-1);
#$nsip = hostname2ipfunktion($tmp1);
#if ($nsip == $tmp1) {
#echo "$tmp2 $tmp1 Not a valid Nameserver";
#echo "\n";
#}
#else {
#fwrite($fx,"zone \"");
#fwrite($fx,substr($row["origin"],0,-1));
#fwrite($fx,"\" in { type slave; file \"");
#fwrite($fx,substr($row["origin"],0,-1));
#fwrite($fx,"\"; masters {");
#fwrite($fx,"$nsip; }; };");
#fwrite($fx,"\n");
#}
### ENDE Secondary Nameserver ###########################################################################################################
}
fclose($fx);
exec("/etc/init.d/bind9 reload");
<?php
$host="IP-Adresse-ISP-CONFIG-Master-Server";
$user="MYSQL-USER";
$password="PASSWORD";
mysql_connect($host,$user,$password) or die(mysql_error());
mysql_select_db("dbispconfig");
$result = "";
$result = mysql_query("SELECT id,origin,ns,ttl,mbox,serial,refresh,retry,expire,minimum FROM dns_soa;");
function hostname2ipfunktion($tmp1, $timeout = 1)
{
if ($tmp1 == 0)
{
$query = `nslookup -timeout=$timeout -retry=0 $tmp1`;
if(preg_match('/\nAddress: (.*)\n/', $query, $matches))
return trim($matches[1]);
return $tmp1;
}
}
while($row = mysql_fetch_array($result))
{
### Hier ALLES Aktivieren bei Primary Nameserver ########################################################################################
$varx11=substr($row["origin"],0,-1);
unlink("/var/cache/bind/$varx11");
$arr1[$x11]="zone \"$varx11\" in { type master; file \"$varx11\"; };\n";
$x11=$x11+1;
$result2 = mysql_query("select name,type,aux,data from dns_rr where zone=$row[id] ORDER BY name ASC;");
$arr3[0]="\$TTL ".$row['ttl']."\n@ IN SOA ".$row['ns']." ".$row['mbox']." (\n ".$row['serial']." ;Serial\n"." ".$row['refresh']." ;Refresh\n"." ".$row['retry']." ;Retry\n"." ".$row['expire']." ;Expire\n"." ".$row['minimum']." ) ;Minimum\n\n";
$xx1=1;
while($row2 = mysql_fetch_row($result2))
{
$arr2[$xx1]=$row2['0']." IN ".$row2['1']." ";
if ($row2['2']>0)
{
$arr3[$xx1]=$arr2[$xx1].$row2['2']." ".$row2['3']."\n";
}
else
{
$arr3[$xx1]=$arr2[$xx1].$row2['3']."\n";
}
$xx1=$xx1+1;
}
$f = fopen("/var/cache/bind/$varx11", "a+");
foreach($arr3 as $values) fputs($f, $values);
fclose($f);
$arr2=array();
$arr3=array();
### ENDE Primrer Nameserver ###########################################################################################################
### Hier ALLES Aktivieren bei Secondary Nameserver ######################################################################################
# $tmp1 = substr($row["ns"],0,-1);
# $tmp2 = substr($row["origin"],0,-1);
# $nsip = hostname2ipfunktion($tmp1);
# if ($nsip == $tmp1) # {
# echo "$tmp2 $tmp1 Not a valid Nameserver";
# echo "\n";
# }
# else # {
# $arr1[$x11]="zone \"".$tmp2."\" in { type slave; file \"".$tmp2."\"; masters {".$nsip."; }; };\n";
# $x11=$x11+1;
# }
### ENDE Secondary Nameserver ###########################################################################################################
}
unlink ("/etc/bind/named.conf.local");
$fx = fopen("/etc/bind/named.conf.local", "a+");
foreach($arr1 as $values) fputs($fx, $values);
fclose($fx);
exec("/etc/init.d/bind9 reload");
?>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment