Erstellt vor 8 Jahren

Zuletzt geändert vor 3 Jahren

#869 new addition

alternativer dnsserver der selbst resolft bitte mit bauen

Erstellt von: huckley Verantwortlicher:
Priorität: low Meilenstein: freetz-future
Komponente: packages Version: devel
Stichworte: Beobachter:
Product Id: Firmware Version:

Beschreibung

dnsmasq ist ja toll, aber es löst dns namen über andere resolver auf, schön wäre ein alternativer dns server der selbst resolvt.
bind ist sicherlich mit overkill
maradns, dnscache von djbdns, unbound wären so wahrscheinlich die engere Wahl

Anhänge (11)

unbound.patch (12.6 KB) - hinzugefügt von sf3978 vor 8 Jahren.
unbound_mk.patch (2.4 KB) - hinzugefügt von sf3978 vor 8 Jahren.
Das evtl. leere Verzeichnis "make/unbound/files/root/etc/unbound" muss jetzt nicht mehr vorhanden sein.
unbound_with-webif.patch (11.0 KB) - hinzugefügt von cuma vor 8 Jahren.
proper_unbound_mk.patch (2.7 KB) - hinzugefügt von sf3978 vor 8 Jahren.
unbound_1_4_6.patch (5.4 KB) - hinzugefügt von sf3978 vor 8 Jahren.
current version: 1.4.6
ldns_mk.patch (1.8 KB) - hinzugefügt von sf3978 vor 7 Jahren.
libldns
unbound_1_4_9_ldns.patch (5.7 KB) - hinzugefügt von sf3978 vor 7 Jahren.
current version: 1.4.9 with libldns
unbound_with_openssl_1.patch (5.7 KB) - hinzugefügt von sf3978 vor 7 Jahren.
ldns_with_openssl_1.patch (1.8 KB) - hinzugefügt von sf3978 vor 7 Jahren.
openssl_with_ECC.patch (3.2 KB) - hinzugefügt von sf3978 vor 7 Jahren.
unbound_1_4_11.patch (5.6 KB) - hinzugefügt von sf3978 vor 7 Jahren.
Version 1.4.11

Alle Anhänge herunterladen als: .zip

Änderungshistorie (49)

comment:1 Geändert vor 8 Jahren durch oliver

  • Komponente von avm nach packages geändert
  • Meilenstein von freetz-1.2 nach freetz-1.3 geändert
  • Priorität von normal nach low geändert

Hört sich gut an. Hast du auch ein Patch? Oder sollen wir das für dich machen?

comment:2 als Antwort auf: ↑ description Geändert vor 8 Jahren durch sf3978

Replying to huckley:

…, schön wäre ein alternativer dns server der selbst resolvt.

…, unbound wären so wahrscheinlich die engere Wahl

Im Anhang ein Patch für unbound.

Geändert vor 8 Jahren durch sf3978

comment:3 Geändert vor 8 Jahren durch cuma

Interessante Sache. Ist es aber sinnvoll die Dateien mit den Schlüsseln in Freetz zu speichern? Von anchors.mf gibt es eine neuere Version als im Patch: ftp://ftp.iana.org/itar/anchors.mf

comment:4 Geändert vor 8 Jahren durch sf3978

Die Konfigurationsdateien sind nur als Beispiel im Patch. Wie man es optimal machen könnte, soll bzw. kann diskutiert werden. Selbstverständlich sollten die neuesten Versionen verwendet werden.

comment:5 Antwort: Geändert vor 8 Jahren durch cuma

Hier eine angepasste Version mit Webinterface. Ist es möglich bei Imagebau noch andere Dateien außer dem Paket selbst herunterzuladen? Ansonsten müsste man das immer von Hand aktualiseren..

comment:6 als Antwort auf: ↑ 5 Geändert vor 8 Jahren durch sf3978

Replying to cuma:

Ist es möglich bei Imagebau noch andere Dateien außer dem Paket selbst herunterzuladen? Ansonsten müsste man das immer von Hand aktualiseren..

Ja, das ist möglich. Siehe mein Patch im Anhang.

comment:7 Geändert vor 8 Jahren durch oliver

