Forum Turris
Fórum Turris Nápověda

Milí majitelé routerů Turris,

toto fórum bylo 9. 12. 2016 zmrazeno a nahrazeno naším novým Turris fórem. Ještě chvíli bude dostupné k prohlížení, ale již zde není možné přispívat. Více informací naleznete v oznámení o uzavření fóra.


Dear Turris routers users,

this forum has been frozen on Dec 9th, 2016 and replaced by our new Turris forum. It will be read-only accessible for some time after. For more information, read the announcement about closing the forum.

Nahoru Téma Majitelé routerů / Technická podpora / Vytváření lokálních doménových záznamů v DHCP a DNS
- - Od Radomír Polách Dne 2014-03-31 12:54
V luci v sekci DHCP a DNS je možné vytvářet vlastní DNS záznamy pro lokální doménu, např. loc (alfa.loc, beta.loc, ...).
Tuto možnost obsluhuje dnsmasq a konfigurační soubor do /var/etc/dnsmasq.conf se korektně vygeneruje.
Dns záznamy ale nefungují.

Jako problém se mi jeví, že tam ve skutečnosti běží dva DNS servery, dsnmasq a unbound a unbound který odpovídá na dotazy z localhost a lokální sítě nepřebírá záznamy z dnsmasq.

Prosím o osvětlení situace.
Nadřazený - - Od Ondřej Caletka (>>>) Dne 2014-03-31 20:15 Hlasů 3
Je to přesně tak. Obyčejné OpenWRT má jen DNSmasq, který funguje zároveň jako DHCP(v4) server i DNS forwarder. Jenže DNSmasq neumí validaci DNSSEC, takže je v případě Turrise nahrazen unboundem, který je mimochodem i výkonnější. DNSmasq v Turrisu plní pouze funkci DHCP(v4) serveru, jeho DNS funkce jsou vypnuty a tedy i nastavování DNS dat v LuCI nefunguje.

Pokud chcete DNSmasq využít jen pro lokální domény, právě jsem ověřil následující postup:

* V souboru /etc/config/dhcp nastavte
        option port '53535'

* Restartujte DNSmasq a ověřte, že vrací správně lokální data:
$ dig localhost.loc @192.168.1.1 -p 53535 +short
127.0.0.1


* Do souboru /etc/config/unbound přidejte na konec:
        list include_path "/etc/unbound/lan.conf"

* Vytvořte soubor /etc/unbound/lan.conf  s následujícím obsahem:
server:
        domain-insecure: "loc."
        private-domain: "loc."
        do-not-query-localhost: no
stub-zone:
        name: "loc."
        stub-addr: "127.0.0.1@53535"


* Restartujte unbound. Ten by měl být nyní ochoten překládat i lokální data.

Alternativou je použít konfigurační volbu local-zone v Unboundu (obdobným způsobem jako v souboru lan.conf) a definovat lokální domény přímo tam. Přijdete tak ale o komfort editace z LuCI.
Nadřazený - - Od Radomír Polách Dne 2014-03-31 21:32
Funguje, možná bych to dal jako default, jinak uživatel bude v luci konfigurovat a nebude to mít žádný viditelný efekt.
Nadřazený - - Od Ondřej Caletka (>>>) Dne 2014-04-01 08:01 Hlasů 3
Nemám na to pevný názor, ale spíš si myslím, že by bylo lepší v krátkodobém horizontu editaci DNS dat z LuCI odstranit, případně upozornit, že nefunguje. V dlouhodobém bych se pak snažil naroubovat na LuCI frontend  jiný backend, používající funkci local-zone přímo v unboundu.

Jinak ještě jsem zapomněl na reverzní záznamy, k nim bude potřeba do souboru /etc/unbound/lan.conf přidat:
server:
        domain-insecure: "1.168.192.in-addr.arpa."
stub-zone:
        name: "1.168.192.in-addr.arpa."
        stub-addr: "127.0.0.1@53535"
Nadřazený - Od Radomír Polách Dne 2014-04-01 09:37
Máte pravdu, lepší by bylo začlenit například pod unbound, ale to může trvat nějaký čas.
Nadřazený - - Od Sova Dne 2015-10-07 21:24 Hlasů 1
(I když je ten příspěvek starý, zkusím to nejprve tady)

Opravdu Vám to takhle funguje/fungovalo? Jak jsem zmiňoval dříve (a zkusím to nyní oprášit), mně popsaná konfigurace při (doporučovaném) vypnutém forwardingu nefunguje. Přesněji řečeno fungují DNS dotazy na lokální síť, tj. něco jako 'dig turris.intra  @<ip-turrise>', ale už ne reverzní dotazy. Např. na dotaz 'dig -x <ip-turrise> @<ip-turrise>' dostanu odpověď

