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

Mně vždycky fascinuje, jak systemd hateři jakmile někde uvidí „systemd“, hned tam musí naběhnout, nic nečtou a začnou si vymýšlet nesmysly.

Tazatel chce používat lokální DNS cache, takže když jí vypne, s vysokou pravděpodobností mu to fungovat nebude. Zvlášť když má v /etc/resolv.conf jako DNS server nastavený 127.0.0.1.

Vzhledem k tomu, že všude jinde to funguje, např. ve všech instalacích Ubuntu 18.04, tak je naopak velice pravděpodobné, že chyba je někde v konfiguraci a ne v samotném softwaru. On už by si toho totiž nejspíš někdo všiml, že mu nefunguje DNS.


avenon

Vzdyt spravne reseni pise Lol Phirae uz v druhe odpovedi. Nechapu co resite.

A ze systemd zpusobuje nove problemy je taky bez debat.

kamen

Mně vždycky fascinuje, jak systemd hateři jakmile někde uvidí „systemd“, hned tam musí naběhnout, nic nečtou a začnou si vymýšlet nesmysly.

Tazatel chce používat lokální DNS cache, takže když jí vypne, s vysokou pravděpodobností mu to fungovat nebude. Zvlášť když má v /etc/resolv.conf jako DNS server nastavený 127.0.0.1.

Vzhledem k tomu, že všude jinde to funguje, např. ve všech instalacích Ubuntu 18.04, tak je naopak velice pravděpodobné, že chyba je někde v konfiguraci a ne v samotném softwaru. On už by si toho totiž nejspíš někdo všiml, že mu nefunguje DNS.


Vy si vubec nectete co pisu.

Ja v Ubuntu 18.04 (KDE Neon) nemam nic nastavene. Proste cista instalace.

V mistni siti mam router, ktery mi dela DNS split horizon. Co je na tom nejasneho? Vsem ostatnim negrum (viz vyse OS ostatnich zarizeni v siti) to funguje.

Takze znovu jeste jednou tucne: Po instalaci jsem nic nenastavoval, pouze heslo do mistni WIFI co jsem zadal do GUI, ktere mne k tomu vyzvalo.

Prosim prectete si cele vlakno, stale totiz ignorujete relevantni informace co jsem vam poskytnul. A dokonce tvrdite neco, co lze z informaci v tomto vlakne vyvratit.

kamen

Kód: [Vybrat]
cat /var/lib/NetworkManager/dhclient-*.lease

Je tam hodne sokromych informaci, vybral jsem jen relevantni objekt.

Kód: [Vybrat]
lease {
fixed-address 192.168.123.202;
  option subnet-mask 255.255.255.0;
  option dhcp-lease-time 43200;
  option routers 192.168.123.1;
  option dhcp-message-type 5;
  option dhcp-server-identifier 192.168.123.1;
  option dhcp-renewal-time 21600;
  option dhcp-rebinding-time 37800;
  option host-name "MYHOST.MYDOMAIN.CZ";
  option domain-name-servers 192.168.123.1;
  renew 1 2018/10/29 12:58:10;
  rebind 4 2018/11/01 22:19:20;
  expire 5 2018/11/02 19:19:20;
}

[
Kód: [Vybrat]
netplan ip leases

Kód: [Vybrat]
root@redcat:~# netplan ip leases wlp2s0
Traceback (most recent call last):
  File "/usr/sbin/netplan", line 23, in <module>
    netplan.main()
  File "/usr/share/netplan/netplan/cli/core.py", line 50, in main
    self.run_command()
  File "/usr/share/netplan/netplan/cli/utils.py", line 130, in run_command
    self.func()
  File "/usr/share/netplan/netplan/cli/commands/ip.py", line 56, in run
    self.run_command()
  File "/usr/share/netplan/netplan/cli/utils.py", line 130, in run_command
    self.func()
  File "/usr/share/netplan/netplan/cli/commands/ip.py", line 75, in run
    self.run_command()
  File "/usr/share/netplan/netplan/cli/utils.py", line 130, in run_command
    self.func()
  File "/usr/share/netplan/netplan/cli/commands/ip.py", line 142, in command_ip_leases
    out = subprocess.check_output(argv, universal_newlines=True)
  File "/usr/lib/python3.6/subprocess.py", line 336, in check_output
    **kwargs).stdout
  File "/usr/lib/python3.6/subprocess.py", line 418, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['/lib/netplan/generate', '--mapping', 'wlp2s0']' returned non-zero exit status 1.
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 145, in apport_excepthook
    os.O_WRONLY | os.O_CREAT | os.O_EXCL, 0o640), 'wb') as f:
FileNotFoundError: [Errno 2] No such file or directory: '/var/crash/_usr_share_netplan_netplan.script.0.crash'

Original exception was:
Traceback (most recent call last):
  File "/usr/sbin/netplan", line 23, in <module>
    netplan.main()
  File "/usr/share/netplan/netplan/cli/core.py", line 50, in main
    self.run_command()
  File "/usr/share/netplan/netplan/cli/utils.py", line 130, in run_command
    self.func()
  File "/usr/share/netplan/netplan/cli/commands/ip.py", line 56, in run
    self.run_command()
  File "/usr/share/netplan/netplan/cli/utils.py", line 130, in run_command
    self.func()
  File "/usr/share/netplan/netplan/cli/commands/ip.py", line 75, in run
    self.run_command()
  File "/usr/share/netplan/netplan/cli/utils.py", line 130, in run_command
    self.func()
  File "/usr/share/netplan/netplan/cli/commands/ip.py", line 142, in command_ip_leases
    out = subprocess.check_output(argv, universal_newlines=True)
  File "/usr/lib/python3.6/subprocess.py", line 336, in check_output
    **kwargs).stdout
  File "/usr/lib/python3.6/subprocess.py", line 418, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['/lib/netplan/generate', '--mapping', 'wlp2s0']' returned non-zero exit status 1.

Vy si vubec nectete co pisu.
Naopak, asi nečtete vy. Výpis toho, jaké informace dostal netplan z DHCP, tady stále nemáme. Zajímalo by mne, jak chcete opravovat to, že systém nebere v úvahu konfiguraci DNS z DHCP serveru, když nevíte, jestli tu informaci vůbec dostal nebo nedostal.

Ja v Ubuntu 18.04 (KDE Neon) nemam nic nastavene. Proste cista instalace.
Tak nemáte tam nastavené vůbec nic, tedy jste po čisté instalaci veškeré nastavení smazal a teď vám systém nenaběhne, nebo tam máte vše ve výchozí konfiguraci? Hádám, že to druhé.

V mistni siti mam router, ktery mi dela DNS split horizon. Co je na tom nejasneho?
Nejasná je na tom jediná věc – proč to pořád dokola opakujete, když to s problémem s největší pravděpodobností nesouvisí. Když se váš systém neptá toho vašeho DNS serveru, je zatím celkem jedno, jaká data by mu ten server poskytoval.

Vsem ostatnim negrum (viz vyse OS ostatnich zarizeni v siti) to funguje.
Nemají nastavené DNS resolvery ručně? Zjišťují je přes DHCP? Posílá DHCP serveru úplně ty samé údaje, jako to Ubuntu 18.04? To asi těžko, minimálně MAC adresa se bude lišit, nejspíš také jméno a možná i další údaje.

Takze znovu jeste jednou tucne: Po instalaci jsem nic nenastavoval, pouze heslo do mistni WIFI co jsem zadal do GUI, ktere mne k tomu vyzvalo.
NA to jsem se ale neptal. Já jsem se ptal na to, jaké informace netplan obdržel od DHCP serveru.

Prosim prectete si cele vlakno, stale totiz ignorujete relevantni informace co jsem vam poskytnul. A dokonce tvrdite neco, co lze z informaci v tomto vlakne vyvratit.
Nikoli. Vy relevantní informace neposkytujete, přestože jsem se na ně výslovně ptal. To, že jste po instalaci zadal jenom heslo do WiFi, je informace k ničemu (a navíc je nejspíš nepravdivá, protože při instalaci toho zadáváte mnohem víc, než jen heslo k WiFi).



No, vida že to jde. Takže DHCP server údaj poslal, ale havaruje netplan – což může být důvod, proč systemd-resolve nemá informaci o tom, jaký DNS server má použít. Zkusil bych postupovat podle Netplan Troubleshooting.

Lol Phirae

No, vida že to jde. Takže DHCP server údaj poslal, ale havaruje netplan – což může být důvod, proč systemd-resolve nemá informaci o tom, jaký DNS server má použít. Zkusil bych postupovat podle Netplan Troubleshooting.