Noch 2 Verbessesrungsvorschläge von mir:

  1. Bitte ein extra Target für den Download. wget sollte auch in ein Verzeichnis runterladen können, so dass man nicht mit cd wechseln muss.
  1. Die unbound_conf bitte ohne Kommentare im Flash speichern. Ein Link auf eine erklärende Website sollte ausreichen.

comment:8 Geändert vor 8 Jahren durch sf3978

@oliver: Danke für den Vorschlag. Ich habe deinen 1. Verbesserungsvorschlag in die Tat umgesetzt (siehe Patch). Das evtl. leere Verzeichnis "make/unbound/files/root/etc/unbound" muss jetzt NICHT mehr vorhanden sein.;-)

Geändert vor 8 Jahren durch sf3978

Das evtl. leere Verzeichnis "make/unbound/files/root/etc/unbound" muss jetzt nicht mehr vorhanden sein.

comment:9 Geändert vor 8 Jahren durch cuma

Von mir jetzt auch noch ein paar Änderungen:
-es werden die 3 zu aktualisierenden Dateien heruntergeladen
-in der .mk die .conf-Datei richtig gesetzt
-in der .mk den user entfernt (kann in der .conf gesetzt werden falls nötig)
-Kommentare aus .conf-Datei entfernt

was noch fehlt:
-Fehlermeldung wenn wget fehlschlägt
-Auswahl per menuconfig welche Dateien auf der Box landen

-rwxr-xr-x. 1 harrry users 818944  8. Jul 13:59 ./usr/bin/unbound
-rwxr-xr-x. 1 harrry users 752940  8. Jul 13:59 ./usr/bin/unbound-checkconf
-rwxr-xr-x. 1 harrry users 754108  8. Jul 13:59 ./usr/bin/unbound-control
-rwxr-xr-x. 1 harrry users 270444  8. Jul 13:59 ./usr/bin/unbound-host
-rwxr-xr-x. 1 harrry users 720144  8. Jul 13:59 ./usr/lib/freetz/libunbound.so.2.5.0


@sf3978: Ist es wirklich nötig bei jedem make die Datei neu zu laden? Sie ändert sich nicht so oft

Geändert vor 8 Jahren durch cuma

comment:10 Geändert vor 8 Jahren durch oliver

In meinen Augen spricht nichts dagegen, dass die Datei bei jedem Build heruntergeladen wird. Bei "jedem make" stimmt doch hoffentlich nicht?

comment:11 Geändert vor 8 Jahren durch sf3978

@cuma: Die Datei ändert sich nicht oft. Man kann ja mit "wget -N …" feststellen ob ein Laden erforderlich ist oder nicht. Das Problem ist, dass ich es nicht geschafft habe, nach "make/unbound/…" so zu laden, dass die geladenen Dateien im selbigen make- bzw. make ubound-precompiled-Vorgang, nach "packages/unbound-…" kopiert werden. Deshalb das Laden direkt nach "packages/unbound-…" .

comment:12 Geändert vor 8 Jahren durch cuma

Achso, un da packages/ immer neu erstellt wird muss man immer downloaden. Vielleicht weiss noch jemand einen besseren Weg?

comment:13 Geändert vor 8 Jahren durch sf3978

Ja, zwangsläufig wird erneut geladen, denn nach einem "make unbound-dirclean" ist ja Alles weg.

comment:14 Geändert vor 8 Jahren durch MaxMuster

Vielleicht auch eine Idee: Wie wäre es, wenn sich die Dateien nicht ändern, sie einfach nach "dl" zu laden und zu kopieren? So in etwa (nicht getestet und noch mit Redundanzen)

statt

wget -N -q -c http://ftp.isc.org/www/dlv/dlv.isc.org.key -O $(UNBOUND_CONF_DIR)/dlv.isc.org.key || echo fehlerausgabe?

nutzt man

[ -f $(DL_DIR)/dlv.isc.org.key ] || wget -N -q -c http://ftp.isc.org/www/dlv/dlv.isc.org.key -O $(DL_DIR)/dlv.isc.org.key || ( echo 'Error loading "dlv.isc.org.key"'; exit) 
[ -f $(DL_DIR)/dlv.isc.org.key ] &&  cp $(DL_DIR)/dlv.isc.org.key  $(UNBOUND_CONF_DIR)/ || ( echo 'OOps no "dlv.isc.org.key"'; exit ) 

