Systemd-resolved ignoruje DNS běžící na routeru

ByCzech

  • *****
  • 1 861
    • Zobrazit profil
    • E-mail
Lež. Výměna za jiný funkční soft není pouhé vypnutí a znefunkčnění něčeho. To děláte vždycky, když se vám něčí názor nehodí do krámu, že ho manipulujete a ohýbáte do polohy, kterou to není vůbec myšleno?

Aha, takže „vypnout“ podle vás znamená „výměna za jiný funkční soft“?

1. vypnout vadný systemd-resolv

2. volitelně instalovat dnsmasq či jinou DNS cache, pokud o ni má zájem, nikde jsem neviděl požadavek, že to musí být systemd-resolv, takže Jirsák nutí tazatele do nutnosti užívat systemd-resolv úplně zbytečně

Užívat si funkční věc


Takže kdo tady lže?

Mimochodem, když si myslíte, že použití dnsmasq by problém vyřešilo – jak podle vás dnsmasq zjistí adresy DNS resolverů, kterých se má dotazovat? Můžete hádat třikrát.

Jé Jirsák si nedokáže představit život bez systemd-* věcí :D. Tak to bude pro vás novinka, že věci umějí fungovat i bez nich. Tenhle váš příspěvek je úplná snůška kravin. Vy tvrdíte, že nelze získat DNS servery bez systemd-resolv? Opravdu? No to nemá chybu. Své jsem řekl, je to funkční, vy vymýšlíte scénáře, které vůbec nemyslím, jen proto, že nesnesete, že by někdo mohl mít také pravdu. S tím ale běžte někam jinam, na mě si to léčit nebudete a točit se furt dokola, když už je to dávno vyvrácené nebudu. Až přijdete s něčím novým, možná, zatím se už chvíli opakujete.


Lol Phirae


Mimochodem, když si myslíte, že použití dnsmasq by problém vyřešilo – jak podle vás dnsmasq zjistí adresy DNS resolverů, kterých se má dotazovat? Můžete hádat třikrát.

Stejně jako předtím, než se někdo rozhodl, že NM + dnsmasq není dost cool a in a místo nich při upgradu do systému nacpal Lennartův resolver, systemd-networkd a monstrózní rozbitou sračku jménem Netplan, která se podle dokumentace tváří, že zvládne přinejmenším nakonfigurovat všechny sítě v datacentru NASA, ale zatím místo toho u tazatele v defaultní konfiguraci umí skorát vyhodit backtrace. Zázrak. Fungovalo to bez systemd a Netplanu a může to bez něj fungovat i nadále.. Není možná. Konec světa. Jirsák hledá provaz a odchází k nejbližšímu stromu...

 ::) ::) ::)

kamen

Pane Jirsaku nelibi se mi vas zpusob komunikace.

Trochu vsak citim vasi snahu najit reseni, tak se s vami jeste bavim, bohuzel jste mi vlastne neposkytnul zadny navrh reseni.

Ted jsem se dival, ze v tom /etc/resolv.conf jsem vas ve svem omylu mohl neprimo mystifiovat.

V reakci na vami odazovanou zpravicku jsem napsal, ze v /etc/resolv.conf je stejne 127.0.0.1 jako u DNSMASQ. Spravne je 127.0.0.53 (opet, toto neni nic co bych menil).

Tedy /etc/resolv.conf vypada nasledovne (musite uznat, ze na prvni pohled vypada jako ten z 16.04 -  to vsak neni dulezite, celou dobu tvrdim, ze jsem v tom Ubuntu 18.04 (KDE Neon) nic nemenil a jen zadal heslo do WIFI):
Kód: [Vybrat]
# This file is managed by man:systemd-resolved(8). Do not edit.
#
# This is a dynamic resolv.conf file for connecting local clients to the
# internal DNS stub resolver of systemd-resolved. This file lists all
# configured search domains.
#
# Run "systemd-resolve --status" to see details about the uplink DNS servers
# currently in use.
#
# Third party programs must not access this file directly, but only through the
# symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a different way,
# replace this symlink by a static file or a different symlink.
#
# See man:systemd-resolved.service(8) for details about the supported modes of
# operation for /etc/resolv.conf.