Můžeš mi sdělit jediný dobrý důvod, proč by se měl dotyčný zabývat nějakou monstrózní a evidentně out of the box rozbitou kundovinou typu Netplan?

Ubuntu má vážně neskutečný talent podobnými "vylepšeními" dojebat naprosto základní funkčnost DNS v ostrých releasech. Již asi potřetí za sebou (viz odkaz na debatu o *buntu 16).

samalama

vyhod netplan (ci ako sa ten bazmek vola). tiez som s tym mal problem, ked diskless klient bootoval po sieti a konfiguraciu siete ziskal cez dhcp este v initramdisku, ale ked uz startoval samotny system, tak mu zrazu prestala fungovat siet (vyhodeny bol aj NM). tiez to bolo najnovsie ubuntu lts, pred tym to fungovalo bez problemov. tak som tu kokotinu vyhodil a zrazu vsetko zacalo fungovat...

ByCzech

  • *****
  • 1 861
    • Zobrazit profil
    • E-mail
Řešení I.:

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


Řešení II.:

1. systemd-resolv je bezchybný, není proto možné aby fungoval špatně, chyba je určitě v dnsmasq

...vyvráceno...

2. v tom případě jste něco měnil v konfiguraci systemd-resolv, špatně tudíž fungujete vy, opravte to

...vyvráceno...

3. důvody změn jsou v linku, cokoli jiného než systemd-resolv by bylo ohýbání systému, zprovozňování dnsmasq je pracné (ha ha) a stejně až to zprovozníte, že chyba je jinde, protože přece systemd-resolv je bezchybný.

...vyvráceno...

4. chyba bude určitě v konfiguracích u vás, ne v systemd-resolv

...vyvráceno...

5. chyba je v komponentě netplan, kterou systemd-resolv používá, protože havaruje - opravte netplan podle linku

Řešení stále v nedohlednu, ale mezitím stačil Jirsák těm, kdo nesdílí jeho názor do tváře a když vidí, že lidi, co tomu rozumí nepřesvědčí, snaží se do nesmyslného řešení vmanipulovat aspoň tazatele.


Jsem zvědavý, které řešení si teda kamen vybere, jestli se bude trápit prokousáváním se problémy se systemd-resolv nebo ho vyhodí a nahradí ho funkčním softem, aby mohl na PC pracovat a neřešit pořád Windows-like troubles :D


PS: Žádné systemd hatery tu nevidím, sám to používám, umím vyřešit hromadu věcí, které to umí přivodit, ale protože si z tohohle kusu často chybně fungujícího softu nedělám modlu, nemám problém věci vyřešit i bez systemd-*, je spousta skvěle funkčních alternativ, které tu byly daleko dříve než systemd-* a jsou prověřeny léty. Není to žádný prohřešek ani ohýbání systému, prostě se mi nehodí určitý kus vadného softu, použiju jiný, žádná křeč. Hatovat systemd nemusím, což ale neznamená, že se k němu musím modlit - tyhle extrémy nechávám psychopatům a jiným podivínům.
« Poslední změna: 27. 10. 2018, 21:36:31 od ByCzech »

Proč komentujete věci, kterým vůbec nerozumíte? Víte, co se stane, když má v /etc/resolv.conf jako resolver nakonfigurován jen 127.0.0.1, a lokální resolver vypne? Nebude mu fungovat překlad DNS názvů, protože na tom 127.0.0.1 jaksi nic nepoběží, tudíž nic nemůže odpovědět.

Pokud je rozbitý netplan, který se v Ubuntu 18.04 stará o konfiguraci síťování, je potřeba ho opravit. Protože v důsledku té chyby toho nejspíš nebude fungovat daleko víc, než že se jen nepřebírá konfigurace DNS serverů z DHCP. Vaše geniální rady, že má vyházet půlku věcí, které se v Ubuntu starají o síťování, a vyřešit si to nějak jinak (přičemž pro jistotu nepíšete jak), jsou úplně k ničemu a problém nijak neřeší.

Lol Phirae

Víte, co se stane, když má v /etc/resolv.conf jako resolver nakonfigurován jen 127.0.0.1, a lokální resolver vypne? Nebude mu fungovat překlad DNS názvů, protože na tom 127.0.0.1 jaksi nic nepoběží, tudíž nic nemůže odpovědět.