comment:15 Geändert vor 8 Jahren durch sf3978

"dl" oder "make" ist nicht das Problem. Wie bekommt man die (aktuelle) Datei, die man gerade nach "dl" geladen hat, während make bzw. make unbound-precompiled nach "packages" kopiert?

comment:16 Antwort: Geändert vor 8 Jahren durch MaxMuster

Hm, was meinst du jetzt? Sowas wie

$(UNBOUND_DEST_DIR)/etc/unbound/:
	mkdir -p $(UNBOUND_DEST_DIR)/etc/unbound/

$(UNBOUND_DEST_DIR)/etc/unbound/dlv.isc.org.key: $(UNBOUND_DEST_DIR)/etc/unbound/
	cp $(DL_DIR)/dlv.isc.org.key $(UNBOUND_DEST_DIR)/etc/unbound/

comment:17 Geändert vor 8 Jahren durch cuma

Das Verzeichnis dl/ finde ich nicht so gut, da dieses (jedenfalls bei mir) nie gelöscht wird, die Datei aber ab und an (bei jedem checkout?) aktualisiert werden sollte. Deshalb denke ich dass make/unbound/…. besser dafür ist

comment:18 als Antwort auf: ↑ 16 Geändert vor 8 Jahren durch sf3978

Replying to MaxMuster:

Hm, was meinst du jetzt? Sowas wie …

Nein, ich meinte wie kann man mit der Datei "unbound.mk" und mit "make unbound-precompiled" die aktuellen Dateien (anchors.mf & Co.) in das Verzeichnis "make/unbound/files/root/etc/unbound" downloaden und im gerade stattfindenden "make unbound-precompiled"-Vorgang, diese Dateien in das Verzeichnis "packages/target-mipsel_uClibc-0.9.29/unbound-1.4.5/root/etc/unbound" kopieren. Bei all meinen Versuchen hat der Kopiervorgang stattgefunden, bevor der Download-Vorgang abgeschlossen war. D. h. wenn das Verzeichnis "make/unbound/files/root/etc/unbound" vor dem "make unbound-precompiled" leer war, dann ist auch das Verzeichnis "packages/target-mipsel_uClibc-0.9.29/unbound-1.4.5/root/etc/unbound" leer geblieben.

comment:19 Geändert vor 8 Jahren durch oliver

In das Verzeichnis unter make/… gehört nix geladen. Ich bin dafür die Dateien in das $(pkg_dir) zu laden. Und dann per $(INSTALL_FILE) Macro nach packages/… zu kopieren.

comment:20 Geändert vor 8 Jahren durch sf3978

OK, wenn's funktioniert …

comment:21 Geändert vor 8 Jahren durch sf3978

Jetzt funktioniert es gemäß dem Vorschlag von Oliver. Siehe Patch im Anhang.

comment:22 Geändert vor 8 Jahren durch oliver

$($(PKG)_FILES_BUILD_DIR): $($(PKG)_DIR)/.configured
       $(DL_TOOL) $(UNBOUND_DIR) .config $(@F) "$(UNBOUND_FILES_URLS)"

$($(PKG)_FILES_TARGET_DIR): $($(PKG)_DEST_DIR)/etc/$(pkg)/%: $($(PKG)_DIR)/%
       $(INSTALL_FILE)

Ich hatte mir das so überlegt. Das klappt soweit auch. Was ich nicht hinbekommen hab ist die Zuordnung der URL zur passenden Datei. Momentan werden die 3 URLS durchprobiert.

Geändert vor 8 Jahren durch sf3978

comment:23 Geändert vor 8 Jahren durch cuma

Ich habe das Problem, dass unbound nur Anfragen nach dem ersten Hostnamen auflöst. Alle späteren Hostnamen ergeben von dig ein "Segmentation fault". Strace von unbound:

_newselect(11, [7 8 10], [], NULL, NULL
) = 1 (in [7])


