Re: Kostenloses Webinterface 'izidns' für bind9
Posted: 2004-10-13 15:13
nochmal vorsichtig nachfrag =)
Resources for System-Administrators
https://www.rootforum.org/forum/
izidns (0.65) unstable; urgency=low
* Changed the behavior of config-bind.tcl .. now it'll gain *SQL
information directly from the config.inc.php file, so the potential
security
risks of someone reading config-bind.tcl manually has been erased plus
theres no need to configure things twice
* Added another crontab script ( inc/2ndNS.tcl ), which you'll need for your 2nd NS mashine
(thanks to LuftHansen for remembering)
* Added IPv6 compatibility ( adaption of several files )
* Changed copyright to (C) 2004 and 2005
-- smashie <smash@wohnzimmerproviderforum.de> Mon, 26 Dec 2004 16:24:08 +0200
izidns (0.66) unstable; urgency=low
* some fixes (only typos and such things)
* updated the documentation so things base on mysqltcl 2.51 now
* added libmysqltcl2.51.so (although I dont recommend using a
precompiled library) - thanks to milker
-- smashie <smash@wohnzimmerproviderforum.de> Wed, 29 Dec 2004 00:29:36 +0200
Code: Select all
Jan 12 01:39:39 h63231 named[18600]: zone 0.0.127.in-addr.arpa/IN: loaded serial 42
Jan 12 01:39:39 h63231 named[18600]: zone localhost/IN: loaded serial 42
Jan 12 01:39:39 h63231 named[18600]: zone wp-base.net/IN: loading master file /etc/izidns/wp-base.net.zone: file not found
Jan 12 01:39:39 h63231 named[18600]: running
Code: Select all
trinity:/etc/izidns # dir
insgesamt 12
drwxr-xr-x 2 root root 4096 2005-01-12 01:46 .
drwxr-xr-x 49 root root 4096 2005-01-12 01:46 ..
-rw-r--r-- 1 root root 621 2005-01-12 01:46 wp-base.net.zone
trinity:/etc/izidns #
Code: Select all
# Copyright (c) 2001-2004 SuSE Linux AG, Nuernberg, Germany.
# All rights reserved.
#
# Author: Frank Bodammer, Lars Mueller <lmuelle@suse.de>
#
# /etc/named.conf
#
# This is a sample configuration file for the name server BIND 9. It works as
# a caching only name server without modification.
#
# A sample configuration for setting up your own domain can be found in
# /usr/share/doc/packages/bind/sample-config.
#
# A description of all available options can be found in
# /usr/share/doc/packages/bind/misc/options.
options {
# The directory statement defines the name server's working directory
directory "/var/lib/named";
# Write dump and statistics file to the log subdirectory. The
# pathenames are relative to the chroot jail.
dump-file "/var/log/named_dump.db";
statistics-file "/var/log/named.stats";
# The forwarders record contains a list of servers to which queries
# should be forwarded. Enable this line and modify the IP address to
# your provider's name server. Up to three servers may be listed.
#forwarders { 192.0.2.1; 192.0.2.2; };
# Enable the next entry to prefer usage of the name server declared in
# the forwarders section.
#forward first;
# The listen-on record contains a list of local network interfaces to
# listen on. Optionally the port can be specified. Default is to
# listen on all interfaces found on your system. The default port is
# 53.
#listen-on port 53 { 127.0.0.1; };
# The listen-on-v6 record enables or disables listening on IPv6
# interfaces. Allowed values are 'any' and 'none' or a list of
# addresses.
listen-on-v6 { any; };
# The next three statements may be needed if a firewall stands between
# the local server and the internet.
#query-source address * port 53;
#transfer-source * port 53;
#notify-source * port 53;
# The allow-query record contains a list of networks or IP addresses
# to accept and deny queries from. The default is to allow queries
# from all hosts.
#allow-query { 127.0.0.1; };
# If notify is set to yes (default), notify messages are sent to other
# name servers when the the zone data is changed. Instead of setting
# a global 'notify' statement in the 'options' section, a separate
# 'notify' can be added to each zone definition.
notify no;
};
# To configure named's logging remove the leading '#' characters of the
# following examples.
#logging {
# # Log queries to a file limited to a size of 100 MB.
# channel query_logging {
# file "/var/log/named_querylog"
# versions 3 size 100M;
# print-time yes; // timestamp log entries
# };
# category queries {
# query_logging;
# };
#
# # Or log this kind alternatively to syslog.
# channel syslog_queries {
# syslog user;
# severity info;
# };
# category queries { syslog_queries; };
#
# # Log general name server errors to syslog.
# channel syslog_errors {
# syslog user;
# severity error;
# };
# category default { syslog_errors; };
#
# # Don't log lame server messages.
# category lame-servers { null; };
#};
# The following zone definitions don't need any modification. The first one
# is the definition of the root name servers. The second one defines
# localhost while the third defines the reverse lookup for localhost.
zone "." in {
type hint;
file "root.hint";
};
zone "localhost" in {
type master;
file "localhost.zone";
};
zone "0.0.127.in-addr.arpa" in {
type master;
file "127.0.0.zone";
};
# Include the meta include file generated by SuSEconfig.named. This includes
# all files as configured in NAMED_CONF_INCLUDE_FILES from
# /etc/sysconfig/named
include "/etc/named.conf.include";
#Wird von bind nicht akzeptiert
#include "/etc/named.conf.local";
#Wird von bind nicht akzeptiert
#include "/etc/bind/named.conf.local";
# You can insert further zone records for your own domains below or create
# single files in /etc/named.d/ and add the file names to
# NAMED_CONF_INCLUDE_FILES.
# See /usr/share/doc/packages/bind/README.SuSE for more details.
Code: Select all
zone "wp-base.net" {
type master;
file "/etc/izidns/wp-base.net.zone";
};
Ich benutze bei meiner dev Version Bind 9.2.4 .. dort wird named.conf.local angenommen .. außerdem bereitet mir bei deiner Konfiguration das directory Kopfschmerzen .. denn iirc sollte das nach /etc/named zeigen oder /etc/bind9 .. versuch mal meine scripte von izidns so zu adaptieren, dass er die zonefiles genauso nach /var/lib/named auslagert, sprich equivalent zu deinen alten Zonefilesdirectory "/var/lib/named";
Ja es ist meistens ein Rechte Problem .. aber deshalb hatte ich das workingdir bzfd ( bind zonefile dir ) auch in config-bind.tcl angelegt ... und vielen Dank für die Blumen :-) in izidns 0.70 beta werde ich eine neue Installationsroute wahrscheinlich mit vorkompiliertem TCL einbinden, sodass auch jegliche Problematik die bei libmysqltcl.so auftreten kann verschwindet .. ab 0.75 oder 0.80 werde ich auch mysql 4.1 support anbinden, aber dafür muss ich dann noch eine neue Differenzierung implementieren.TraXter wrote:ich habs jetzt so hinbekommen, indem ich einfach das working dir von izidns auf /var/lib/named/ gesetzt habe (zones landen also in /var/lib/named/izidns/) und einen symlink auf /etc/named.conf.include ind /var/lib/named/ erstellt habe. Mein Bind nimmt Dateien nur aus vorgegebenen Verzeichnissen irgendwie, ich kann nicht jedes nehmen (ich vermute das liegt am /etc/init.d/named, weil dort GLAUBE ICH die dateien aus den ordnern irgendwie umkopiert werden oder so. ich blick da aber nicht ganz durch - SuSE halt ...). Auf jeden Fall klappts jetzt so reibungslos. Danke für das geile Tool und besonders für die Hilfe!
Bis denne! TraXter
Erst auch einmal dir danke für die Blumen .. zu deinem Problem .. du hast mich kalt erwischt ;) .. ich habe in der Anleitung vergessen zu sagen, dass du auf den secondary auch die config-bind.tcl mitkopieren musst .. sprich 2ndNS.tcl und config-bind.tcl müssen in einem Ordner sein auch die libmysqltcl.so muss dabei .. am besten du kopierst den gesamten izidns ordner von deinem primary auf den secondary dann konfigurierst du 2ndNS.tcl und lässt es per crontab alle 5 Minuten laufen .. ich werde heute oder morgen izidns 0.67 rausbringen, welchen diesen Konfigurationsmangel behebt ;)worldsite wrote:Hi, also als erstes mal ein RIesenlob (!!) an Smash, ist eine geniale Arbeit die er da macht und ich als mehrfach EazyDNS geschädigter sehe wieder ein Licht am Horizont :lol: ...zwei Lizenzen von Eazy gekauft und gehen nicht. Leider bekommt man ja nun aber weder Support, noch dei versprochene OpenSource Lösung bei Zagler. --Egal ich schmeiss das Zeug jetzt weg.
Viel wichtiger:
Die Installation von izidns ging problemlos auf meine Suse 9.0'ler Server und die primary DNS funktioniert da auch brav. Was ich aber einfach nicht kapiere ist wie ich auf einem zweiten Server (in anderem Subnet) den zweiten DNS hinbekomme. Bei EazyDNS wäre da ja ein Script übers Internet mit der MySQL Datenbank der ersten verbunden worden und der hätte die Arbeit da "abgeholt". Bei izidns seh ich nun zwar das kleine 2ndNS.tcl Script, da das aber weder MySQL-Daten noch irgendwelche anderen Infos (ausser gerade der IP) von mir will, glaub ich kaum das dieses Ding alleine auf dem aussenstehenden Server was bringt.
Gibt's da ein Howto oder kann mir sonst jemand step-für-step sagen was zu tun ist?
Wäre superklasse!
Vielen Dank und beste Grüsse
Code: Select all
izidns (0.67) unstable; urgency=low
* Docs update as far as 2ndNS configuration's concerned
(thanks to worldsite)
* Added new config dir + new config files for 2ndNS ( see 2ndNS/ )
-- smashie <smash@wohnzimmerproviderforum.de> Sat, 15 Jan 2005 13:06:33 +0200
Code: Select all
> tclsh
% package req mysqltcl
2.51
%siehe dazu die docs/README.german .. dein cron Eintrag ist falsch da du aboslute Pfade verwenden musst ;)DtS wrote:Hallo,
Bei mir hat die Sache mit der "libmysqltcl2.51.so" eigentlich geklappt und Sie wurde auch gefunden:
Habe dann in der /inc/gbzf.tcl auch das "package req mysqltcl" drinnen.Code: Select all
> tclsh % package req mysqltcl 2.51 %
Jedoch der Befehl "tclsh ./gbzf.tcl" des Crons bleibt mir hängen, bis in alle Ewigkeit. Hat jemand einen Tip, an was dies liegen könnte?![]()
Lg
Jürgen
Code: Select all
* * * * * cd /var/www/powerdns/inc/ && tclsh ./gbzf.tclDu scheinst ein falsches Verständnis vom master/slave Austausch zu haben :-) .. der secondary wird nur zones runterladen, wenn diese auch in seinen configs stehen .. bitte lies 2ndNS/README.germanDtS wrote:Hi,
Nagut, ich habe vielleicht ein wenig "minimalisiert". Mein kompletter Croneintrag lautet:
Aber merkwürdigerweise funktioniert es jetzt? Kann es sein, dass es Anfangs etwas länger dauert? *grübel*Code: Select all
* * * * * cd /var/www/powerdns/inc/ && tclsh ./gbzf.tcl
Andere Frage noch:
Wie ist das mit dem 2nd-Nameserver zu verstehen? Müssen die angepassten Skripte (lt. Anleitung) auf dem Secondary kopiert und dort ausgeführt werden? (Schon, oder?
Reicht ein normales Master/Slave-System dazu nicht aus?
Also die Domains werden auf 1st-DNS angelegt und an den 2nd-DNS weitergereicht, der schliesslich dann die Zones schreibt...
Würde mich freuen, wenn du dazu noch etwas konkreter werden könntest. Danke dir schonmal...
Lg
Jürgen
Code: Select all
; Zonefile for rumpelkammer.at
$TTL 3600
@ IN SOA ns1.unisysdns.com. hostmaster.meinserver.com. (
1 ; serial number YYYYMMDDnn
28800 ; Refresh
7200 ; Retry
3600 ; Expire
360 ; Min TTL
)
@ IN NS ns1.meinserver.com.
@ IN NS ns2.meinserver.com.
www.rumpelkammer.at. IN A 80.78.255.203
rumpelkammer.at. IN A 80.78.255.203
mail.rumpelkammer.at. IN A 80.78.255.203
localhost.rumpelkammer.at. IN A 127.0.0.1
@ IN MX 10 mail.rumpelkammer.at.Code: Select all
; Zonefile for testdomain1.at
$TTL 3600
@ IN SOA ns1.meinserver.com. hostmaster.meinserver.com. (
2005011600 ; serial number YYYYMMDDnn
28800 ; Refresh
7200 ; Retry
3600 ; Expire
360 ; Min TTL
)
@ IN NS ns1.meinserver.com.
@ IN NS ns2.meinserver.com.
www.testdomain1.at. IN A 80.78.255.203
testdomain1.at. IN A 80.78.255.203
mail.testdomain1.at. IN A 80.78.255.203
localhost.testdomain1.at. IN A 127.0.0.1
@ IN MX 10 mail.testdomain1.at.Code: Select all
localhost.testdomain1.at. IN A 127.0.0.1Code: Select all
array(
"name" => "localhost.##DOMAIN##",
"type" => "A",
"content" => "127.0.0.1",
"ttl" => "$DEFAULT_TTL",
"prio" => ""
Jup das mit der Serial ist korrekt .. und ja auch du kannst durch ändern des first-zone arrays regeln, welche records beim Anlegen einer Domain angelegt werden sollen :-)DtS wrote:Mit fällt gerade nochwas auf:
Kann es sein, dass beim ersten Anlegen einer Domain die Serialnumber auf "1" steht und erst nach einer Ã?nderung in ein Datum/Zeit-Format umgewandelt wird:
Direkt nach dem Anlegen:Nach der ersten Ã?nderung einer Domain:Code: Select all
; Zonefile for rumpelkammer.at $TTL 3600 @ IN SOA ns1.unisysdns.com. hostmaster.meinserver.com. ( 1 ; serial number YYYYMMDDnn 28800 ; Refresh 7200 ; Retry 3600 ; Expire 360 ; Min TTL ) @ IN NS ns1.meinserver.com. @ IN NS ns2.meinserver.com. www.rumpelkammer.at. IN A 80.78.255.203 rumpelkammer.at. IN A 80.78.255.203 mail.rumpelkammer.at. IN A 80.78.255.203 localhost.rumpelkammer.at. IN A 127.0.0.1 @ IN MX 10 mail.rumpelkammer.at.Code: Select all
; Zonefile for testdomain1.at $TTL 3600 @ IN SOA ns1.meinserver.com. hostmaster.meinserver.com. ( 2005011600 ; serial number YYYYMMDDnn 28800 ; Refresh 7200 ; Retry 3600 ; Expire 360 ; Min TTL ) @ IN NS ns1.meinserver.com. @ IN NS ns2.meinserver.com. www.testdomain1.at. IN A 80.78.255.203 testdomain1.at. IN A 80.78.255.203 mail.testdomain1.at. IN A 80.78.255.203 localhost.testdomain1.at. IN A 127.0.0.1 @ IN MX 10 mail.testdomain1.at.
Ja und nochwas, was mir eigentlich nicht gefällt, oder gibt es dies Sinn zu belassen (?):
Dies könnte ich doch einfach durch Auskommentieren von folgendem Codeteil in der "config.inc.php" verhindern:Code: Select all
localhost.testdomain1.at. IN A 127.0.0.1
Code: Select all
array( "name" => "localhost.##DOMAIN##", "type" => "A", "content" => "127.0.0.1", "ttl" => "$DEFAULT_TTL", "prio" => ""
Hmmm, das mit der Serial ist zwar optisch nicht schön, aber funktionieren tut es ja grundsätzlich. :-D Vielleicht hast du mal Lust dies zu bereinigen, wenn du viiiiielllll Zeit hast... :lol:Jup das mit der Serial ist korrekt .. und ja auch du kannst durch ändern des first-zone arrays regeln, welche records beim Anlegen einer Domain angelegt werden sollen
Nö keine Sorge, der macht das schon perfekt. Da ist mir nur beim Kopieren ein kleiner Fehler passiert... also keine unnötige Mühe damit. Ansonsten begeister mich das ganze schonmal sehr...PS: keine Ahnung ob es bei dir durchs kopieren kam, aber dein quote 'nach dem Ã?ndern der Domain' eigentlich sollten im richtigen Zonefile die records und alles immernoch schön geordnet untereinander stehen .. ansonsten mu sich meine Ordnungsroutine mal überprüfen
Code: Select all
cd /var/www/powerdns/inc/ && tclsh ./gbzf.tcl
/etc/init.d/bind9 reload >/dev/null 2>&1Code: Select all
Jan 16 17:14:01 root named[5862]: loading configuration from '/etc/bind/named.conf'
Jan 16 17:14:01 root named[5862]: no IPv6 interfaces found
Jan 16 17:14:01 root named[5862]: zone testdomain.at/IN: could not find NS and/or SOA records
Jan 16 17:14:01 root named[5862]: zone testdomain.at/IN: has 0 SOA records
Jan 16 17:14:01 root named[5862]: zone testdomain.at/IN: has no NS records
Jan 16 17:14:01 root named[5862]: zone weiterertest.at.at/IN: could not find NS and/or SOA records
Jan 16 17:14:01 root named[5862]: zone weiterertest.at/IN: has 0 SOA records
Jan 16 17:14:01 root named[5862]: zone weiterertest.at/IN: has no NS recordsJa zeitversetzte Steuerung ist gut .. jedoch ist die Anleitung keine genaue Richtlinie sondenr soll nur Installationshilfe leisten .. ich werde deine beiden Tips im nächsten Release berücksichtigen :-)DtS wrote:'n Abend,
Ich denke ich habe da noch etwas gefunden, was nicht ganz 100%-ig sein dürfte:
Es gibt 2 Cronjobs:Aber die laufen (lt. Anleitung) eigentlich zur selben Zeit. Dadurch gibt es (zumindest bei mir) das Problem, dass die Zonefiles nicht in jedem Fall verfügbar sind und dadurch folgende Fehlermeldung entsteht:Code: Select all
cd /var/www/powerdns/inc/ && tclsh ./gbzf.tcl /etc/init.d/bind9 reload >/dev/null 2>&1
Wäre es also besser die beiden Cronjobs zeitversetzt laufen zu lassen?Code: Select all
Jan 16 17:14:01 root named[5862]: loading configuration from '/etc/bind/named.conf' Jan 16 17:14:01 root named[5862]: no IPv6 interfaces found Jan 16 17:14:01 root named[5862]: zone testdomain.at/IN: could not find NS and/or SOA records Jan 16 17:14:01 root named[5862]: zone testdomain.at/IN: has 0 SOA records Jan 16 17:14:01 root named[5862]: zone testdomain.at/IN: has no NS records Jan 16 17:14:01 root named[5862]: zone weiterertest.at.at/IN: could not find NS and/or SOA records Jan 16 17:14:01 root named[5862]: zone weiterertest.at/IN: has 0 SOA records Jan 16 17:14:01 root named[5862]: zone weiterertest.at/IN: has no NS records
Oder gibt es da noch eine andere Möglichkeit dieses Problem zu meistern?
Lg
Jürgen
Super...ich werde deine beiden Tips im nächsten Release berücksichtigen