GNU/Linux >> Belajar Linux >  >> Ubuntu

Perlu Menambahkan Server Nama ke Resolv.conf?

Saya menjalankan Ubuntu 18.04 (ditingkatkan dari beberapa versi sebelumnya) yang menggunakan Network Manager dan systemd-resolved untuk resolusi nama. Saat saya boot, koneksi ethernet saya enp0s31f6 dibawa oleh Manajer Jaringan dan diberikan tiga alamat server nama melalui DHCP, 10.1.13.10 , 10.1.141.10 , 10.1.13.36 . Menjalankan nmcli menunjukkan tiga server nama di bawah "Konfigurasi DNS". Menjalankan systemd-resolve --status menunjukkannya di bawah bagian "Tautan 2 (enp0s31f6)". Saya bisa melakukan ping masing-masing. Tidak ada koneksi lain yang aktif.

testuser ☼ systemd-resolve --status
Global
          DNS Domain: (my org's domain)
          DNSSEC NTA: 10.in-addr.arpa
                      16.172.in-addr.arpa
                      168.192.in-addr.arpa
                      17.172.in-addr.arpa
                      18.172.in-addr.arpa
                      19.172.in-addr.arpa
                      20.172.in-addr.arpa
                      21.172.in-addr.arpa
                      22.172.in-addr.arpa
                      23.172.in-addr.arpa
                      24.172.in-addr.arpa
                      25.172.in-addr.arpa
                      26.172.in-addr.arpa
                      27.172.in-addr.arpa
                      28.172.in-addr.arpa
                      29.172.in-addr.arpa
                      30.172.in-addr.arpa
                      31.172.in-addr.arpa
                      corp
                      d.f.ip6.arpa
                      home
                      internal
                      intranet
                      lan
                      local
                      private
                      test

Link 3 (wlp4s0)
      Current Scopes: none
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no

Link 2 (enp0s31f6)
      Current Scopes: DNS
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
         DNS Servers: 10.1.13.10
                      10.1.141.10
                      10.1.13.36
          DNS Domain: (my org's domain)

Namun, ketika saya benar-benar mencoba untuk menyelesaikan sebuah nama, bahkan nama salah satu server nama, dig mengklaim bahwa “waktu koneksi habis:tidak ada server yang dapat dijangkau”.

testuser ☼ dig dcpdc001.(my org's domain)

; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> dcpdc001.(my org's domain)
;; global options: +cmd
;; connection timed out; no servers could be reached

Perhatikan bahwa nama ini harus diubah menjadi 10.1.13.10 , server nama pertama.

Saya telah mengonfigurasi resolvconf untuk menggunakan pembaruan dinamis. /etc/resolv.conf menunjuk ke /run/resolvconf/resolv.conf . File ini hanya berisi (non-komentar):

nameserver 127.0.0.53
search (my orgs local search domain)

Jika saya menambahkan nameserver 10.1.13.10 ke file ini secara manual, tiba-tiba dig dapat diselesaikan lagi, dan apa pun yang perlu melihat nama lokal dapat melakukannya. Menghapus server nama akan merusaknya lagi.

Saya tidak tahu banyak tentang server. Mereka adalah bagian dari jaringan berbasis Windows, tetapi saya dapat menggunakannya jika saya mengedit resolv.conf secara manual jadi menurut saya bukan itu masalahnya, dan itu menyiratkan bahwa saya tidak perlu diautentikasi ke domain untuk menggunakannya. (Saya dapat mengautentikasi ke domain melalui Ubuntu menggunakan Realmd/SSSD, tetapi tidak jika saya tidak dapat menyelesaikan pengontrol domain…)

journalctl entri untuk systemd-resolved hanya menampilkan beberapa pesan tentang "Menggunakan set fitur yang terdegradasi ... untuk server DNS" tetapi mereka hanya merujuk ke server nama ketiga, bukan yang lain. Tidak ada untuk server nama utama.

Bagaimana saya bisa membuat resolusi nama berfungsi tanpa harus mengedit resolv.conf secara manual setiap kali saya boot?

Saya menganggap isi resolv.conf saya berarti Network Manager atau Systemd memiliki semacam penyelesai caching lokal yang berjalan? Jika demikian, apakah mengabaikannya akan memperbaiki keadaan?

Terkait:Tidak dapat menambahkan kunci repo?

Saya meningkatkan level logging systemd-resolved dan journalctl -f -u systemd-resolved menunjukkan:

Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Got DNS stub UDP query packet for id 19836
Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Looking up RR for dcpdc001.(org domain) IN A.
Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Switching to DNS server 10.1.13.10 for interface enp0s31f6.
Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Cache miss for dcpdc001.(org domain) IN A
Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Transaction 12728 for <dcpdc001.(org domain) IN A> scope dns on enp0s31f6/*.
Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Using feature level UDP+EDNS0+DO+LARGE for transaction 12728.
Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Using DNS server 10.1.13.10 for transaction 12728.
Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Sending query packet with id 12728.
Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Processing query...
Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Timeout reached on transaction 12728.

Jawaban yang Diterima:

Systemd dilengkapi dengan resolver “stub”, systemd-resolved, yang menurut mereka sebenarnya tidak dimaksudkan untuk digunakan sebagai server DNS:

Yah, diselesaikan tidak seharusnya menjadi server DNS, itu seharusnya cukup baik sehingga klien DNS seperti libc dapat menyelesaikan barang-barang mereka, dan kami membawa cukup info untuk bit AD yang akan disetel.

Untuk alasan apa pun, Ubuntu dikonfigurasi untuk menggunakannya sebagai server DNS dan, pada kenyataannya, satu-satunya.

Komentar pada bug #1624320 menunjukkan bahwa systemd-resolved memiliki tiga mode operasi, dan yang kedua adalah yang memperbaiki masalah saya. Yaitu:

$ sudo rm -f /etc/resolv.conf
$ sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf

Ubuntu
  1. Server Nama Kustom

  2. Cara Membuat Perubahan Resolv.conf Permanen di Ubuntu [Kiat Singkat]

  3. Jumlah entri server nama di resolv.conf

  1. Apa yang Menimpa /etc/resolv.conf Pada Setiap Boot?

  2. Bagaimana cara mengatur DNS saya ketika resolv.conf sedang ditimpa?

  3. Mengapa /etc/resolv.conf menunjuk ke 127.0.0.53?

  1. Ubuntu – Bagaimana Cara Membuat Resolv.conf Bekerja Dengan Cara Lama Pada Distribusi Linux Modern?

  2. Nameserver 127.0.1.1 Di Resolv.conf Tidak Akan Hilang!?

  3. Manajer Jaringan:Bagaimana Cara Menghentikan Pembaruan Nm /etc/resolv.conf?