gettimeofday({1279633387, 187985}, NULL) = 0
recvfrom(7, "L\371\0\0\0\1\0\0\0\0\0\0\tbreakfast\4xxxx\4mooo"..., 65552, 0, {sa_family=AF_INET6, sin6_port=htons(51132), inet_pton(AF_INET6, "2001:4dd0:ff00:0:a00:27ff:fe36:731c", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, [28]) = 41
sendto(7, "L\371\204\203\0\1\0\0\0\1\0\0\tbreakfast\4xxxx\4mooo"..., 88, 0, {sa_family=AF_INET6, sin6_port=htons(51132), inet_pton(AF_INET6, "2001:4dd0:ff00:0:a00:27ff:fe36:731c", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = 88
recvfrom(7, 0x588440, 65552, 0, 0x7fabab1c, 0x7fabab9c) = -1 EAGAIN (Resource temporarily unavailable)
_newselect(11, [7 8 10], [], NULL, NULL) = 1 (in [7])

gettimeofday({1279633389, 997718}, NULL) = 0
recvfrom(7, "L\371\0\0\0\1\0\0\0\0\0\0\tbreakfast\4xxxx\4mooo"..., 65552, 0, {sa_family=AF_INET6, sin6_port=htons(51132), inet_pton(AF_INET6, "2001:4dd0:ff00:0:a00:27ff:fe36:731c", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, [28]) = 41
sendto(7, "L\371\204\203\0\1\0\0\0\1\0\0\tbreakfast\4xxxx\4mooo"..., 88, 0, {sa_family=AF_INET6, sin6_port=htons(51132), inet_pton(AF_INET6, "2001:4dd0:ff00:0:a00:27ff:fe36:731c", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = 88
recvfrom(7, 0x588440, 65552, 0, 0x7fabab1c, 0x7fabab9c) = -1 EAGAIN (Resource temporarily unavailable)


_newselect(11, [7 8 10], [], NULL, NULL
) = 1 (in [7])

comment:24 Geändert vor 8 Jahren durch oliver

  • Zusammenfassung von alternativer dnsserver der selbst resolft mitte mit bauen nach alternativer dnsserver der selbst resolft bitte mit bauen geändert

Geändert vor 8 Jahren durch sf3978

current version: 1.4.6

comment:25 Geändert vor 8 Jahren durch cuma

  • Typ von enhancement nach addition geändert

comment:26 Geändert vor 8 Jahren durch schuettecarsten

Passiert hier noch was?

comment:27 Antwort: Geändert vor 8 Jahren durch M66B

I just discovered that the compilation of 1.4.6 ends with an error and that the latest version needs OpenSSL 1.0 and that the WebIF lacks the stop/start interface …

comment:28 Geändert vor 8 Jahren durch cuma

Mit meinem Patch funktionierte das Webinterface. Evtl kam die Änderung am Freetz dazwischen und es müsste angepasst werden

comment:29 Geändert vor 8 Jahren durch M66B

I took unbound_with-webif.patch (=unbound version 1.4.5), removed unbound.mk, used proper_unbound_mk.patch and set all file permissions (execute) right. The WebIF is there (except start/stop/restart) and /etc/init.d/rc.unbound start works, so next time I have some time I will try to make it work.

comment:30 Antwort: Geändert vor 8 Jahren durch cuma

Wenn ich mich recht erinnere waren ja nach Patch hier aus dem Ticket andere Pfade gesetzt. Steht unbound in static.pkg?
Falls unbound den dnsserver ersetzen soll wäre ein multid-wrapper gut: r6629

Zuletzt geändert vor 8 Jahren von cuma (vorher) (Diff)

comment:31 als Antwort auf: ↑ 30 Geändert vor 8 Jahren durch M66B

Replying to cuma:

Wenn ich mich recht erinnere waren ja nach Patch hier aus dem Ticket andere Pfade gesetzt.

Can you give me a hint were to look?

Steht unbound in static.pkg?

Yes, in build/modified/filesystem/etc/static.pkg

Falls unbound den dnsserver ersetzen soll wäre ein multid-wrapper gut: r6629

I have no idea what multid is and what it does, … yet ;-)

comment:32 Geändert vor 8 Jahren durch cuma

Sorry, zu lange her. Damit das Webinterface richtig konfiguriert wird muss "start)" der rc.-Datei passen. Am besten setzt du dort an. multid ist der DNS Server von AVM und belegt somit Port 53

comment:33 als Antwort auf: ↑ 27 Geändert vor 8 Jahren durch sf3978

Replying to M66B:

I just discovered that the compilation of 1.4.6 ends with an error and that the latest version needs OpenSSL 1.0 …

Was für eine Fehlermeldung bekommst Du beim kompilieren von 1.4.6?

comment:34 Geändert vor 8 Jahren durch M66B

I wiped everything and applied only the last patch, but I still get this error:

cp: cannot stat `source/target-mipsel_uClibc-0.9.29/unbound-1.4.5/.libs/unbound-host': No such file or directory
make: *** No rule to make target `source/target-mipsel_uClibc-0.9.29/unbound-1.4.5/anchors.mf', needed by `packages/target-mipsel_uClibc-0.9.29/unbound-1.4.5/root/etc/unbound/anchors.mf'.  Stop.

So, there seems to be some left overs of 1.4.5 somewhere on my system.

These warnings may be relevant:

make/unbound/unbound.mk:1: warning: overriding commands for target `unbound-clean-echo-item'
make/_unbound/unbound.mk:1: warning: ignoring old commands for target `unbound-clean-echo-item'
make/unbound/unbound.mk:32: warning: overriding commands for target `unbound-check-download'
make/_unbound/unbound.mk:32: warning: ignoring old commands for target `unbound-check-download'
make/unbound/unbound.mk:33: warning: overriding commands for target `UNBOUND_SOURCE_DIR'
make/_unbound/unbound.mk:33: warning: ignoring old commands for target `UNBOUND_SOURCE_DIR'
make/unbound/unbound.mk:33: warning: overriding commands for target `UNBOUND_FREETZ_CHANGES_CHECK'
make/_unbound/unbound.mk:33: warning: ignoring old commands for target `UNBOUND_FREETZ_CHANGES_CHECK'
make/unbound/unbound.mk:60: warning: overriding commands for target `unbound-clean'
make/_unbound/unbound.mk:60: warning: ignoring old commands for target `unbound-clean'
make/unbound/unbound.mk:64: warning: overriding commands for target `unbound-uninstall'
make/_unbound/unbound.mk:64: warning: ignoring old commands for target `unbound-uninstall'
make/unbound/unbound.mk:66: warning: overriding commands for target `unbound-list'
make/_unbound/unbound.mk:66: warning: ignoring old commands for target `unbound-list'
make/unbound/unbound.mk:66: warning: overriding commands for target `unbound-dirclean--int'
make/_unbound/unbound.mk:66: warning: ignoring old commands for target `unbound-dirclean--int'
make/unbound/unbound.mk:66: warning: overriding commands for target `unbound-precompiled'
make/_unbound/unbound.mk:66: warning: ignoring old commands for target `unbound-precompiled'
make/unbound/unbound.mk:66: warning: overriding commands for target `unbound-clean-not-included--int'
make/_unbound/unbound.mk:66: warning: ignoring old commands for target `unbound-clean-not-included--int'

comment:35 Geändert vor 8 Jahren durch oliver

Perhaps you should do a "rm -rf make/_unbound".

Geändert vor 7 Jahren durch sf3978

libldns

Geändert vor 7 Jahren durch sf3978

current version: 1.4.9 with libldns

Geändert vor 7 Jahren durch sf3978

Geändert vor 7 Jahren durch sf3978

Geändert vor 7 Jahren durch sf3978

comment:36 Geändert vor 7 Jahren durch sf3978

Bitte beachten, dass die Änderungen / Ergänzungen betr. openssl-1.0.0d, mit dem aktuellen trunk nicht mehr funktionieren, da jetzt wieder openssl-0.9.8r im trunk.

Geändert vor 7 Jahren durch sf3978

Version 1.4.11

comment:37 Geändert vor 6 Jahren durch cuma

  • Meilenstein von freetz-1.3 nach freetz-future geändert

comment:38 Geändert vor 3 Jahren durch Izzy

I'm curious what the status is here, after being an open ticket for 5 years. I see unbound listed in the package list, and having a wiki page. If anyone is using this, maybe some screenshots could be included with the unbound Wiki page? And an estimate of required space in the packages page? With the latest trunk, my 7390 is at its limits, and I've got to start kicking out basics soon :( So it would be nice to have a pointer for calculation – plus some experiences of how well it performs, so one can tell whether it's worth it :)

Hinweis: Hilfe zur Verwendung von Tickets finden Sie in TracTickets.