1- <?php
2- $ host ="IP-ADRESS " ;
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] ORDER BY name ASC; " );
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 " );
1+ <?php
2+ $ host ="IP-Adresse-ISP-CONFIG-Master-Server " ;
3+ $ user ="MYSQL-USER " ;
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+ function hostname2ipfunktion ($ tmp1 , $ timeout = 1 )
10+ {
11+ if ($ tmp1 == 0 )
12+ {
13+ $ query = `nslookup -timeout= $ timeout -retry=0 $ tmp1 `;
14+ if (preg_match ('/\nAddress: (.*)\n/ ' , $ query , $ matches ))
15+ return trim ($ matches [1 ]);
16+ return $ tmp1 ;
17+ }
18+ }
19+
20+ while ($ row = mysql_fetch_array ($ result ))
21+ {
22+ ### Hier ALLES Aktivieren bei Primary Nameserver ########################################################################################
23+ $ varx11 =substr ($ row ["origin " ],0 ,-1 );
24+ unlink ("/var/cache/bind/ $ varx11 " );
25+ $ arr1 [$ x11 ]="zone \"$ varx11 \" in { type master; file \"$ varx11 \"; }; \n" ;
26+ $ x11 =$ x11 +1 ;
27+ $ result2 = mysql_query ("select name,type,aux,data from dns_rr where zone= $ row [id] ORDER BY name ASC; " );
28+ $ 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" ;
29+
30+ $ xx1 =1 ;
31+ while ($ row2 = mysql_fetch_row ($ result2 ))
32+ {
33+ $ arr2 [$ xx1 ]=$ row2 ['0 ' ]." IN " .$ row2 ['1 ' ]." " ;
34+
35+ if ($ row2 ['2 ' ]>0 )
36+ {
37+ $ arr3 [$ xx1 ]=$ arr2 [$ xx1 ].$ row2 ['2 ' ]." " .$ row2 ['3 ' ]."\n" ;
38+ }
39+ else
40+ {
41+ $ arr3 [$ xx1 ]=$ arr2 [$ xx1 ].$ row2 ['3 ' ]."\n" ;
42+ }
43+ $ xx1 =$ xx1 +1 ;
44+ }
45+ $ f = fopen ("/var/cache/bind/ $ varx11 " , "a+ " );
46+ foreach ($ arr3 as $ values ) fputs ($ f , $ values );
47+ fclose ($ f );
48+ $ arr2 =array ();
49+ $ arr3 =array ();
50+ ### ENDE Primärer Nameserver ###########################################################################################################
51+
52+ ### Hier ALLES Aktivieren bei Secondary Nameserver ######################################################################################
53+ # $tmp1 = substr($row["ns"],0,-1);
54+ # $tmp2 = substr($row["origin"],0,-1);
55+ # $nsip = hostname2ipfunktion($tmp1);
56+ # if ($nsip == $tmp1) # {
57+ # echo "$tmp2 $tmp1 Not a valid Nameserver";
58+ # echo "\n";
59+ # }
60+ # else # {
61+ # $arr1[$x11]="zone \"".$tmp2."\" in { type slave; file \"".$tmp2."\"; masters {".$nsip."; }; };\n";
62+ # $x11=$x11+1;
63+ # }
64+ ### ENDE Secondary Nameserver ###########################################################################################################
65+ }
66+
67+ unlink ("/etc/bind/named.conf.local " );
68+ $ fx = fopen ("/etc/bind/named.conf.local " , "a+ " );
69+ foreach ($ arr1 as $ values ) fputs ($ fx , $ values );
70+ fclose ($ fx );
71+ exec ("/etc/init.d/bind9 reload " );
10372?>
0 commit comments