Current time: 11-16-2024, 12:20 AM Hello There, Guest! (LoginRegister)


Thread Closed 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Howto] zweiter Nameserver
Author Message
Kilrathy Offline
Junior Member
*

Posts: 54
Joined: Jan 2008
Reputation: 0
Post: #1
MyBB [Howto] zweiter Nameserver
Hallöchen zusammen

So, nach einiger Einarbeitungszeit läuft nun ISPCP wunderbar auf einer kleinen VM - und das erstellen von vHosts via Bash ist vorbei (irgendwie vermisse ich das Big Grin).

Ich hatte von der vorherigen Installation noch einen zweiten Nameserver am laufen und diesen wollte ich ebenfalls übernehmen. Dazu habe ich das Howto hier gefunden: Nameserver Howto

Beim Einbauen und testen fielen mir dabei einige Kleinigkeiten auf, welche ich korrigieren musste:
  • Das Howto sagt, man soll die named.conf anpassen auf dem NS1. Da dies der Bind vom ISPCP ist, würde die named.conf bei jeder neuen Domain überschrieben werden... so war es zumindest bei mir. Also verfrachte ich diese Einstellungen in die named.conf.options...
  • Das Script habe ich ebenfalls angepasst: die wget Direktive mit scp ersetzt - mit einer Public Key Authentication ist dies die bessere Methode - vorallem fällt dieser unschöne vHost weg. Ebenfalls habe ich
    Code:
    sed '1,5d'
    durch
    Code:
    sed '1,8d'
    ersetz - es bringt nämlich nur Probleme wenn ich die localen Zonen auch auf dem Slave einbinden will. Und zu guter letzt den Restart Befehl aus der if-Schleife genommen - einmal neustarten pro Script durchlauf reicht aus.

Es gäbe noch eine korrektur zu machen - das Script kontrolliert nur ob das Zonefile auf dem Server erstellt wurde, nicht ob es bereits eingebunden wurde. Bei einem fehlgeschlagenen Transfer würde das Script jedesmal die nicht vorhandene Zone neu einbinden - worauf der DNS Server nicht mehr starten würde... muss ich mir noch was überlegen. Smile

Aber ansonsten... Einwände? Sonst könnte man das Howto mal anpassen. Smile

Gruss
Kilrathy
(This post was last modified: 04-18-2010 04:59 PM by ZooL.)
04-17-2010 06:55 PM
Find all posts by this user
ctct Offline
Newbie
*

Posts: 9
Joined: May 2009
Reputation: 0
Post: #2
RE: [Howto] zweiter Nameserver
Genau das Howto habe ich auch durchgemacht vor einer Stunde.
Das mit der named.conf.options habe ich auch so gelöst.
Kannst du mir dein neuer Code geben? Vorallem interessiert mich wie du das hässliche wget mit scp ersetzt hast.
Sollte man nicht "rndc" für die ganze geschichte verwenden? Vieleicht wie schon gesagt, ein neues "up to date" Howto.

Gruss
Ron
04-23-2010 09:33 PM
Find all posts by this user
ShadowJumper Offline
Member
***

Posts: 287
Joined: Sep 2008
Reputation: 2
Post: #3
RE: [Howto] zweiter Nameserver
Hi,

das würde mich auch Interessieren.

Wäre nett wenn du dazu weiter Infos posten würdest.
04-24-2010 09:43 PM
Find all posts by this user
Kilrathy Offline
Junior Member
*

Posts: 54
Joined: Jan 2008
Reputation: 0
Post: #4
RE: [Howto] zweiter Nameserver
Hi zusammen

Sorry für die Verspätung, also hier mal die genauen Details:

Code:
#!/bin/sh
NAMED="/etc/bind/loco-zones.conf"
TMPNAMED="/tmp/zns-441245.temp"
TMPZONEFILE="/tmp/zones.txt"
TMP="/tmp/zns-732.temp"
ZONELOCATION="/etc/bind/loco-zones"

echo -n "Checking for new named.conf... "
scp root@loco.zwirbel.net:/etc/bind/named.conf $TMPNAMED
#wget -q https://83.137.25.252:10801/named/named.conf -O $TMPNAMED

if [ -e $TMPNAMED ]
then
        echo "done."
else
        echo "no new data!"
        exit
fi
echo -n "Generating zone names... "
cat $TMPNAMED |grep zone |cut -d" " -f"2" |cut -d"\"" -f2 > $TMPZONEFILE
sed '1,8d' $TMPZONEFILE > $TMP
mv $TMP $TMPZONEFILE
echo "done. ("$TMPZONEFILE")"
echo "Generating zone info... "
cat $TMPZONEFILE |while read ZONE; do
if [ -e $ZONELOCATION/$ZONE.db ]
then
        echo "Zone $ZONE already available."
else
        echo -n "New zone available ($ZONE)... "
        echo "zone \"$ZONE\" { type slave; file \"$ZONELOCATION/$ZONE.db\"; masters { 83.137.25.252; }; allow-notify { 83.137.25.252; }; };" >> $NAMED
        echo "added."
fi
done
/etc/init.d/bind9 restart
rm $TMPZONEFILE
rm $TMPNAMED

Dazu noch folgende Anmerkungen:
Auf meinem zweiten DNS Server hatte ich bereits eine laufende Installation, daher habe ich auch die ZONELOCATION sowie auch die NAMED Variable angepasst - da dies nicht allgemein festgelegt werden kann, solltet ihr selber schauen wo ihr eure Zonen resp. die Zonen-Config ablegen wollt.

Die SCP Variante habe ich so gelöst:
Code:
scp root@loco.*****.net:/etc/bind/named.conf $TMPNAMED

Vorher habe ich eine public Key Authentication via SSH vorgenommen, damit ich vom NS2 mittels root auf der ISPCP Maschine einloggen kann, wie man sowas erledigt, könnt ihr u.a. hier nachlesen: ***link***

@ctct, ob du nur rndc verwenden kannst, bin ich mir nicht 100% sicher - aber ich glaube rndc kannst du ebenfalls verwenden. Bind muss einfach das Zonenfile *.conf neuladen, damit er weiss, für was er zuständig ist.

Desweiteren ist diese Kontrollstruktur:
Code:
if [ -e $ZONELOCATION/$ZONE.db ]
then
        echo "Zone $ZONE already available."
else
        echo -n "New zone available ($ZONE)... "
        echo "zone \"$ZONE\" { type slave; file \"$ZONELOCATION/$ZONE.db\"; masters { 83.137.25.252; }; allow-notify { 83.137.25.252; }; };" >> $NAMED
        echo "added."
fi

nicht optimal gelöst... denn ist das DB File nicht vorhanden (infolge eines TSIG Fehlers beim Transfers oder sowas) dann wird bei jedem Scriptdurchlauf eine neue Zeile im Zonenfiles erstellt... und das bis in die Unendlichkeit - besser wäre eine Kontrolle im File selber anstelle des Zonenfiles... aber das ist bei mir noch bei im ToDo Status.

Ach ja, ich würd noch empfehlen in der SSH Config PermitRootLogin auf "without-password" setzen... Smile

Gruss
(This post was last modified: 04-26-2010 10:42 PM by Kilrathy.)
04-26-2010 10:41 PM
Find all posts by this user
Thread Closed 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)