Ano, tomu říkám objev století... akorát nevím, proč by si asi tak ten resolver vypínal. A jen tak mimochodem, naprosto stejný výsledek nastane i s Lennartware systemd-resolved sračkou, protože tam by default žádný fallback nastaven není. Ono totiž lidi nijak netoužili po tom, aby se to chaoticky připojovalo ke Googlu a navrch rozbíjelo věci (jak je u Lennartwaru tradicí) - viz https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1449001

Pokud je rozbitý netplan, který se v Ubuntu 18.04 stará o konfiguraci síťování, je potřeba ho opravit. Protože v důsledku té chyby toho nejspíš nebude fungovat daleko víc, než že se jen nepřebírá konfigurace DNS serverů z DHCP.

Ano, jasně, tazatel bude opravovat rozbitou věc, kterou k ničemu dodnes nepotřeboval, nadále ji nepotřebuje a jejíž jediným výsledkem je, že mu nefunguje DNS.

Vaše geniální rady, že má vyházet půlku věcí, které se v Ubuntu starají o síťování, a vyřešit si to nějak jinak (přičemž pro jistotu nepíšete jak), jsou úplně k ničemu a problém nijak neřeší.

Ty věci se nestarají o síťování, ty věci síťování naopak rozbíjejí. Síť zcela rozhodně fungovala a nadíle bude fungovat bez nich (a zjevně lépe a bez nekonečného debugování nedebugovatelného Lennartwaru).

Ano, tomu říkám objev století... akorát nevím, proč by si asi tak ten resolver vypínal.
Protože mu to vy a ByCzech radíte.

Ty věci se nestarají o síťování, ty věci síťování naopak rozbíjejí. Síť zcela rozhodně fungovala a nadíle bude fungovat bez nich (a zjevně lépe a bez nekonečného debugování nedebugovatelného Lennartwaru).
Proč píšete o věcech, o kterých vůbec nic nevíte? Síť samozřejmě nebude fungovat jen tak sama od sebe. Nějaká aplikace se musí postarat o zapnutí síťových rozhraní, přidělení IP adres, nastavení routovací tabulky, nastavení, které DNS resolvery se mají použít. Nic z toho se neudělá samo. Každá distribuce na to má nějaké nástroje, přičemž na tyto nástroje jsou obvykle navázány další mechanismy distribuce (např. spouštění služeb, které vyžadují síť, GUI konfigurace). Obejít ty distribuční konfigurační nástroje samozřejmě je možné, ale není to jednoduché a hlavně si tím akorát úplně zbytečně přiděláváte práci.

ByCzech

  • *****
  • 1 861
    • Zobrazit profil
    • E-mail
Proč komentujete věci, kterým vůbec nerozumíte? Víte, co se stane, když má v /etc/resolv.conf jako resolver nakonfigurován jen 127.0.0.1, a lokální resolver vypne? Nebude mu fungovat překlad DNS názvů, protože na tom 127.0.0.1 jaksi nic nepoběží, tudíž nic nemůže odpovědět.

Pokud je rozbitý netplan, který se v Ubuntu 18.04 stará o konfiguraci síťování, je potřeba ho opravit. Protože v důsledku té chyby toho nejspíš nebude fungovat daleko víc, než že se jen nepřebírá konfigurace DNS serverů z DHCP. Vaše geniální rady, že má vyházet půlku věcí, které se v Ubuntu starají o síťování, a vyřešit si to nějak jinak (přičemž pro jistotu nepíšete jak), jsou úplně k ničemu a problém nijak neřeší.

Když chybí argumenty nastupuje argumentum ad hominem, že?

Nikde jsem neradil nic o vypínání lokální DNS cache resolveru, ale o jeho nahrazení, takže argumentujete úplně mimo téma.

Jedna věc není půlka věcí v systému. Nevím proč by instalace dnsmasq mělo něco rozbíjet, narozdíl od systemd-* se mi u tohohle softu nestalo, že by to něco rozbilo.

Nevadí vám, že působíte jako nějaký člen sekty?

ByCzech

  • *****
  • 1 861
    • Zobrazit profil
    • E-mail
Ano, tomu říkám objev století... akorát nevím, proč by si asi tak ten resolver vypínal.
Protože mu to vy a ByCzech radíte.

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?

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.