Ubuntu'da systemd-resolved nasıl devre dışı bırakılır?


87

Ubuntu 17.04’te sistem çözünürlüğünü nasıl devre dışı bırakabilirim?

systemctl disableİşi devre dışı bırakmak işe yaramadıysa, hizmet yeniden başlatılıyor gibi görünüyor (Networkmanager?)


10
systemd-resolved sadece büyük değil aynı zamanda dns çözünürlüğünün çalışma biçimini de keser, dns sunucuları client config komutunda belirtilen sırada her zaman çözmeyi denemez. Bir sunucu bir etki alanını çözmediğinde, listedeki bir sonraki en üst noktaya taşınır (Poettering bu 'belleği' çağırır). Ayrıntılar için bu konuya bakın.
LifeBoy

7
Aynı zamanda korkunç bir fikir olan iptables kurallarını atlar.
Spongman

Yanıtlar:


150

Bu yöntem Ubuntu'da 17.04 (Zesty), 17.10 (Artful), 18.04 (Bionic), 18.10 (Cosmic) ve 19.04 (Disco) sürümlerinde çalışır:

Sistem çözümlemeli hizmeti devre dışı bırakın ve durdurun:

sudo systemctl disable systemd-resolved
sudo systemctl stop systemd-resolved

Ardından [main]bölümünüze aşağıdaki satırı yazın /etc/NetworkManager/NetworkManager.conf:

dns=default

İşaret bağlantısını sil /etc/resolv.conf

rm /etc/resolv.conf

NetworkManager'ı yeniden başlatın

sudo systemctl restart NetworkManager

Ayrıca systemd-resolvd'yi devre dışı bırakmanın bazı kullanıcılar için VPN'de isim çözümünü bozabileceğini unutmayın. Başlatma panelinde bu hatayı görün (Thanks, Vincent).


4
Bu Ubuntu 17.04 üzerinde çalışmıyor gibi görünüyor. Alsi, yapılandırma dosyası /etc/NetworkManager/NetworkManager.conf 'dır. Yukarıdakileri yaptığımda isim çözümleme araları. systemd-resolved büyük zamanlar berbat, şimdi VPN DNS çözümlemesi benim için hiç düzgün çalışmıyor. Böcek ilerlemesini burada bulabilirsiniz: bugs.launchpad.net/ubuntu/+source/systemd/+bug/1624317
Vincent Gerris

5
Bence "apt-get install dnsmasq" sistemd çözümlendikten sonra devre dışı bırakıldığında yapılması gereken cevabı eklemelisin.
LifeBoy

5
@LifeBoy Ben dnsmasq kullanmıyorum. Sadece herhangi bir yerel isim sunucusu kullanmıyorum, bunun değerini görmüyorum.
Bastian Voigt

9
Ubuntu 18.04 için gerekli olan tek şey sudo systemctl disable systemd-resolved.service ve sudo servis systemd-resolved stop komutlarını çalıştırmaktır. Bu benim için çalıştı.
Daniel Eagle,

12
Teşekkür ederim. SystemD Linux'u mahvediyor, sihirle çalışan bir şey için güvenilir ve anlaşılır bir şey yapıyor.
Forbesmyester,

18

Geçenlerde (k) Ubuntu 17.04 seviyesine yükselttim ve ayrıca sistemde yapılan değişikliklerden sonra tökezledi.

Kurulumum oldukça tipik, sanırım genişbant HUB’mda bir DNS sağlayıcım var ve bu ağımdaki tüm cihazlar için temel bilgi kaynağım.

Sistemde bazı güzellikler var, hepsi kötü değil ama asıl kötü olan şey belgelemek, Ubuntu ekibinden iletişim eksikliği ve gung-ho "herkes için kırılsa da onu değiştirelim" zihniyetini.

Bazı saçları yırtdıktan sonra benim için çözüm /etc/systemd/resolved.conf dosyasını düzenlemek oldu:

[Resolve]
DNS=192.168.1.254   # <-- change to your router address
#FallbackDNS=8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844
Domains=lan         # <-- change to your localdomain name (maybe .local)
#LLMNR=yes  <-- I dabbled with this for a while but it doesn't matter
#DNSSEC=no
#Cache=yes
#DNSStubListener=udp

Bunun neden işe yaramayacağını anlamadıktan sonra, aynı zamanda ihtiyaç duyulan şeyin /etc/resolv.conf dosyasını systemd tarafından sağlanana değiştirmek olduğunu anladım. Kutudan çıkan bir kurulumda durum böyle değil (benim için bilinmeyen nedenlerden dolayı).

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

Daha sonra yerel DNS sunucusu kullanılmaz ve tüm DNS istekleri HUB’a gönderilir.

Bunun sistemd-resolv şu an için varsayılan olduğu için kesmeyi ve başka bir çözümü koymaktan çok daha iyi bir çözüm olduğunu düşünüyorum.

İlgili bir btw problemi /etc/nsswitch.conf'un kısırlaştırılmış olmasıdır.

Okumalı:

ana bilgisayarlar: dosyalar mdns4_minimal dns [NOTFOUND = return] solve [! UNAVAIL = return] dns

Bu kafa karıştırıcı bir konfigürasyondur, çünkü [NOTFOUND = return], orada işleme bittiği anlamına gelir. Bundan sonra gelen girişler asla kullanılmayacak.


1
Ve sonra her yeni WIFI'a bağlandığımda, config adresindeki router adresini değiştirmem gerekiyor. Ciddi misin? -1
Bastian Voigt

Onunla dolaştığını bilmiyordum. Öyleyse, yapılandırma öğelerini yorumda bırak. Daha sonra yazan bir /etc/resolv.conf dosyası almalısınız: nameserver 8.8.8.8 nameserver
8.8.4.4

1
Netplanı doğru ayarladıysanız resolved.conf dosyasını düzenlemenin gerekli olduğunu sanmıyorum. yani netplan, doğru bağlanmış dosyaya doğru değerleri yazar ... PS SYSTEMD SUCKS!
g33kz0r

3

VPN'nizde sızıntı sorunları yaşıyorsanız ve systemd'i (benim gibi) nasıl ayarlayacağınızı bulamıyorsanız, ilk cevapta anlatıldığı şekilde kaldırabilirsiniz, ancak dns=defaultsatırı, ad sunucusu 127.0'ı etkinleştireceği için eklemeyin. • 0.1. Yönelticiyi dns olarak ayarlamak için, /etc/resolvconf/resolv.conf.d/ klasörünüzde satır ekleyen "tail" dosyasını oluşturun.nameserser 192.168.1.1

do ln -sf /var/run/resolved/resolv.conf /etc/resolv.confBu dosyayla ilgili berbat olsaydı.


1
Gerçekten mi? Benim için tam olarak cevabımda açıklandığı gibi çalışır. Kesinlikle isim sunucusu 127.0.0.1 kullanmıyorsanız. Ayrıca, bir sunucunuzda ad sunucunuzun IP'sini kodlamanın çok kullanışlı olmadığını düşünüyorum. En azından wifi ağlarını oldukça sık değiştiriyorum ve her wifi farklı bir ad sunucusuna sahip
Bastian Voigt

yes 'default', 127.0.0.1'i dns olarak etkinleştirir
Yvain
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.