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