DNS sistemin 127.0.0.53'e ayarlandı - kalıcı olarak nasıl değiştirilir?


38

Geçenlerde 17.10'a yükselttim. Bir web sitesine göz atmaya çalıştığımda veya bir etki alanına ping işlemi yaptığımda, sitenin çözülemediğini söyleyerek başarısız oluyor.

network-adminiçeriğini gösterir /etc/resolv.confolduğunameserver: 127.0.0.53

Bunu 8.8.8.8 veya 208.67.222.222 olarak değiştirirsem, her şey çalışır. Yeniden başlatana kadar.

Yeniden başlatma veya sürdürme işleminde, ad sunucusu 127.0.0.53 olarak sıfırlanır.

Ad sunucusunu çalışan bir şeye kalıcı olarak nasıl ayarlarım?


Sistem fanları için çalıştırırsam systemd-resolve --statusalıyorum

Link 3 (wlo1)
      Current Scopes: LLMNR/IPv4 LLMNR/IPv6
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no

Bu sorudaki tavsiyeye uyursam - DNS yeniden başlatıldıktan sonra sıfırlamaya devam ediyor. Ubuntu 17.10 - DNS hala çözemiyor.


systemctl stop systemd-resolvedve systemctl mask systemd-resolvedhile yapmak gerekir :)
Shayan

Yanıtlar:


28

/etc/resolv.confSistem önyüklemesinde yapılma şeklini değiştirecek bir paket resolvconf kurabilirsiniz .

sudo apt install resolvconf

Daha sonra bir dosya oluşturabilir veya değiştirebilirsiniz /etc/resolvconf/resolv.conf.d/tail. Bu dosyaya bir satır koyarsanız nameserver 8.8.8.8, bu satır /run/resolvconf/resolv.confaçılışta eklenir . /etc/resolv.confşimdi bu dosyanın sembolik bir bağlantısı olacak.


4
Bu işe yarar - teşekkürler! 127.0.0.53'ün kendi başına çalışmasının bir yolu olup olmadığını biliyor musunuz?
Terence Eden

1
Bu konuda oldukça yeniyim. Sadece geçen haftalarda vpn'yi açıp kapatırken dns problemlerinden kurtulmaya çalışıyorum. Deneyebilirsin sudo dpkg-reconfigure resolvconf. Son zamanlarda bunu denedim, kuyruk dosyasını temizledim ve ilk başta bu iş gibi görünüyor.
oscar1919

@TerenceEden, 127.0.0.53'ü kendi başına çalışmasını istiyorsanız (olması gerektiği gibi), cevabımı inceleyin: askubuntu.com/a/1083843/281191
intelfx

9

Doğru çözüm yerine giyotin ile migreni tedavi etmek çalışmakla systemd-çözülmesi düzeltmek olacaktır.

Düzgün kullanılırsa gerçekten güzel bir araçtır.

Çıktına bakılırsa systemd-resolve --status...

Link 3 (wlo1)
      Current Scopes: LLMNR/IPv4 LLMNR/IPv6
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no

... ağ yöneticisi aracınız arabirim başına DNS yapılandırmasını sistem çözümlemesiyle geçirmiyor.

NetworkManager'ın son sürümleri, örneğin, /etc/resolv.confiçine /run/systemd/resolveveya işaretine işaret eden bir link ise , bunu otomatik olarak yapar /usr/lib/systemd/resolv.conf. Alternatif olarak, systemd-resolved'in son sürümleri, systemd-olayı ile ilgili bir resolvconfikili kurulum kurarak tarihsel resolvconf arayüzü ile uyumlu olmaya çalışır .

Bu iki çözümden birini kullanmak tercih edilirken, hızlı ve kirli bir çözüm arıyorsanız, DNS sunucularınızı global olarak kullanacak şekilde yapılandırılmış sistem konfigürasyonunu yapılandırabilirsiniz:

$ cat /etc/systemd/resolved.conf
<...>
[Resolve]
DNS=8.8.8.8 8.8.4.4
<...>

Ardından yeniden başlatın systemd-resolved.serviceveya yeniden başlatın .