nameserver 127.0.0.53

kamen

Ok, tak uz jsem si nasel pricinu.

Chci zustat konstruktivni proto se vyvaruji adjektiv.

Pan Leonnard P. si mysli (tady https://github.com/systemd/systemd/issues/2514), ze je to tak spravne a mel bych si zmenit svuj business requirement.  No nevim, v nasich firmach to resime jinak. A kupodivu muj iPhone, zenina Galaxy, nase Windows 7, 8.1, 10, Ubuntu do 16.04 a staricky noname Android s flashnutym LineageOS si mysli opak.

Navrh reseni je tady https://askubuntu.com/questions/917784/systemd-resolved-does-not-query-dns-server-for-local-domain .

Kvituji i vsechny rady smerem na vypnuti systemd-resolved, zamerne jsem nereagoval, protoze prestoze je to komplikovanejsi cesta, musim volit konzervativni pristup a ten systemd-resolved strpet (no jeste uvidime, zalezi na narocnosti).

Prosim neflamujme, ale radeji pokladejme vecne a nefalesne argumenty a reportujme konstruktivne bugy. Vsimnete si, ze kdyz jsem tu zpravicku a jeji argumentaci rozebral, nezbylo nic nez chtic ukriceneho decka (tady v nadsazce myslim pana LP) udelat neco znovu a po svem.

Protoze za distribuce primo neplatime (neprimo platime svym casem), je to asi nase jedina moznost jak ovlivnit kvalitu pouzitych komponent.



Jé Jirsák si nedokáže představit život bez systemd-* věcí :D.
Lžete.

Vy tvrdíte, že nelze získat DNS servery bez systemd-resolv? Opravdu?
Ne, nic takového netvrdím, to jste si vymyslel.

Své jsem řekl, je to funkční
Ne, není to funkční. Vy totiž vůbec netušíte, jak v linuxu věci kolem sítí fungují.

Prozradím vám takový malý detail. dnsmasq nepoužívá žádnou magii, žádnou křišťálovou kouli k tomu, aby zjistil, jaký DNS serverů se má dotazovat. Používá k tomu standardní konfigurační soubor /etc/resolv.conf (stejně jako systemd-resolved), případně je možné to změnit v konfiguraci dnsmasq nebo při startu z příkazové řádky. Takže pokud má dnsmasq (nebo systemd-resolved) používat jako upstream DNS servery inzerované DHCP serverem, musí se někdo postarat o to, aby se o nich dnsmasq (nebo systemd-resolved) dozvěděl. A tohle je právě ta část, která kamenovi nefunguje! Takže těch resolverů si tam může nainstalovat třeba 300, ale fungovat nebude žádný.

DHCP klient standardně zapíše získané DNS servery do /etc/resolv.conf. S tím dnsmasq dobře funguje, pokud běží jako DNS resolver pro síť a poskytuje své služby jiným počítačům v síti. Pokud ale chcete, aby se používal i pro překlad na lokálním počítači (jako to bylo v Ubuntu 16.04), a navíc chcete, aby ho používaly i programy, které nepoužívají libc nebo NSS a čtou přímo /etc/resol.conf, musíte dát do /etc/resolv.conf adresu toho lokálního dnsmasq, tedy např. 127.0.0.1.

No, a tady vzniká jistý konflikt, protože nemůžete mít v /etc/resol.conf zároveň jen adresy upstream DNS resolverů, a zároveň tam mít jen lokální dnsmasq. Řešení je poměrně jednoduché – ty adresy se dnsmasq předají jiným způsobem, než přes /etc/resolv.conf, a naopak se mu řekne, že má tenhle soubor ignorovat. No, a o tohle předání se zase musí postarat nějaký software – a v Ubuntu 18.04 je to řekl bych netplan. A když ten není schopen poskytnout dalším programům adresy DNS serverů z upstreamu, tak nebude tyhle servery používat žádný resolver.

Pravdu vždycky mít nemusím, ale vy evidentně nevíte o tom, jak funguje překlad DNS v linuxu, vůbec nic, takže není tak těžké vědět toho o něco víc.

Stejně jako předtím
Takže taky nevíte, jak to funguje, jenom plácáte nesmysly. Tak to vysvětlení výše je i pro vás.


Pane Jirsaku nelibi se mi vas zpusob komunikace.
To mám jako s místními trolly ByCzechem a Lol Phirae zacházet v rukavičkách? Akorát zaplevelují diskusi, o tématu nevědí vůbec nic a jen si vymýšlí a lžou. Rozumnou radu nedali žádnou. A informace, které jsem chtěl po vás, jste napsal také až na několikátý pokus, místo toho pořád dokola opakujete nerelevantní informace.

bohuzel jste mi vlastne neposkytnul zadny navrh reseni.
Poskytl. Psal jsem vám, ať se podíváte do logů a ať postupujete podle návodu na řešení problémů s netplan. Protože ten má v Ubuntu 18.04 na starosti konfiguraci síťování, takže je logické, že pokud je na něm něco rozbité, nebude síť nakonfigurovaná správně. Pak nemá smysl řešit cokoli jiného se sítí, protože nikdy nevíte, zda příslušný problém není způsoben tím netplanem.

opet, toto neni nic co bych menil
Buď můžete chtít opravit problém, a nebo můžete pořád dokola opakovat, že jste nic neměnil a tudíž to musí fungovat správně. Obojí dohromady ale nejde.

Pan Leonnard P. si mysli (tady https://github.com/systemd/systemd/issues/2514), ze je to tak spravne a mel bych si zmenit svuj business requirement.

Nikoli, to issue neříká vůbec nic o tom, že by systemd-resolved nepoužíval DNS servery poskytnuté DHCP serverem. To issue je o tom, že chybně nakonfigurovaný DNS server vrací pro některé DNS CNAME záznamy jenom hostname, ne celé doménové jméno, a spoléhá na to, že si doménu doplní klient sám. Řešení takového problému je jednoduché – opravit konfiguraci toho DNS serveru, aby vracel celý název, tedy ne jen třeba pocitac ale pocitac.example.com.

Navrh reseni je tady https://askubuntu.com/questions/917784/systemd-resolved-does-not-query-dns-server-for-local-domain .
Tohle se týká případu, kdy někdo nepoužívá v místní síti vůbec žádnou doménu, prostě se na počítače odkazuje pomocí samotných názvů jako pocitac1, server apod. Ne že by nechal tyhle názvy doplňovat o místní doménu, jak normálně dělá resolver, ale používá přímo tyhle názvy a žádnou místní doménu nemá.

To není váš případ, vy jste psal, že doménu máte a používáte split horizon, tj. pro název třeba server.example.com vracíte do internetu nějakou veřejnou IP adresu a do vnitřní sítě jinou privátní adresu.

Lol Phirae

To mám jako s místními trolly ByCzechem a Lol Phirae zacházet v rukavičkách? Akorát zaplevelují diskusi, o tématu nevědí vůbec nic a jen si vymýšlí a lžou. ... Prozradím vám takový malý detail. dnsmasq nepoužívá žádnou magii, žádnou křišťálovou kouli k tomu, aby zjistil, jaký DNS serverů se má dotazovat. Používá k tomu standardní konfigurační soubor /etc/resolv.conf

Ne. Opravdu? Vážně? No nekecej!  ;D ;D ;D

Hele, je podzim, evidentně bys měl opět zvýšit dávkování léčiv, začíná to být opět kritické, cca na úrovni tvého legendárního diskursu o exportu v Gimpu.



P.S. Naposled k Lennartovu "resolveru" - systemd-resolved stops resolving after some time with "DNSSEC validation failed" + tentýž bug v Ubuntu. Tolik ke smysluplnosti debugování té rozbité sračky.

Pomaly zacinam mat pochybnosti o serioznosti tohto fora. A co by ste robili, keby ste mali povedzme 100 klientov ubuntu 18.4, ktorych sa dany problem tyka. Aj tak by ste rekonfigurovali vsetkych miesto toho aby ste  prisli na zdroj problemu ? Radu k tomu nemam ziadnu, treba pozriet komunikaciu, nejake debug logy, pripadne strace.Taketo problemy sa tazko riesia na fore, treba si sadnut za klavesnicu, vyuzit skusenosti a nejake to know-how. Riesenie rekonfigurovat sluzby nasadzovat dnsmasq by som bral v pripade, ze mi dany admin zretelne dokaze, ze sa jedna o bug.
« Poslední změna: 28. 10. 2018, 09:15:56 od snuff1987 »

kamen

Pane Jirsaku, nastaveni DNS cache serveru menit nebudu. Ten systemd-resolved ignoruje jak ty s domenou i ty bez domeny.

Argumentace pana LP, ze za zadnou cenu nechce leakovat lokalni query do venkovnich siti je zmatene. Jadro chapu a je relevantni, jenze to lze delat jinak nez menit zakaznicke pozadavky, tak aby mu sedli do toho jak nakodoval jeho software. Na to mu nastesti soudruzi v Apple a Microsoftu prdeji a dik za to. Btw. Dnsmasq ma moznost filtrovat ty lokalni query a myslim, ze je to snad v defaultni konfugiguraci zapnute (no kazdopadne ja to zapnute mam :-) ).

S nekterymi vasimi tvrzenimi vyse nemuzu souhlasit, ale uz se mi to nechce resit, i presto vam dekuji za vas cas, sic jsem pouzil jine reseni.

Proc je pokazeny netplan by default to fakt nevim (a opet zduraznuji, nic jsem nemenil, jen vlozil heslo do WIFI) a celkem mne to desi, upgrade ostatnich 16.04 radeji odlozim a za pul roku uvidime - skoda.


kamen

Prosim redakci o uzamceni teto diskuze.

Myslim, ze me i ostatnim uz to vice neprinese a jen to bude lakat nerelevantni a off-topic komentare.

Ten systemd-resolved ignoruje jak ty s domenou i ty bez domeny.
O žádných názvech bez domény jste dosud nepsal.

Navíc z toho, co jste zatím napsal, plyne to, že systemd-resolved (ani žádná aplikace/knihovna, kterou byste ho nahradil) se nedozví, že byly nějaké DNS servery nakonfigurovány přes DHCP, takže pak ty servery těžko může používat.

Teprve až byste opravil to, aby se lokální resolver dozvěděl o tom, že má používat nějaké DNS servery předané z DHCP, můžete řešit případné problémy s překladem pomocí těchto serverů. A pokud ten váš DNS server opravdu vrací jednolabelové CNAME, na vašem místě bych to opravil, protože je to špatně – nespoléhal bych na to, že to někde možná omylem funguje. Navíc oprava spočívá jenom v tom, že ty záznamy doplníte na plná doménová jména.

Proc je pokazeny netplan by default to fakt nevim (a opet zduraznuji, nic jsem nemenil, jen vlozil heslo do WIFI)
Když si myslíte, že neustálým opakováním „nic jsem neměnil“ se to spraví…

upgrade ostatnich 16.04
Celou dobu jste psal o čisté instalaci, ne o upgradu. Pokud jste dělal upgrade, ten se samozřejmě pokouší zachovat konfigurace z předchozích verzí, takže výsledek vypadá úplně jinak, než čistá instalace. Pokud máte nějakou nestandardní nebo dokonce chybnou konfiguraci, je možné, že si s tím upgrade neporadí. Stávat by se to nemělo, ale software píší jenom lidé a na některé možnosti/kombinace prostě nepřijdou a neošetří je.

Při upgrade z 16.04 je netplan skutečně rozbitý - v /etc/netplan chybí jakýkoliv yaml soubor.  Systém ale dál používá ifupdown, takže síť funguje.

Oprava je celkem jednoduchá, stačí odinstalovat balíček ifupdown a vytvořit konfigurační soubor třeba podle https://blog.ubuntu.com/2017/07/05/quick-and-easy-network-configuration-with-netplan.
« Poslední změna: 28. 10. 2018, 10:28:47 od Alexander Kuna »

Lol Phirae

Celou dobu jste psal o čisté instalaci, ne o upgradu.

Ty jsi ale dementus maximus, Jirsáku. Cituji prvotní dotaz: "Po upgrade na Ubuntu 18.04"

Chce to silnější prášky.

ByCzech

  • *****
  • 1 861
    • Zobrazit profil
    • E-mail
Jé Jirsák si nedokáže představit život bez systemd-* věcí :D.
Lžete.

Jen jsem sdělil své pozorování a sdělil jsem ho pravdivě, tudíž nelžu. Mohl bych se plést ve svém porozování, což ale není to samé jako lhát.

Vy tvrdíte, že nelze získat DNS servery bez systemd-resolv? Opravdu?
Ne, nic takového netvrdím, to jste si vymyslel.

Vyplývá to z toho dotazu co jste položil: "jak podle vás dnsmasq zjistí adresy DNS resolverů, kterých se má dotazovat?"

Prsíte se tu jak jste vy jediný skvělý co tomu rozumí, ostatní označujete přímo či nepřímo za hlupáky a trolly a přitom si ani neumíte přečíst manuál k dnsmasq. Hint: dbus.

Své jsem řekl, je to funkční
Ne, není to funkční. Vy totiž vůbec netušíte, jak v linuxu věci kolem sítí fungují.

Prozradím vám takový malý detail. dnsmasq nepoužívá žádnou magii, žádnou křišťálovou kouli k tomu, aby zjistil, jaký DNS serverů se má dotazovat. Používá k tomu standardní konfigurační soubor /etc/resolv.conf (stejně jako systemd-resolved), případně je možné to změnit v konfiguraci dnsmasq nebo při startu z příkazové řádky.
...

Viz výše a jinak je to snůška blbostí a doměnek. Jen ukazujete, že o tom nic nevíte vy, znáte jednu jedinou možnost, tvrdíte, že je absolutně bezchybná, což vylučuje kromě dalších informací na netu, bugtrackeru systemd i toto vlákno.

Pokud očekáváte v IT magii, doporučuji se přeorientovat na jiný obor nebo alespoň přechod z křišťálové koule k někomu, kdo má skutečný talent :DDD

Stejně jako předtím
Takže taky nevíte, jak to funguje, jenom plácáte nesmysly. Tak to vysvětlení výše je i pro vás.

Naopak, Lol zjevně přesně ví o čem mluví, protože narozdíl od vás to používá a umí to zprovoznit. Protože to očividně narozdíl od vás stejně jako já používá.


PS: Své osobní výpady si můžete nechat od cesty, kromě blbosti, kterou tady dávate na odiv tím předvádíte i své hulvátsví, aroganci a nejspíše nějakou osobnostní poruchu. Chápu, že si neumíte pomoct a dle vašeho vnímání jste jediný chytrý vy a všichni kolem vás jsou hlupáci včetně tazatele, který založil toto vlákno, ale skutečnost je určitě poněkud jiná. Vysoké IQ není všechno, můžete to mít v hlavě zpřeházené i s vysokým IQ ;)

Lol Phirae

Jinak, pokud tazatel skutečně trvá na tom, že nebude vypínat systemd-resolved, tak

/etc/systemd/resolved.conf
Kód: [Vybrat]
DNSStubListener=no
/etc/default/dnsmasq
Kód: [Vybrat]
IGNORE_RESOLVCONF=yes
/etc/dnsmasq.conf
Kód: [Vybrat]
resolv-file=/run/systemd/resolve/resolv.conf

Restart:
Kód: [Vybrat]
systemctl restart systemd-resolved
systemctl restart dnsmasq

Výše uvedené předpokládá, že v systému je nainstalován resolvconf a NENÍ tam žádný nesmysl typu netplan:

Kód: [Vybrat]
apt-get purge nplan netplan.io