;; AUTHORITY SECTION:
168.192.in-addr.arpa.   10800   IN      SOA     localhost. nobody.invalid. 1 3600 1200 604800 10800

Pokud se zeptám přímo dnsmasq běžícího nad unboundem, je vše v pořádku:

dig -x <ip-turrise> @<ip-turrise> -p 53535

;; ANSWER SECTION:
<turrise-ip>.in-addr.arpa. 0 IN      PTR     turris.intra.

Jediný případ, kdy správnou odpověď dostanu přímo od unboundu, je při dotazu na loopback (který je v /etc/hosts). Tam dostanu skutečně jen "localhost.", bez toho "nobody.invalid."

Skutečně Vám funguje lokální reverzní DNS? Máte vypnuté forwardování?
Nadřazený - - Od Karel Beneš Dne 2016-02-18 21:17
Mám stejnou zkušenost. Reverzní překlad se mi dle těchto instrukcí nedaří zprovoznit.
Nadřazený - - Od Ondřej Caletka (>>>) Dne 2016-02-18 22:45 Hlasů 1
Pravděpodobně je to způsobeno vestavěnými privátními zónami v novější verzi unboundu. Zkuste do konfiguračního souboru přidat volbu

server:
        local-zone: "168.192.in-addr.arpa." nodefault
Nadřazený - Od Karel Beneš Dne 2016-02-19 14:03
To bylo ono, nyní funguje dopředný i zpětný překlad lokálních i globálních jmen. Děkuji!
Nadřazený - Od pacaj2am Dne 2014-04-12 21:56
Jo, jo, taky jsem konfiguroval jako zběsilý a nic... :-)

Díky za návod...
Nadřazený - - Od horada (>) Dne 2014-04-03 14:05 Upraveno 2014-04-19 15:39
Zmíněný postup mi funguje, jen jsem narazil na jednu podivnost (možná je to tak správně, jenom já to špatně chápu).
Po provedení tohoto postupu mi to korektně přiděluje nastavené adresy, ale dns překládá pouze adresy které jsou aktuálně přidělené (pravděpodobně jen ty záznamy které jsou v /tmp/dhcp.leases) a záznamy z /etc/hosts - ostatní nastavené přes LuCI to nezná dokud se to dané zařízení nepřipojí. Je to tak správně nebo jsem něco přehlédl? (workaround pro mě je vložit všechny záznamy ještě do /etc/hosts, případně podobného souboru... ale ten se samozřejmě nesesynchronizuje se změnami přes LuCI.)
Nadřazený - Od Ondřej Caletka (>>>) Dne 2014-04-03 14:27
Ano, takhle se mi to chovalo při testování taky, pokud si vzpomínám, tak tahle chyba/neprovázanost je v OpenWRT/LuCI odjakživa…

Patche jsou vítány :cool:
Nadřazený - - Od Radomír Polách Dne 2014-04-03 14:29
Tohle je standardní chování. Pevná jména bez ohledu na přidělení se dají nastavit v sekci Hostnames.
Nadřazený - - Od horada (>) Dne 2014-04-03 14:36
Aha... já jsem myslel že mi to ve starém routeru fungovalo (tam jsem měl ale oooopravdu starou verzi OpenWRT)... a ruku do ohně bych za to nedal.
Sekci Hostnames jsem používal pro adresy/zařízení které jsem měl nastavené staticky.
Nadřazený - Od Radomír Polách Dne 2014-04-03 14:45
Mě to vždycky přišlo ok, když to zařízení nepožádalo o ip (nemá ji), tak je asi překlad hostnamu na tu ip stejně zbytečný.
Nadřazený - - Od lukassladek Dne 2014-04-19 15:01
Mám podobný požadavek - potřebuju v lokální síti přeložit webovou adresu např. www.seznam.cz na  adresu lokální, např. 192.168.2.5 - dosáhnu toho stejným nastavením, jako je zde popisováno? Díky.
Nadřazený - - Od Ondřej Caletka (>>>) Dne 2014-04-20 21:03
Použijte postup popsaný v jiném příspěvku.
Podrobněji viz local-zone v manuálu programu unbound.
Nadřazený - - Od lukassladek Dne 2014-04-21 19:04 Hlasů 1
Zkusil jsem nastavení statiského DNS záznamamu dle níže uvedeného:

do souboru /etc/config/unbound přidat na konec:
       list include_path '/etc/unbound/local.conf'
a v souboru /etc/unbound/local.conf definovat lokální zónu třeba takto:
local-zone: 'server.example.cz.' transparent
local-data: 'server.example.cz. IN A 192.168.2.5'