En azından benim için bu cevap işe yaramaz, ubuntu 18.04 kullanarak, "DNS" girişini değiştirdikten sonra 127.0.0.53
André M. Faria

1
@ AndréM.Faria nasıl çözüldüğünü öğreniyor. 127.0.0.53yerel önbellek saplama çözümleyicisinin adresidir. Belirttiğiniz herhangi bir yukarı DNS sunucusuna DNS isteklerini iletir.
intelfx

Bazen bir şey biliyorsun ve görmezden geldin, evet haklısın.
André M. Faria

1
Burada dikkat edilmesi gereken nokta ayrıca, varsayılan olarak systemd-resolvedDNS yanıtlarını önbelleğe almasıdır. Bu bazen yararlı olsa da, bazı durumlarda sorunlara neden olabilir. Uncomment cache=yescevap yapılandırma dosyasında satır ve ayarlı no.
Quentin Skousen

gerçekte neyin güncellenmesine neden olan /etc/resolve.conf(ya da gerçekten, /run/resolvconf/resolv.confeskilerin işaret ettiği)? varsayılan bir yeniden başlatma gerekmeden test için bilmek güzel olurdu. Söyleyebileceğim tek şey yeniden başlatma systemd-resolved.servicehile yapmak gibi görünmüyordu
bbarker

8

Lubuntu ve Kubuntu 18.04 kullanıyorum. DNS sorununun 2 adımda üstesinden gelebildim:

Birinci adım: Yükleme unboundve değiştirme ayarlayın systemd-resolvedolarak Grégoire C gösterileri burada .

sudo systemctl disable systemd-resolved
sudo systemctl stop systemd-resolved
sudo systemctl enable unbound-resolvconf
sudo systemctl enable unbound

reboot

Dosyayı kök olarak aç /etc/NetworkManager/NetworkManager.conf

( sudo leafpad /etc/NetworkManager/NetworkManager.confLubuntu 18.04'te veya Kubuntu 18.04'te SUDO_EDITOR=kate sudoedit /etc/NetworkManager/NetworkManager.conf)

ve aşağıda [main]bu satırı yazın:

dns=unbound

yeniden başlat

İkinci adım: Yeniden başlatma sonrasında sorun hala çözülmediyse, benim durumumda olduğu gibi, dosya yöneticisini root olarak başlatın, gidin /etc, silin resolv.confve yeni bir dosya oluşturun resolv.conf. Boş bırakın ve işletim sistemini yeniden başlatın. Benim açımdan bu yeniden başlatmanın ardından sorun ortadan kalktı.

Kubuntu 18.04'te Dolphin'i root olarak başlatamazsınız, bu yüzden ilk önce /etcoradan terminale gidip açabilirsiniz, daha sonra root olarak kullanmak için Entersudo su tuşunu yazıp ardından resolv.confkomutuyla silebilirsiniz rm resolv.conf. Ardından masaüstünüzde yeni bir boş dosya oluşturabilir, adlandırabilir resolv.confve oradan bir terminal açabilirsiniz. sudo suTerminalin kök moduna girmek için komutu kullanın ve ardından yenisini resolv.confmasaüstünüzden /etckomuta kopyalayın cp resolv.conf /etc.

Ben eklemek zorunda ben yapmaya çalışacağım vermedi ikinci adımı takÕlmasÕ önce unbounddahaki sefere bunu yapacağım bu yüzden yeterli olup olmayacağını sadece görmek için,.


Neden sadece root olarak düzenlemek ve içeriğini silmek değil?
Ballie,

@Ballie İlk başta bunu denedim, ancak yardımcı olmadı. Ayrıca orijinal resolv.confgelen /etcnormal değil bir kısayol, bir çeşit olarak gösterildi, sanırım. Bu yüzden onu silmeye ve yeni bir boş dosya oluşturarak ve adlandırarak yeniden yaratmaya karar verdim resolv.conf. Ve işe yaradı. Bu sebeple, bir dahaki sefere işletim sistemini yeniden kurmak zorunda kaldığımda, "ilk adımı" yapmadan önce bunu yapmayı deneyeceğim - yeterli olup olmadığını görmek için. Ama asıl resolv.confiçinde /etcihtiyaçları neyse çıkarılıp yeniden oluşturulması - Bu konuda eminim.
Калоян Грънчаров

