Nefungující DNS pro lokální adresy

Mám zapnutou volbu DNS / “Use forwarding” a “Enable DHCP clients in DNS”. DNS pro DHCP klienty bohužel nefunguje příliš spolehlivě. Po připojení zařízení vidím v DHCP leases (včetně hostname), ale resolve nefunguje. Tj. přestože mám v /tmp/dhcp.leases řádek

1517379487 b8:ae:ed:bl:ab:la 10.162.179.216 DDDnuc *

dostávám

root@turris:~# ping DDDnuc
ping: bad address ‘DDDnuc’
root@turris:~# ping DDDnuc.rachnet
ping: bad address ‘DDDnuc.rachnet’

(rachnet je moje lokální doména).

Jakmile zavolám

root@turris:~# /etc/resolver/dhcp_host_domain_ng.py
uci: Entry not found

vše začne fungovat:

root@turris:~# ping DDDnuc.rachnet
PING DDDnuc.rachnet (10.162.179.216): 56 data bytes
64 bytes from 10.162.179.216: seq=0 ttl=128 time=0.688 ms

V minulosti jsem toto řešil vypnutím kresd (jelikož jsem měl s kresd i další problémy) a používáním dnsmasq i na DNS (default v OpenWRT), bohužel téměř každý update znamená znefunkčnění DNS, jelikož se v /etc/config/dhcp odkomentuje řádek “option port ‘0’”, ale kresd zůstane vypnutý.

Jako řešení bych uvítal buď opravu tohoto bugu, nebo nalezení způsobu, jak zapnout dnsmasq jako DNS resolver, aniž by se mi vše rozbilo v následujícím updatu.

Tento bug jsem reportoval v lednu, ale support prostě nefunguje. To je u routeru za 6000 Kč ostuda, ale co nadělám, třeba mi někdo pomůže tady… Pokud ne, asi zkusím na router nahrát čisté OpenWRT. :disappointed:

Nějaké nápady?

1 Like

Dobrý den.

S konfiguračními skripty by snad mohl poradit @paja.

Můžete prosím popsat váš problém s kresd? To je můj obor a rád bych věděl kde uživatelé naráží na problémy, abysme to mohli vylepšit.

Můj problém jsem popsal v původním příspěvku, potřebujete vědět něco konkrétního? Netuším, do jaké míry je to problém kresd a do jaké míry skriptu, který se volá při nové DHCP lease, vím jen, že s normálním OpenWRT a dnsmasq jako DNS vše funguje (stejně jako naprosto všude jinde), stejně tak s Turrisem, který je tak nastaven - kdyby mi updaty tuto konfiguraci nerozbíjely tak, že nefunguje žádné DNS, klidně bych u tohoto nastavení zůstal.

Dobrý den,

z původního příspěvku mi nebylo zřejmé, jestli se problém objevuje/objevoval i když jste měl kresd bez ručních zásahů do konfigurace, nebo jestli to začalo zlobit až po nasazení dnsmasqu místo kresd.

Chápu tedy správně, že se problém vyskytuje v obou případech?

“vím jen, že s normálním OpenWRT a dnsmasq jako DNS vše funguje (stejně jako naprosto všude jinde), stejně tak s Turrisem, který je tak nastaven”

Jen s kresd + vaším skriptem. Všechno ostatní bez problémů.

Děkuji za informaci, předávám to @paja k průzkumu. Pokud se nepletu tak on je autor toho synchronizačního skriptu.

Mam podobny problem, pouzivam virtualne stroje (VM) ktore maju adresu z DHCP a z casu na cas po ich restarte sa stane to, ze sa nie je mozne ich resolvovat. A nepomoze ani ked z VM urobim dhclient -r & dhclient. Ked pozriem zaznam v /tmp/dhcp.leases tak tam vidim zaznam 1533333520 52:54:00:ce:22:1b 192.168.11.157 * * tj chyba tam meno. spravne ten zaznam vyzera takto
1533333520 52:54:00:ce:22:1b 192.168.11.157 testpc *. Ked router restartnem tak je vsetko ok.

To bude jiný problém, můj záznam je v pořádku: 1540060755 00:17:88:22:25:c0 10.162.179.4 Philips-hue *, ale dokud nezavolám /etc/resolver/dhcp_host_domain_ng.py, tak se to stejně neresolvuje. Můžete vypnout Knot resolver a nastavit dnsmasq i pro DNS, nicméně Turris OS vám to při upgradu nejspíš rozbije tak, že vám nebude DNS fungovat vůbec, na to je potřeba pamatovat - nicméně pokud je problém už na úrovni DHCP leases, možná vám nepomůže ani to: Jste si jistý, že to není problém VM, která možná občas při DHCp žádosti neposílá hostname? Nebo ho máte nastavené ve static leases?

Každopádně nečekejte, že vám tady někdo z vývojářů pomůže. :slight_smile: Já se raději koukám po možnosti nahrát do routeru regulérní OpenWRT.

No, potvrzuji že v reálu to není spolehlivé, nejspíš ta část okolo toho skriptu (celkem jistě nejde o problém přímo v kresd).

EDIT: na čisté OpenWRT tu byla nějaká vlákna, ale ta jste jistě našel pokud ten zájem byl “vážný”.