Bohužel po restartu toto způsobilo nefunkční DNS :confused:
Nadřazený - - Od Ondřej Caletka (>>>) Dne 2014-04-21 21:12
Omlouvám se, do souboru local.conf ještě musíte přidat na začátek server:.

Ideální je restartovat unbound pomocí /etc/init.d/unbound restart, pak je syntaktická chyba hned vidět.
Nadřazený - Od lukassladek Dne 2014-04-22 16:31
Díky moc, teď již vše funguje, jak má! Díky za cenné rady.
Nadřazený - - Od Nabla128k Dne 2016-10-08 12:38
Zdravím,
pro jistotu zopakuji dotaz, nejsem si jist, jestli vzhledem ke stáří příspěvku to celé ještě platí.
Chci, abych si mohl pojmenovat svoji lokální doménu třeba .prd.
Aby turris měl hostname a v lokální síti aby DNS překládalo třeba tento.prd jako na lokální ip turrise.
Pak si chci ručně přiřadit lidské názvy klientům podle MAC aby to chodilo v DHCP a klienti se navzájem "znali".

Možná to popisuju trapně polopaticky ale pro jistotu... když si nastavím něco v sekci Hostnames tak mi to nefunguje.
Nějaký běžný router Asus toto uměl zcela přirozeně po vyndání z krabice a ty příspěvky z roku 2014 tady mi dávají naději, že jen něco chápu špatně a nemusím zasahovat do konfiguračních souborů ručně, ale jde to udělat i BFU metodou přes webové rozhraní.
Je to tak? Pokud ne, může mi někdo prosím zopakovat v jednom postu kompletní úpravu? Nějak tomu úplně nerozumím.
Děkuji
Nadřazený - Od habanr Dne 2016-10-10 07:07
Řeším stejný problém s Omnií jako vy. Problém je v tom, že návod zmíněný v tomto vlákně spoléhá na unbound, který podle miska není na Omnii konfigurován. Na omnii běží Knot DNS resolver. Bohužel nikde jsem nenašel návod, jak tuto základní věc jako překlad lokálních jmen nakonfigurovat...
Nadřazený - - Od s10 Dne 2016-10-10 19:40 Hlasů 1
Zdravím,
mal som podobný problém a vyriešil som to vďaka jednoduchej zmene v konfigurácii. Za prvé je potrebné si uvedomiť že turris už skutočne vôbec nepoužíva unbound ale vlastný Knot DNS Resolver http://knot-resolver.readthedocs.io/en/latest/daemon.html. Keďže je ale konfigurácia generovaná automaticky (podľa môjho názoru dosť ťažkopádne), je treba upraviť priamo spúšťací skript /etc/init.d/kresd.
1, v sekcii init_header pridať echo "  , 'hints'" >> $CONFIGFILE' napr za riadok s policy - aktivuje modul hints
2, v sekcii load_uci_config_common pridať set_param_func "hints.config" "'/tmp/hosts/dhcp'" napr za za riadok s msg_cache_size - nastaví súbor /tmp/hosts/dhcp (generovaný cez luci) ako tabuľku so statickými hostmi

Môj kompletný /etc/init.d/kresd http://pastebin.com/Z8z6JnYw

S týmito zmenami je možné pridávať lokálne hosty priamo cez luci, a po reštarte Knot-u (/etc/init.d/kresd restart) to skvelo funguje :smile:. PS: Nie som žiaden znalec DNS ani Knot-u, toto som len nejako zlepil dokopy podľa dokumentácie. Keďže moje zmeny sú minimálne (2 riadky) nie je problém to hocikedy vrátiť do pôvodného stavu.
Nadřazený - - Od Nabla128k Dne 2016-10-21 08:22
Tady je ovšem také řeč o Omnii, já mám ovšem starý turris :-(
Nadřazený - - Od Ondřej Caletka (>>>) Dne 2016-10-21 12:48
V tom případě postupujte přesně podle postupu v příspěvku z roku 2014.
Nadřazený - - Od Radomír Polách Dne 2016-10-24 20:01
Můžete zajistit, aby to fungovalo out-of-box na Omnii? Dle https://discourse.labs.nic.cz/ bych řekl, že je to jeden z největších existujících problémů. A přitom problém byl znám již na původním Turrisu, kde byl návrh, že se s tím něco udělá.
Nadřazený - Od Ondřej Caletka (>>>) Dne 2016-10-31 10:45
Myslím, že vývojáři určitě nepohrdnou patchem, který problém bude nějak rozumně řešít. Za ty dva roky se tu ale žádný bohužel neobjevil.
Nahoru Téma Majitelé routerů / Technická podpora / Vytváření lokálních doménových záznamů v DHCP a DNS

Powered by mwForum 2.29.3 © 1999-2013 Markus Wichitill