• This forum has a zero tolerance policy regarding spam. If you register here to publish advertising, your user account will be deleted without further questions.

Secondary DNS

N

neverpanic

Guest
In den FAQs zu Omega[1] gibt es eine Anleitung, wie man einen Secondary Nameserver per Shell script automatisch updated.
Es gibt leider keine Möglichkeit, da einen Kommentar dazu zu schreiben, und ein Ticket will ich deswegen nicht eröffnen.

Als ich (auf meinem Testserver - ich hab Omega noch nich in Produktionsumgebungen) diese Lösung einrichtete ist mir aufgefallen, dass sie die Domains nicht löscht, wenn sie vom Masterserver entfernt werden.

Ich würde also eher folgende Lösung vorschlagen:
http://vhcs.puuhis.net/wiki/index.php/Secondary_DNS
Bei diesem How-to werden die Daten
1. aus der VHCS-Datenbank gelesen
2. jedes mal komplett neu generiert.
Das halte ich für besser.

Ich habe dieses Script angepasst:

php:
Code:
<?php
include '../include/vhcs-lib.php';
header("Content-type: text/plain");
echo "#  file generated " . date("m/d/Y") . "\n";
echo "server " . $cfg['BASE_SERVER_IP'] . " { };\n";
echo "#  domains\n";
$res1 = $sql->Execute("select domain_name,ip_number from domain,server_ips where domain.domain_ip_id=server_ips.ip_id order by domain_id");
while ($row = $res1->FetchRow()) {
        echo "zone \"" . $row[0] . "\" IN {\n" .
        "\ttype slave;\n" .
        "\tmasters { " . $row[1] . "; };\n" .
        "\tallow-notify { " . $row[1] . "; };\n" .
        "\tfile \"/var/cache/bind/slave/" .$row[0] . ".db\"; \n" .  //'' this string is for domains Ru''
        "};\n";
}
echo "#  domain aliases\n";
$res1 = $sql->Execute("select alias_name,ip_number from domain_aliasses,server_ips where domain_aliasses.alias_ip_id=server_ips.ip_id order by alias_id");
while ($row = $res1->FetchRow()) {
        echo "zone \"" . $row[0] . "\" IN {\n" .
        "\ttype slave;\n" .
        "\tmasters { " . $row[1] . "; };\n" .
        "\tallow-notify { " . $row[1] . "; };\n" .
        "\tfile \"/var/cache/bind/slave/" .$row[0] . ".db\"; \n" .  // ''this string is for domains Ru ''
        "};\n";
}
echo "#  end of VHCS2 domains\n";
?>

cron shell script (debian sarge):
Code:
#!/bin/sh
NAMED="/etc/bind/vhcs_slave.conf"
#echo -n "Checking for new named.conf... "
wget -q --sslcheckcert=0 http://87.230.10.244/domain/index.php -O /tmp/bind.sync
php -r 'die(strip_tags(file_get_contents("/tmp/bind.sync")));' > $NAMED
#echo "done"
#echo "Reloading bind9... "
/etc/init.d/bind9 reload
#echo "done"
rm /tmp/bind.sync
cron shell script (debian etch):
Code:
#!/bin/sh
NAMED="/etc/bind/vhcs_slave.conf"
#echo -n "Checking for new named.conf... "
wget -q --no-check-certificate https://87.230.9.67:440/domain/index.php -O $NAMED
#echo "done"
#echo "Reloading bind9... "
/etc/init.d/bind9 reload
#echo "done"

Würde gerne wissen, was ihr davon haltet, bevor ich mich direkt an das Omega-Projekt wende.

[1] http://www.isp-control.net/component/option,com_easyfaq/Itemid,38/task,view/id,7/
 
Back
Top