Ben sadece systemd-resolved.service'yi devre dışı bıraktım ve resolv.conf linkini kaldırdım ve elle bir tane yarattım ve işe yaradı!
André M. Faria

8

systemdparadigma içinde çalışmak , bir bağlantıya / cihaza bir DNS eklemek

ubuntu 17.10+ kullanarak bir *.networkdosya ekleyin :

sudo nano /lib/systemd/network/100-somecustom.network:

100-somecustom.network (100 öncelik için herhangi bir sayı olabilir ve .networkdosya uzantısını gerektirir ):

[Match]
Name=wlo1 # the device name here

[Network] # add multiple DNS 
DNS=8.8.8.8
DNS=208.67.222.222

Ardından yeniden başlatın:

sudo service systemd-networkd restart

Ayrıca bakınız:

netplan apply

Sonra kontrol et:

systemd-resolve --status wlo1

Bilgi sayfasından info systemd.network:

Ek olarak /etc/systemd/network, açılan ".d" dizinleri edilebilir / lib / systemd / ağ veya / run / systemd / ağ yerleştirildi dizinleri. / Etc içindeki drop-in dosyaları, run / run'dakilere göre önceliklidir ve sırayla / lib'dekilere göre önceliklidir. Bu dizinlerden herhangi birinin altındaki açılan dosyalar, ana netdev dosyasına göre nerede olursa olsun önceliklidir. (Elbette, / run geçici olduğu ve / usr / lib satıcılar için olduğu için, bu uygulamaların ikisinde de kullanılması düşünülemez.)

Başka bir yaklaşım DNSStubListenerile kullanım için devre dışı bırakın dnsmasq:

sudo nano /etc/systemd/resolved.conf:

#
DNSStubListener=false

ilgili:


Tuhaf olan, DNSStubListener = false olduğunu belirtmiş olmanızdır, ancak yorumlanan gerçek yapılandırma DNSStubListener = evet, genellikle "evet" değerinin tersi "hayır" dır ve "yanlış" olduğunda "yanlış" olan "yanlış" dır. doğru".
André M. Faria

.Network uzantılı bir dosya oluşturmak için cevabınız işe yaramadı.
André M. Faria

2

Arayüz konfigürasyonundaki dns kaydını bu şekilde değiştiriyorum.

$ vi /etc/netplan/50-cloud-init.yaml

İsim sunucusu adreslerini değiştir, daha önce .4 idi, sonra .3 olarak değiştirdim:

...
            nameservers:
                addresses:
                - 192.168.1.3
...

Yapılandırmayı kaydedin ve ardından yapılandırmayı uygulayın:

$ sudo netplan apply

Bundan sonra resolvectl servisini yeniden başlatın.

$ sudo systemctl restart systemd-resolved.service

Notlar için: Sunucuyu yeniden başlattım ve yaptığım değişiklikler hala sağlam. resolvctl dnsDns kaydını doğrulamak için komutu kullanıyorum .


Bu aslında doğru cevap. Kabul edilen biri olmadığına şaşırdım.
Toumal

0

NordVPN ile ilgili bazı sorunlar vardı, bu yüzden buna eklemeye karar verdim.

Bulgular:
NordVPN /run/systemd/resolve/resolv.confbağlanırken DNS ayarlarını belirler .
NordVPN /run/systemd/resolve/resolv.conf, bağlantıyı keserken tüm DNS ayarlarını kaldırır .
Bu, DNS sunucusunun artık çalışmamasına neden olur (bir set olmadığı için).

Sistemin herhangi bir şeyi tekrar ayarlamak için yeniden başlatılması gerekiyor. Hizmetin ( sudo systemctl restart systemd-resolved.service) standart olarak yeniden başlatılması çalışmıyor.

Bu soruna geçici bir çözüm bulmak için:

sudo apt install resolvconf

/Etc/resolvconf/resolv.conf.d/ adresine gidin

cd /etc/resolvconf/resolv.conf.d/
sudo nano tail

Ad sunucusu ekle

nameserver 1.1.1.1
nameserver 1.0.0.1

Ayarlanmış olabilecek ad sunucuları için aşağıdaki yerleri kontrol edin:

/run/resolvconf/interface/original.resolvconf
/run/resolvconf/interface/systemd-resolved
/etc/resolvconf/resolv.conf.d/tail
/etc/resolvconf/resolv.conf.d/head
/etc/systemd/resolved.conf
/run/systemd/resolve/resolv.conf
/run/systemd/resolve/stub-resolv.conf

Hangi DNS sunucularının kullanıldığını test edin:

nslookup google.com

Server:         1.1.1.1
Address:        1.1.1.1#53

0

Belki biraz geciktim ama bu sorunla karşılaştım. Ağ ayarlarımı dahili ağ yöneticisi aracılığıyla değil, daha önce cli aracılığıyla manuel olarak yapılandırdığımı itiraf etmeliyim. Ubuntu 18.04'ü çalıştırıyorum.

Böylece devre dışı bırakıp systemd.resolved.service dosyasını yeniden etkinleştirdikten sonra, DNS yapılandırmamı rasgele kaybetme konusundaki bu düzensiz davranış benim için çözüldü.

systemctl disable systemd.resolved.service
reboot

yeniden başlattıktan sonra:

systemctl enable systemd.resolved.service
reboot

Ben nispeten yeni bir Linux kullanıcısıyım, bu yüzden bunun benim için neden işe yarayıp yaramayacağının nedenini ve nedenini açıklayabilecek biri olmalı, ancak başkalarına yardım edip edemeyeceğini söylemeye değecek gibiydi.


Hayal kırıklığına uğratmak için ağlayın, ancak arasında asıl sorunu çözen bir şey olmalı. Burada önerdiğiniz işlemler, sistemi olduğu gibi bırakabilir.
tishma

-1

Dhcp ad çözümlemesi kullanılırken Ubuntu'da beklendiği gibi çalışır. Statik olmak istediğinizde sorunlar başlar. cat /etc/resolv.confyor dns'ın 127.0.0.53 olduğunu ve /etc/netplan/.yamldosyada olmayanların olduğunu gösterecektir . Bunu düzeltmek için /etc/resolve.confbağlantıyı kaldırmanız ve işaret eden yeni bir tane oluşturmanız gerekir ./run/resolve/resolve.conf


Lütfen cevabınızı düzenleyin ve bazı biçimlendirmeleri düzeltin ...
Yufenyuy Veyeh Dider 10:18

-2

Bunun için biraz uğraşmak gerekiyordu. Ayarı güncelledikten sonra yeniden başlattım. kullanın:

ln -s /run/resolvconf/resolv.conf /etc/resolv.conf

/etc/systemd/resolved.conf
DNS=8.8.8.8
Cache=no

System resolved failed
systemctl stop systemd-resolved
systemctl disable systemd-resolved

İçin "istek" için yorum yapıldığında

# domain-name, domain-name-servers, domain-search, host-name,

Bu satırı şuna ekle /etc/dhcp/dhclient.conf:

 supersede domain-name "cwillenterprise.com";

Config dosyasını düzenleyin ve giriş ekleyin. Ek yerini almayacak.

Giriş ekle /etc/resolvconf/resolv.conf.d/tail

nameserver 8.8.8.8
search "cwillenterprise.com"

Değişiklikleri uygulamak için çalıştır

resolvconf -u

1
Ubuntu'ya Sormaya Hoş Geldiniz ! Lütfen , dosyalarda veya terminalde girilmesi gereken kodun kod biçimlendirmesini kullanmak için cevabınızı düzenleyin . Kod için "yorumlar" yapmaya hazır olmayın - bu , Markdown'da başlık anlamına gelir . Lütfen göndermeden önce gönderinizin önizlemesini kontrol edin. #
Melebius
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.