Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Zvonimir
ISPConfig 3
Commits
3450d116
Commit
3450d116
authored
Nov 16, 2009
by
tbrehm
Browse files
Updated DNS export script.
parent
87069773
Changes
1
Hide whitespace changes
Inline
Side-by-side
helper_scripts/dns_export_to_bind.php
View file @
3450d116
<?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
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment