Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
DNSMASQ und Systemd auf 241-r1, blocking port 53. [info]
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
ChrisJumper
Advocate
Advocate


Joined: 12 Mar 2005
Posts: 2225
Location: Germany

PostPosted: Wed Apr 17, 2019 6:56 pm    Post subject: DNSMASQ und Systemd auf 241-r1, blocking port 53. [info] Reply with quote

Hallo,

ich hatte heute die tolle Erfahrung das Systemd jetzt auch einen ressolved Service hat um Namen aufzulösen.. warum eigentlich?

Jedenfalls startete dann dnsmasq nicht mehr sauber hoch weil der Port 53 belegt war.

Abhilfe schafte:

Code:
# systemctl stop systemd-resolved.service


Und das disablen dieses Service...
Code:
# systemctl disable systemd-resolved.service


Da frage ich mich dann schon warum das per Default eingeschaltet sein muss? Macht Systemd jetzt auch /etc/resolv.conf und die /etc/hosts überflüssig?

Ich wollte das nur mal andeuten das ich damit diese Woche kurz spaß hatte. Musste nach einem Stromausfall den Rechner neu starten, gut möglich das es schon länger so läuft.

Grüße und frohe Feiertage an alle!

Chris
Back to top
View user's profile Send private message
mike155
Veteran
Veteran


Joined: 17 Sep 2010
Posts: 1299
Location: Frankfurt, Germany

PostPosted: Wed Apr 17, 2019 8:31 pm    Post subject: Reply with quote

ChrisJumper wrote:
Da frage ich mich dann schon warum das per Default eingeschaltet sein muss?

Es ist offenbar das Ziel von Systemd, alle bisherigen low-level UNIX Dienste zu integrieren - und zwar völlig unabhängig davon, ob das aus technischer Sicht sinnvoll ist oder nicht!

Die Integration von DNS Resolving in Systemd wurde gegen die Empfehlungen der DNS Entwickler durchgeführt. Nachlesen kann man das in diesem Thread. Dort schreibt Paul Vixie (langjähriger Maintainer von BIND und Autor des Standardwerks "DNS and BIND"), zur Eigenentwicklung von DNS Resolving Funktionen in Systemd:
Paul Vixie wrote:
systemd, launchd, and libc, and mpr, and every other place where dns client logic is needed, should just link against getdns, and not try to understand or to improve upon the best available dns client logic.

If getdns isn't desireable for some reason then use ldns or lwdnsd.

----

Advise that I gave them at the start of their project when they contacted me, but unfortunately they have a strong "do not depend on other people's code" mentality.

----

this NIH approach will doom us all.

Und genau diese Einstellung "wir ignorieren Code und Ratschläge von anderen, weil wir alles besser können" ist das, was mich außerordentlich stört an den Systemd Entwicklern.

Zurzeit sind die Systemd Entwickler wieder aktiv. Diesmal versuchen sie, das klassische cron zu verdrängen: Siehe dieser Artikel, Punkt 4.

Borg! Das Vorgehen der Systemd Entwickler erinnert mich an die Borg! Widerlich!
Back to top
View user's profile Send private message
schmidicom
Veteran
Veteran


Joined: 09 Mar 2006
Posts: 1559
Location: Schweiz

PostPosted: Thu Apr 18, 2019 6:35 am    Post subject: Re: DNSMASQ und Systemd auf 241-r1, blocking port 53. [info] Reply with quote

ChrisJumper wrote:
Da frage ich mich dann schon warum das per Default eingeschaltet sein muss?

Hab schon mehrere Gentoo's mit systemd aufgesetzt und es war noch nie standardmäßig aktiviert.

ChrisJumper wrote:
Macht Systemd jetzt auch /etc/resolv.conf und die /etc/hosts überflüssig?

Wieso sollte es das? Einfach mal die Manpage (man systemd-resolved) lesen und es wäre klar das es eigentlich nichts anderes ist als eine optionale alternative zu net-dns/openresolv.
_________________
GPG: 0x3FC78AEE51E5FB95
Back to top
View user's profile Send private message
Josef.95
Advocate
Advocate


Joined: 03 Sep 2007
Posts: 3627
Location: Germany

PostPosted: Thu Apr 18, 2019 9:15 am    Post subject: Reply with quote

Jo, der systemd-resolved.service ist nicht per default enabled

Chris, den hast du vermutlich (in irgend einer dunklen Nacht) mal selbst enabled :)
Back to top
View user's profile Send private message
misterjack
Veteran
Veteran


Joined: 03 Oct 2004
Posts: 1603
Location: Germany -> Saxony -> Leipzig

PostPosted: Thu Apr 18, 2019 7:10 pm    Post subject: Reply with quote

mike155 wrote:
Widerlich!

Man kann seine Uhr danach stellen. Kaum postet jemand ein Problemchen zu systemd, kommen die Hater aus ihren Löchern gekrochen und lassen ihre Galle da.
_________________
„Meine Meinung steht fest! Bitte verwirren Sie mich nicht mit Tatsachen.“
Back to top
View user's profile Send private message
ChrisJumper
Advocate
Advocate


Joined: 12 Mar 2005
Posts: 2225
Location: Germany

PostPosted: Thu Apr 18, 2019 7:20 pm    Post subject: Reply with quote

Danke mike155, werde ich mal rein lesen.

Vielen Dank schmidicom, ich wusste nicht das diese Services eine einfache man Seite haben.

Josef.95, ich hab das nicht eingerichtet. Aber es kann sein das ich mit einem etc-update geschludert habe, vor dem Neustart. Wobei das System nicht sauber herunter gefahren war, sondern dank Stromausfall einfach die Platte augeschaltet wurde.. und ich den Rechner einfach neu gestartet hatte.

Auf der anderen Seite:

Code:
temd-resolved.service
● systemd-resolved.service - Network Name Resolution
   Loaded: loaded (/lib/systemd/system/systemd-resolved.service; enabled; vendo>
   Active: active (running) since Thu 2019-04-18 08:15:40 CEST; 12h ago
     Docs: man:systemd-resolved.service(8


Hier läuft er auch. Nein ich hab den nicht enabled.

Ob damit mein Netzwerk-Schluckauf zusammen hängt bei diversen System?

Hin und wieder braucht es 10 bis 30 Sekunden bevor ein Ping ausgeführt wird oder das System sich meldet. Wenn mal Zeit ist werde ich dem mal nach gehen, jetzt aber erst mal überall system-resolve aufheben.

misterjack, ja das mit Systemd ist ein wenig... seltsam. Zum einen finde ich die Modernisierung gut und nicht alles schlecht. Aber solche Aktionen stören mich dann doch ein wenig. Warum ist Systemd nicht so Clever und schaut vorher ob ein Prozess/Service den es schon tausend mal gestartet hat den Port braucht? Ihn einfach nur blockieren ist blöd und dummes Design.

Andererseits lernt man nur aus Fehlern und den einen Hatertum vorzuwerfen bringt da nichts. Die Sprache ist aber auch da viel zu gefühlsbetont, aber es geht Mike halt nahe. Wenn dann auch genug Energie in die Systemd-Freie alternative, wie zuletzt bei Gnome 3 ohne Systemd (vielen Dank an alle Beteiligten!). Fließt, dann ist das gut.

Generell begrüße ich alle die auch die normalen Mechanismen mal hinterfragen umschreiben wollen und Prüfen und sich den Code genau anschauen, was warum wie gebraucht wird und nicht geht. Sowohl aus einem technischen Interesse heraus als auch aus Abneigung. Man kann halt besser verstehen wie etwas technisch gelöst ist wenn es beobachtet wird. Nur dadurch werden bessere und andere Lösungen gefunden, allein dafür bin ich dann doch auch Systemd dankbar. Mir ist wichtig das man halt auch noch alternativen hat.

Ich war aber ein wenig verwirrt als meine WLAN-Nutzer keiner IPs mehr bekommen haben weil DNSMASQ nicht mehr startete.
Back to top
View user's profile Send private message
mike155
Veteran
Veteran


Joined: 17 Sep 2010
Posts: 1299
Location: Frankfurt, Germany

PostPosted: Thu Apr 18, 2019 9:17 pm    Post subject: Reply with quote

Hallo ChrisJumper,

danke für Deine verständnisvollen Worte! :-) Normalerweise bin ich gar nicht so ein Hater - aber die Aufforderung letzte Woche von Lennart Poettering an die Fedora Entwickler, doch bitte Cron nicht mehr zu standardmäßig installieren (und stattdessen lieber Systemd Timer Units zu verwenden) ist schon ganz schön dreist! Da muss man doch aufstehen und sagen: Jetzt reicht's!

Auf meinem Internet Gateway habe ich auch Systemd und dnsmasq installiert. Ich habe das folgendermaßen konfiguriert:
  1. Systemd ist mit folgenden USE flags installiert: "pam seccomp split-usr sysv-utils". Alle andere Use Flags sind deaktiviert.

  2. systemd-resolved habe ich disabled:
    Code:
    systemctl disable systemd-resolved.service

    Weiter oben wurde geschrieben: "systemd-resolved.service ist nicht per default enabled". Wenn ich "systemctl status systemd-resolved" eingebe, erhalte ich als Ausgabe: "disabled; vendor preset: enabled". Klingt so, als wäre es vielleicht doch standardmäßig enabled?

  3. Zum Konfigurieren des Netzwerks verwende ich systemd-networkd. Ich habe folgende Konfigurationsdateien:

    • /etc/systemd/network/50-static.network (Richtung internes Netz)
      Code:
      [Match]
      Name=eth0

      [Network]
      Address=10.0.0.1/24

    • /etc/systemd/network/51-static.network (Richtung Internet)
      Code:
      [Match]
      Name=eth1

      [Network]
      Address=192.168.2.2/24

  4. /etc/resolv.conf ist eine eigene Datei (Wichtig: kein Link!). Ich habe sie selbst erstellt mit folgendem Inhalt:
    Code:
    name server 10.0.0.1
    search mydomain
    domain mydomain

    Falls Du statt statischer IP-Adressen DHCP einsetzen solltest: konfiguriere den DHCP Client so, dass er nicht /etc/resolv.conf überschreibt. Das machen DHCP Clients leider ganz gerne - und dann gibt es Chaos.

  5. dnsmasq lauscht auf 10.0.0.1, Port 53. An diesen Socket werden alle lokalen DNS Anfragen gesendet (über /etc/resolv.conf). Auch die anderen Rechner in meinem internen Netz verwenden diesen Socket, weil auf ihnen auch die oben gezeigte /etc/resolv.conf installiert ist.

    In /etc/dnsmasq.conf steht u.a:
    Code:
    listen-address=10.0.0.1

    domain=mydomain

    cache-size=8192

    # Forwading nameservers

    no-resolv
    no-poll

    server=<DNS Server des Providers 1>
    server=<DNS Server des Providers 1>

    min-port=1024
    max-port=65500

    # Filter requests to DNS server

    domain-needed
    bogus-priv

    filterwin2k

  6. Ich bin benutze dnsmasq als DNS Resolver/Cache, zum Filtern von DNS Requests und als DHCP Server.

Dnsmasq läuft bei mir sehr stabil und ich bin rundherum zufrieden!

Mike
Back to top
View user's profile Send private message
Josef.95
Advocate
Advocate


Joined: 03 Sep 2007
Posts: 3627
Location: Germany

PostPosted: Fri Apr 19, 2019 12:03 am    Post subject: Reply with quote

mike155 wrote:
[*]systemd-resolved habe ich disabled:
Code:
systemctl disable systemd-resolved.service

Weiter oben wurde geschrieben: "systemd-resolved.service ist nicht per default enabled". Wenn ich "systemctl status systemd-resolved" eingebe, erhalte ich als Ausgabe: "disabled; vendor preset: enabled". Klingt so, als wäre es vielleicht doch standardmäßig enabled?

Nee, wenn der Service enabled wäre, dann wäre die Ausgabe "enabled; vendor preset: enabled)"

Ich hab mir aber auch noch mal die Mühe gemacht und ein stage3-amd64-systemd-20190413.tar.bz2 heruntergeladen, und nach /tmp/gentoo/ entpackt, und nachgesehen.
Code:
ls -l etc/systemd/system/  etc/systemd/system/multi-user.target.wants/
etc/systemd/system/:
insgesamt 0
drwxr-xr-x 2 josef josef 60 13. Apr 16:13 getty.target.wants
drwxr-xr-x 2 josef josef 80 13. Apr 16:13 multi-user.target.wants

etc/systemd/system/multi-user.target.wants/:
insgesamt 0
lrwxrwxrwx 1 josef josef 46  8. Apr 16:09 machines.target -> ../../../../lib/systemd/system/machines.target
lrwxrwxrwx 1 josef josef 47  8. Apr 16:09 remote-fs.target -> ../../../../lib/systemd/system/remote-fs.target

Beim enablen würden da die Symlinks erstellt werden -->
Code:
systemctl enable systemd-resolved.service
Created symlink /etc/systemd/system/dbus-org.freedesktop.resolve1.service → /lib/systemd/system/systemd-resolved.service.
Created symlink /etc/systemd/system/multi-user.target.wants/systemd-resolved.service → /lib/systemd/system/systemd-resolved.service.

Fazit: systemd-resolved.service ist definitiv nicht per default enabled - das muss man schon selbst machen, sofern erwünscht :)
Nachtrag: So wie im https://wiki.gentoo.org/wiki/Systemd#systemd-networkd beschrieben.
Back to top
View user's profile Send private message
mike155
Veteran
Veteran


