ich habe gestern AdguardHome + Unbound in einem LXC Container über PromoxVE installiert. Da ich ein absoluter Anfänger in Sachen Linux etc. bin, habe ich den letzten Tagen viel gelesen. Nun habe ich aber einen dicken Schädel vor lauter Infos erhalten
Wenn ich in der Shell „systemctl status unbound“ eingebe, erhalte ich folg. Fehlermeldung…
adguardhome unbound[135]: [1703977886] unbound[135:0] warning: so-rcvbuf 1048576 was not granted. Got 425984. To fix: start with root permissions(linux) or sysctl bigger net.core.rmem_max(linux) or kern.ipc.maxsockbuf(bsd) values.
adguardhome unbound: [135:0] warning: subnetcache: serve-expired is set but not working for data originating from the subnet module cache.
adguardhome unbound: [135:0] warning: subnetcache: prefetch is set but not working for data originating from the subnet mod
Natürlich habe ich bereits nach diesen Fehlermeldungen im Netz geschaut…aber so richtig fündig bin ich leider nicht geworden. Habt ihr evtl. einen Tipp für mich? Besten Dank im Voraus.
Du kannst mir glauben, dass ich darüber zwar schon einiges finden konnte, aber eine konkrete Lösung habe ich bis dato leider nicht finden können. Möglicherweise kann ein Eintrag in /etc/sysctl.conf helfen.
Ich habe soeben ProxmoxVE neu gestartet, und die Fehlermeldung taucht plötzlich nicht mehr auf.
Der Dienst läuft anscheinend. Vermutlich stimmt irgendwas mit der unbound config nicht. Ob das notwendig ist, damit Adguard funktioniert, weiß ich nicht. In der offiziellen unbound Dokumentation kann man entweder chroot korrekt setzen oder deaktivieren:
By default the Unbound configuration uses chroot to provide an extra layer of defence against remote exploits. If Unbound is not starting because it cannot access files due to permission errors caused by chroot, a solution can be to enter file paths as full pathnames starting at the root of the file system (/). Otherwise, if chroot is not required you can disable it in the configuration file:
server:
# disable chroot
chroot: ""
PS: Setzte solche Ausgaben am besten in Codeblöcke. Wie das funktioniert, siehst du wenn du deinen letzten Beitrag bearbeitest
Als Anfänger hätte ich dietPi installiert. Die Installation von Adguard und unbound ist viel leichter und läuft tadellos.
Ein Proxmox Server einzurichten, als Anfänger hört sich für mich so an als das viel „copy and paste“ gemacht wurde ohne wirklich eine Anhung zu haben was man macht.
Ist nicht wirklich ein guter Weg
Ich hatte dietPi mit Pihole + Unbound auf einem Raspi zunächst auch installiert. Dann habe mir für einen ersten Test einen Dell Wyse 5070 zugelegt habe, um mit Proxmox erste Erfahrungen sammeln zu können. Wo soll man als Anfänger deiner Meinung nach anfangen? Natürlich schaut man sich Tutorials an und lernt somit z.B. den ersten LXC Container zu erstellen etc.
Irgendwie habe ich das Gefühl, dass Anfänger häufig müde belächelt werden. Ich habe bis vor wenigen Tagen keine Ahnung von einem DNS-Server gehabt. Inzwischen habe ich jedoch viel darüber lesen können, und inzwischen weiß ich auch etwas mit den ganzen Begrifflichkeiten wie Root-Server etc. anzufangen.
Ohne das ich etwas verändert habe bekomme ich aber nun leider folg. Meldung:
root@adguardhome:~# service unbound status
x unbound.service - Unbound DNS server
Loaded: loaded (/lib/systemd/system/unbound.service; enabled; preset: enabled)
Active: failed (Result: exit-code) since Tue 2024-01-02 12:52:23 CET; 34min ago
Docs: man:unbound(8)
Process: 214 ExecStartPre=/usr/libexec/unbound-helper chroot_setup (code=exited, status=1/FAILURE)
Process: 216 ExecStartPre=/usr/libexec/unbound-helper root_trust_anchor_update (code=exited, status=0/SUCCESS)
Process: 218 ExecStart=/usr/sbin/unbound -d -p $DAEMON_OPTS (code=exited, status=1/FAILURE)
Process: 219 ExecStopPost=/usr/libexec/unbound-helper chroot_teardown (code=exited, status=0/SUCCESS)
Main PID: 218 (code=exited, status=1/FAILURE)
CPU: 49ms
Notice: journal has been rotated since unit was started, output may be incomplete.
root@adguardhome:~#
Kurzer Zwischenstand:
Ich habe plötzlich eine CPU-Auslastung von fast 100 % gehabt. Die Boot-Disk-Größe hatte ich anfangs auf 2 GB gesetzt. Offensichtlich war dies zu wenig, denn 93 % waren belegt. Ich habe gelernt, dass man mit dem Befehl pct resize die Speichergröße verändern kann. Den Befehl habe ich im Knoten ausgeführt und den Speicher auf 8 GB erhöht. Die Speicherauslastung ist nun wieder unter 1 %. Das Problem hätte ich gelöst. Was bleibt ist, dass ich mit dem Befehl nano die /etc/unbound/unbound.conf.d/config.conf nicht verändern kann. Ich erhalte folg. Fehlermeldung:
Bad lock file is ignored: /etc/unbound/unbound.conf.d/.config.conf.swp
War echt nicht Böse gemeint, war bei mir am Anfang auch so. Ich habe wirklich nur gute Erfahrungen mit dietPi und Adguard Home + unbound gemacht. Proxmox scheint mir einfach eher für Profis gedacht bzw. für Menschen die sich wirklich viel mit IT beschäftigen. Da es einfach viele Fallstricke gibt besonders bei der Konfiguration sollte man wissen was man macht, oder auch nicht
Vorab: Habe meine LXC-Hosts vor Jahren durch LXD (das auf LXC aufsetzt) ersetzt. Hier bestehen ähnliche aber im Detail andere Schwierigkeiten. Konkrete Einstellungen zur Lösung des Problems kann ich also nicht liefern.
Zu sehen ist aber:
Unbound möchte Resourcen allokieren die der Container nicht im nötigen Umfang hat. Daneben Operationen ausführen, für die der Container keine Berechtigung hat.
Die Container sind im Standard auf Sicherheit konfiguriert. Für manche Software reicht das nicht.
Man muss dann die Konfiguration des Containers anpassen. Zu den genannten Resourcen gibt es passende Parameter.
Mittlerweile lasse ich zwar auch fast alles im Container laufen, jedoch nur, wenn ich die Security nicht aufweichen muss.
Für Mailserver, auf denen bei mir auch immer ein Unbound läuft, verwende ich stattdessen gleich eine VM. Damit gibt es diese Herausforderungen nicht. Bei Proxmox kann man neben Containern mit LXC auch VMs mit KVM erstellen.
Im Grunde läuft Unbound auch soweit. Die Fehlermeldungen „nerven“ mich nur etwas
# disable chroot
chroot: ""
…hat nicht geholfen. Fehlermeldung wird nach wie vor angezeit.
Jetzt auch wieder…
Jan 02 20:35:20 adguardhome unbound[345]: [1704224120] unbound[345:0] warning: so-rcvbuf 1048576 was not granted. Got 425984. To fix: start with root permissions(linux) or sys>
Jan 02 20:35:20 adguardhome unbound[345]: [1704224120] unbound[345:0] warning: so-rcvbuf 1048576 was not granted. Got 425984. To fix: start with root permissions(linux) or sys>
Jan 02 20:35:20 adguardhome unbound[345]: [1704224120] unbound[345:0] warning: so-rcvbuf 1048576 was not granted. Got 425984. To fix: start with root permissions(linux) or sys>
Jan 02 20:35:20 adguardhome unbound[345]: [1704224120] unbound[345:0] warning: so-rcvbuf 1048576 was not granted. Got 425984. To fix: start with root permissions(linux) or sys>
Jan 02 20:35:20 adguardhome unbound[345]: [345:0] notice: init module 0: subnetcache
Jan 02 20:35:20 adguardhome unbound[345]: [345:0] warning: subnetcache: prefetch is set but not working for data originating from the subnet module cache.
Jan 02 20:35:20 adguardhome unbound[345]: [345:0] notice: init module 1: validator
Jan 02 20:35:20 adguardhome unbound[345]: [345:0] notice: init module 2: iterator
Jan 02 20:35:21 adguardhome systemd[1]: Started unbound.service - Unbound DNS server.
Jan 02 20:35:21 adguardhome unbound[345]: [345:0] info: start of service (unbound 1.17.1).
Ich habe die sysctl-Variablen in der Datei /etc/sysctl.conf geändert…dennoch bleiben die Fehlermeldungen bestehen. Ich gebe für heute erst einmal auf
Die Einträge in sysctl beeinflussen den Kernel. Im Container wird aber der Kernel des Wirts durchgereicht und dessen Konfigurtaion kann aus dem Container heraus nicht geändert werden.
Du musst die Konfiguration des Containers ändern.
Unter https://discuss.linuxcontainers.org ist das Forum für LXC. Da habe ich früher gute Erfahrungen gemacht. Ebenso soll das Forum von Proxmox auch hilfreich sein. Ich finde leider kein Container-Archiv mehr, bei dem ich die Config angepasst habe.
Besten Dank für eure Hinweise. Was würdet ihr mir empfehlen? AGH + Unbound in einer KVM oder einen neuen aber privilegierten LXC Container erstellen? Oder vielleicht es dabei sogar vorerst belassen, da es im Grund ja soweit zu laufen scheint.
@bamf hat ja bereits darauf hingewiesen, das man die Warnungen ignorieren kann.
Es gibt viel Software, die in gewissen Konstellationen permanent Warnungen ausgibt, ohne das gebrauchsbeeinträchtigende Fehler auftreten.
Persönlich würde ich da nicht auf was anderes wechseln, es läuft ja.
Unbound ist auch nichts, was man nicht auch im Container laufen lassen kann. Kenne auch Installationen von Unbound in Containern.
Das ist ein reines Performance-Setting, das du in der unbound.conf selbst gesetzt hast. so-rcvbuf definiert die Größe des Socket Receive Buffer.
So lange dein Server nicht so ausgelastet ist, dass Nachrichten verloren gehen, kannst du das ignorieren. Wenn du den Fehler loswerden möchtest, schmeiß die Option aus der Config.
Ok. Das habe ich soweit verstanden. Dann hätte ich noch eine weitere Verständnisfrage. Es heißt, dass im Paketmanager während der Installation von Unbound die Datei root.hints automatisch installiert wird und sich diese auch aktualisiert, wenn das Paket regelmäßig aktualisiert wird, richtig?