Skip to content

Commit 86f1304

Browse files
committed
Added a DNS export script that exports the ispconfig database into bind file format.
1 parent f21fd9d commit 86f1304

File tree

1 file changed

+103
-0
lines changed

1 file changed

+103
-0
lines changed
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
<?php
2+
$host="IP";
3+
$user="root";
4+
$password="PASSWORD";
5+
mysql_connect($host,$user,$password) or die(mysql_error());
6+
mysql_select_db("dbispconfig");
7+
$result = "";
8+
$result = mysql_query("SELECT id,origin,ns,ttl,mbox,serial,refresh,retry,expire,minimum FROM dns_soa;");
9+
exec ("rm -f /etc/bind/named.conf.local");
10+
11+
$fx = fopen("/etc/bind/named.conf.local", "a+");
12+
13+
function hostname2ipfunktion($tmp1, $timeout = -1) {
14+
if ($tmp1 == 0) {
15+
$query = `nslookup -timeout=$timeout -retry=0 $tmp1`;
16+
if(preg_match('/\nAddress: (.*)\n/', $query, $matches))
17+
return trim($matches[1]);
18+
return $tmp1;
19+
}
20+
}
21+
22+
while($row = mysql_fetch_array($result))
23+
{
24+
### Hier ALLES Aktivieren bei Primary Nameserver ########################################################################################
25+
#$tmp1 = substr($row["origin"],0,-1);
26+
#fwrite($fx,"zone \"");
27+
#fwrite($fx,substr($row["origin"],0,-1));
28+
#fwrite($fx,"\" in { type master; file \"");
29+
#fwrite($fx,substr($row["origin"],0,-1));
30+
#fwrite($fx,"\"; };\n");
31+
#$result2 = mysql_query("select name,type,aux,data from dns_rr where zone=$row[id];");
32+
#exec("rm -f /var/cache/bind/$tmp1");
33+
#$f = fopen("/var/cache/bind/$tmp1", "a+");
34+
#fwrite($f,"\$TTL ");
35+
#fwrite($f,$row['ttl']);
36+
#fwrite($f,"\n");
37+
#fwrite($f,"@ IN SOA ");
38+
#fwrite($f,$row['ns']);
39+
#fwrite($f," ");
40+
#fwrite($f,$row['mbox']);
41+
#fwrite($f," (");
42+
#fwrite($f,"\n");
43+
#fwrite($f," ");
44+
#fwrite($f,$row['serial']);
45+
#fwrite($f," ;Serial");
46+
#fwrite($f,"\n");
47+
#fwrite($f," ");
48+
#fwrite($f,$row['refresh']);
49+
#fwrite($f," ;Refresh");
50+
#fwrite($f,"\n");
51+
#fwrite($f," ");
52+
#fwrite($f,$row['retry']);
53+
#fwrite($f," ;Retry");
54+
#fwrite($f,"\n");
55+
#fwrite($f," ");
56+
#fwrite($f,$row['expire']);
57+
#fwrite($f," ;Expire");
58+
#fwrite($f,"\n");
59+
#fwrite($f," ");
60+
#fwrite($f,$row['minimum']);
61+
#fwrite($f," )");
62+
#fwrite($f," ;Minimum");
63+
#fwrite($f,"\n");
64+
#fwrite($f,"\n");
65+
#while($row2 = mysql_fetch_row($result2))
66+
#{
67+
#fwrite($f,$row2['0']);
68+
#fwrite($f," IN ");
69+
#fwrite($f,$row2['1']);
70+
#fwrite($f," ");
71+
#if ($row2['2']>0)
72+
#{
73+
#fwrite($f,$row2['2']);
74+
#fwrite($f," ");
75+
#}
76+
#fwrite($f,$row2['3']);
77+
#fwrite($f,"\n");
78+
#}
79+
#fclose($f);
80+
#### ENDE Primärer Namerserver ###########################################################################################################
81+
82+
### Hier ALLES Aktivieren bei Secondary Nameserver ######################################################################################
83+
$tmp1 = substr($row["ns"],0,-1);
84+
$tmp2 = substr($row["origin"],0,-1);
85+
$nsip = hostname2ipfunktion($tmp1);
86+
if ($nsip == $tmp1) {
87+
echo "$tmp2 $tmp1 Not a valid Nameserver";
88+
echo "\n";
89+
}
90+
else {
91+
fwrite($fx,"zone \"");
92+
fwrite($fx,substr($row["origin"],0,-1));
93+
fwrite($fx,"\" in { type slave; file \"");
94+
fwrite($fx,substr($row["origin"],0,-1));
95+
fwrite($fx,"\"; masters {");
96+
fwrite($fx,"$nsip; }; };");
97+
fwrite($fx,"\n");
98+
}
99+
### ENDE Secondary Nameserver ###########################################################################################################
100+
}
101+
fclose($fx);
102+
exec("/etc/init.d/bind9 reload");
103+
?>

0 commit comments

Comments
 (0)