Joined: 17 Sep 2010
Posts: 1299
Location: Frankfurt, Germany

PostPosted: Fri Apr 19, 2019 12:57 am    Post subject: Reply with quote

Quote:
Nee, wenn der Service enabled wäre, dann wäre die Ausgabe "enabled; vendor preset: enabled)"

Hmm. Na ja, das erste (von Dir rot gekennzeichnete) "enabled" oder "disabled" ist der aktuelle Status. Das hängt davon ab, ob ich "systemctl enable" oder "systemctl disable" aufgerufen habe - hat also nichts mit der Default policy zu tun.

Das zweite "enabled" (hier blau gekennzeichnet, nach "vendor preset:") ist die Default Einstellung - zumindest aus Sicht der Systemd Entwickler. Und die ist wohl: "enabled".

Ich habe mir den Systemd Source Code angesehen. Dort finde ich die Datei ./presets/90-systemd.preset (nach der Installation findet man diese Datei unter /usr/lib64/systemd/user-preset/90-systemd.preset):
Code:
# These ones should be enabled by default, even if distributions
# generally follow a default-off policy.
...
enable systemd-resolved.service

Es ist gut möglich, dass Gentoo der oben erwähnten "default-off policy" folgt. Ich habe das nicht weiter untersucht, aber es würde Deinen Ergebnissen aus dem stage3 tarball entsprechen. Aber dann stimmt die Ausgabe der "default policy" bei "systemctl status" nicht... Möglicherweise gibt es zwei Default policies? Eine "Gentoo default policy" und eine "Systemd default policy"? Dann sollte die Ausgabe wohl lauten:
Code:
enabled; Systemd vendor preset: enabled, Gentoo vendor preset: disabled

Tatsache ist jedenfalls: wenn ich folgendes eingebe:
Code:
systemctl preset-all   # Resets all installed unit files to the defaults configured in the preset policy file

Dann erhalte ich als Ausgabe:
Code:
...
Created symlink /etc/systemd/system/dbus-org.freedesktop.resolve1.service → /lib/systemd/system/systemd-resolved.service.
Created symlink /etc/systemd/system/multi-user.target.wants/systemd-resolved.service → /lib/systemd/system/systemd-resolved.service.
...

Und danach ist systemd-resolved "enabled" - und das zeigt, dass die (Systemd) Default Policy eben doch "enabled" ist.
Back to top
View user's profile Send private message
Josef.95
Advocate
Advocate


Joined: 03 Sep 2007
Posts: 3627
Location: Germany

PostPosted: Fri Apr 19, 2019 7:48 am    Post subject: Reply with quote

mike155,

ja, ist ja alles gut und schön - wir sind hier aber im Gentoo-Forum, und ich ging davon aus das wir hier über das vom Gentoo systemd Maintainer im Tree bereitgestellte sys-apps/systemd Paket diskutieren in dem weder systemd-networkd.service noch systemd-resolved.service per default enabled sind.
Back to top
View user's profile Send private message
schmidicom
Veteran
Veteran


Joined: 09 Mar 2006
Posts: 1559
Location: Schweiz

PostPosted: Fri Apr 19, 2019 8:51 am    Post subject: Reply with quote

Zum Thema "vendor preset":
https://www.certdepot.net/systemd-preset-mechanism/
_________________
GPG: 0x3FC78AEE51E5FB95


Last edited by schmidicom on Thu Apr 25, 2019 7:54 am; edited 1 time in total
Back to top
View user's profile Send private message
ChrisJumper
Advocate
Advocate


