systemd-resolved, yerel etki alanı için dns sunucusunu sorgulamaz


12

17.04'e yükseltme yaptığımdan beri artık yerel ağımdaki (silvesternet.local) adresleri çözemiyorum. Aşağıdaki yanıtı alıyorum:

$ systemd-resolve edgerouter
edgerouter: resolve call failed: No appropriate name servers or networks for name found

Dergide yalnızca bu arama ile ilgili işlem için zaman aşımı raporları bulunmaktadır.

Ağ trafiğini koklamak için Wireshark'ı kullandım ve adı aramaya bile çalışmadığı anlaşılıyor. Hiçbir dns trafiği yoktur. Başka bir harici etki alanı aramak gayet iyi çalışıyor.

Aynı konuyla ilgili birçok sorun nsswitch.conf dosyasını değiştirmekten bahsediyor, ancak bu hiçbir şeyi çözmüyor gibi görünüyor. Geçerli ayarlarım:

hosts:          files mdns4_minimal dns [NOTFOUND=return] resolve [!UNAVAIL=return] mdns4

1
Kaçtın mı sudo apt update && sudo apt full-upgrade? Serbest bırakılan görüntüdeki hatalar düzeltildi ...
Zanna

Eğer kullanıyorsanız systemd-networkdyapılandırmak arayüzlerine, eklemek gerekebilir UseDomains=trueiçinde [DHCP]senin bölümünde .networkdosyaları: wiki.archlinux.org/index.php/systemd-networkd#.5BDHCP.5D
quixotic

Gerçekten de, etki alanı ile kapatın. Aslında dhcp yanıtında etki alanını ayarlamayan edgerouter bellenimindeki bir hataydı.
Rob van der Most

Yanıtlar:


10

Bunun tasarım gereği olduğuna inanıyorum.

Ubuntu 17.04, ad çözümlemesi için sistemd çözümüne geçti ve tek etiketli ad çözümlemesi için yalnızca LLMNR (çok noktaya yayın adı araması) kullanıyor. Ayrıntılar için bu bağlantıya bakın: https://www.freedesktop.org/software/systemd/man/systemd-resolved.service.html

Bu kararın ardındaki gerekçe için poettering'in bu hata raporundaki cevabına göz atın: https://github.com/systemd/systemd/issues/2514

UPD: Bu sorun, yerel ağ için bir etki alanı kullanılarak çözülebilir. Ağ arabirimi bir arama etki alanını kullanacak şekilde yapılandırılırsa (el ile veya DHCP ile), sistemd çözümlemesi bu etki alanını tek etiketli adlara ekler ve tek noktaya yayın DNS üzerinden arar.

Yerel DNS sunucusunun bu etki alanını tanıyacak şekilde yeniden yapılandırılması gerektiği açıktır. / Etc / hosts adresinden yerel ana bilgisayar-IP çiftlerini okuyan dnsmasq durumunda, dnsmasq.conf dosyasına aşağıdaki yönergeler eklenerek gerçekleştirilebilir:

domain=mydomain.net
local=/mydomain.net/
expand-hosts

UPD2: Veya burada açıklandığı gibi dnsmasq'a geri dönebilirsiniz https://askubuntu.com/a/911432/692094


Ve bazı açıklamalarla bir hata sayfası daha: github.com/systemd/systemd/issues/4821
ish-west

Alan adı burada sorundu. Aslında, edgerouter bellenimindeki bir hatadan da kaynaklanıyordu. Yapılandırmadaki etki alanı adı seçeneği, dhcp yapılandırmasında düzgün şekilde depolanmadı. Böylece müşteriler aramak için bir alan bulamadılar.
Rob van der Most

8

Aynı sorunu DNS için systemd tarafından çözülmüş olan Ubuntu 18.04'te de aldım. Varsayılan yapılandırması tek etiketli ana bilgisayar adlarını veya .local etki alanı ana bilgisayar adlarını DNS ile değil, sırasıyla LLMNR veya mDNS ile çözer.

Yerel tek etiketli ana bilgisayar adlarını veya .local etki alanı ana bilgisayar adlarını DNS tarafından çözümlenmek için, systemd-resolved.service için kılavuz sayfasında açıklanan "/etc/resolv.conf dosyasının dört modu" nu etkinleştirdim :

sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf

Benzer bir cevap burada verildi . Ve yine, varsayılanın ardındaki mantık için, bu hata raporundaki poettering'in cevabına bakın .


2

18.04'e yükselttikten sonra benim için işe yarayan, /etc/systemd/resolved.conf dosyasını Domains parametresini etki alanına değiştirerek yapılandırmaktı (yerel veya benim durumumda alanadım.local). Ayrıca DNS parametresini de değiştirdim, ancak bunun alakalı olmadığı görülüyordu, ancak doğru olmadığından bahsediyorum. Daha fazla bilgi için https://www.freedesktop.org/software/systemd/man/systemd-resolved.service.html adresine gidin .

Ayrıca, bazı kişiler bu forumda işaret ettiği gibi sunucu bölümü içindeki etki alanı parametresini yerelden (varsayılan) başka bir şeye değiştirmek için avahi yapılandırmasını (/etc/avahi/avahi-daemon.conf) değiştirdim.

Bahsedilen değişikliklerle, noktasız isimler kullanarak makinelere ulaşabilirim, örneğin, bilgisayarıma ping yaparak makineyle başarılı bir şekilde iletişim kurulur. Ancak, mycomputer.mydomain.local dosyasına ping işlemi yapmazsa, FQDN beklendiği gibi çözülmez.

Bunu ummak bazı durumlarda yardımcı olur veya daha genel bir çözüme yol açar.


1

Yanlış yapılandırıldığından bu sorunla karşılaştım nsswitch.conf. 12.04Aşağıdaki dize beklendiği gibi çalıştı beri . Etki alanı olmayan ana makine adları başarıyla çözümlenir.

Ancak 17.04nss sistemini yapılandırmak için eski şablonlu ubuntu'nun yeni sürümü (ve 16.10 sürümü) daha önce olduğu gibi çalışmıyor.

hostsEski ubuntu sürümlerinden yanlış yapılandırılmış sürümü : hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4

Başarılı çalışma sürümü hosts, örneğin 17.04: hosts: files mdns4_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] dns

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.