Joined: 12 Mar 2005
Posts: 2225
Location: Germany

PostPosted: Tue Apr 23, 2019 5:12 pm    Post subject: Reply with quote

Ich kann es auch nicht mehr ausschließen, das ich es vielleicht doch aktiviert habe. Aber dann wäre ein Fehler wohl früher aufgetreten auf dem dnsmasq System, es sei denn es ist eine seltsame race condition die nur auftritt wenn beim Booten resolved schneller war als das dnsmasq Script. Aber das kann auch sein, weil so ein Server startet man ja nur neu wenn der Kernel einen wichtigen Bug hatte.

Es war auch nur auf zwei Systemen so, die anderen hatten das ebenfalls nicht aktiviert.

Vielleicht hab ich das damals beim experimentellen Wechsel zu Systemd aktiviert. Das war zu einer Zeit als im Gentoo-Wiki noch nichts von systemctl stand und ich via ln selber die Verknüpfungen anlegen musste um Module zu aktivieren.

Jetzt ärgert es mich as ich den Symlink gelöscht hab. Ich schau die Tage mal im Backup ob da noch ein Timestamp existiert.

Es ist auf jeden Fall sehr gut das es nicht der default ist.

Wo wir gerade bei DNS sind, hat von euch schon mal jemand net-dns/djbdns benutzt um einen lokalen dns-cache anzulegen?

https://cr.yp.to/djbdns/run-cache.html
Back to top
View user's profile Send private message
musv
Advocate
Advocate


Joined: 01 Dec 2002
Posts: 3254
Location: de

PostPosted: Wed Apr 24, 2019 7:37 pm    Post subject: Re: DNSMASQ und Systemd auf 241-r1, blocking port 53. [info] Reply with quote

ChrisJumper wrote:
ich hatte heute die tolle Erfahrung das Systemd jetzt auch einen ressolved Service hat um Namen aufzulösen

Ich hab jetzt vergeblich versucht herauszufinden, seit wann resolved schon in Systemd drinsteckt. Ich benutze es aber schon seit mehr als 5 Jahren. Das "jetzt" stimmt also nicht so ganz.

ChrisJumper wrote:
Jedenfalls startete dann dnsmasq nicht mehr sauber hoch weil der Port 53 belegt war.

Ist klar. DNS benutzt halt mal Port 53.

ChrisJumper wrote:
Da frage ich mich dann schon warum das per Default eingeschaltet sein muss? Macht Systemd jetzt auch /etc/resolv.conf und die /etc/hosts überflüssig?

Schön ist das sicherlich nicht. Benutzt man Systemd-Networkd für die Netzwerkkonfiguration, dann hat das jedoch durchaus seine Berechtigung. Die resolv.conf ist bei der Nutzung von Systemd-Resolved nur noch ein Link auf /run/systemd/resolved/resolv.conf. Löschst du den Link, kannst du die /etc/resolv.conf wie bisher nutzen.
Back to top
View user's profile Send private message
Josef.95
Advocate
Advocate


Joined: 03 Sep 2007
Posts: 3627
Location: Germany

PostPosted: Wed Apr 24, 2019 10:02 pm    Post subject: Reply with quote

musv wrote:
Schön ist das sicherlich nicht.
Ist unter Gentoo ja schlicht und einfach auch nicht zutreffend.
Back to top
View user's profile Send private message
musv
Advocate
Advocate


Joined: 01 Dec 2002
Posts: 3254
Location: de

PostPosted: Wed May 01, 2019 5:22 pm    Post subject: Reply with quote

Code:
systemctl status systemd-resolved

● systemd-resolved.service - Network Name Resolution
   Loaded: loaded (/lib/systemd/system/systemd-resolved.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:systemd-resolved.service(8)
           https://www.freedesktop.org/wiki/Software/systemd/resolved
           https://www.freedesktop.org/wiki/Software/systemd/writing-network-configuration-managers
           https://www.freedesktop.org/wiki/Software/systemd/writing-resolver-clients


Es gibt dann noch das Use-Flag resolvconf:
Code:
 + - resolvconf   : Install resolvconf symlink for systemd-resolve

Daran würde ich jetzt aber auch nicht festmachen, dass dadurch resolved per default aktiviert wird.

Die Systemd-Unit sagt zumindest, dass es per default aktiviert.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum