Mengapa tidak diselesaikan dengan sistem menggunakan server DNS lokal saya?


13

Saya menggunakan server BIND9 lokal untuk meng-host beberapa catatan dns lokal. Ketika mencoba menggali untuk nama domain lokal saya tidak dapat menemukannya jika saya tidak secara eksplisit meminta dig untuk menggunakan server BIND9 lokal saya.

user@heimdal:~$ dig +short heimdal.lan.se
user@heimdal:~$ dig +short @192.168.1.7 heimdal.lan.se
192.168.1.2

Ubuntu 17,04 dan systemd-resolved digunakan. Ini adalah konten dari saya / etc / diselesaikan

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.

nameserver 127.0.0.53

Dan output dari systemd-resolasikan --status

Global
         DNS Servers: 192.168.1.7
                      192.168.1.1
          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

Bagian Server DNS tampaknya telah mengkonfigurasi 192.168.1.7 sebagai server DNS utama (contoh BIND9 lokal saya). Saya tidak mengerti mengapa ini tidak digunakan ...?


Saya ingat sesuatu tentang bagaimana systemdmenggunakan Google DNS sebagai fallback ...
William Edwards

Apa yang systemd-resolve heimdal.lan.sediceritakan?
Bigon

Jawaban:


8

Jadi, mengubah antarmuka eth0 kabel saya untuk dikelola menyelesaikan masalah ini untuk saya.

Mengubah ifupdown menjadi managed = true di /etc/NetworkManager/NetworkManager.conf

[ifupdown]
managed=true

Kemudian restart NetworkManager

sudo systemctl restart NetworkManager

Setelah ini berfungsi dengan sempurna ..

Ini bukan 100%. Saya juga menerapkan perubahan tesis ini untuk mencoba dan membunuh resolver

sudo service resolvconf disable-updates
sudo update-rc.d resolvconf disable
sudo service resolvconf stop

Terima kasih banyak untuk posting blog ini mengenai subjek: https://ohthehugemanatee.org/blog/2018/01/25/my-war-on-systemd-resolved/

Mari kita doakan ini berhasil .. Seluruh bisnis penyelesaian sistem ini sangat jelek.


Komentar yang terlambat tetapi systemd-networkdterkait hal lain adalah untuk memeriksa apakah perangkat eth0atau enXmemiliki *.networkfile di `/ lib / systemd / network /` lihat info systemd-networkddan info systemd.networkdaninfo resolved.conf
jmunsch

5

Dugaan saya adalah bahwa systemd-resolvedlayanan Anda dikonfigurasi dengan benar, tetapi tidak pernah dapat melihat permintaan. The .localdomain diperlakukan khusus oleh sistem yang menjalankan mDNS . avahi-daemon, yang menyediakan layanan mDNS / DNS-SD (alias "Bonjour" pada produk Apple) dapat dikonfigurasi untuk diutamakan daripada DNS selama resolusi nama; tampaknya Ubuntu melakukan ini.

Ada beberapa opsi yang bisa Anda pilih:

  1. Ubah nama .localdomain Anda menjadi sesuatu yang berbeda (mungkin .internalatau .lan). Ini mungkin yang paling mudah dilakukan dalam praktik karena Anda hanya perlu mengubah beberapa hal di server DNS Anda, dan ini berfungsi paling baik dengan Avahi. Saya akan merekomendasikan metode ini.

  2. Ubah /etc/nsswitch.conffile Anda dengan meletakkan dnsentri di depan mdnsentri.

  3. Ubah konfigurasi Avahi untuk mengubah domain mDNS dari .localke yang lain dengan mengedit /etc/avahi/avahi-daemon.confdan mengubah (atau menambahkan) domain-name=.something(terdapat di [server]bagian). Anda harus melakukan ini di setiap komputer yang menggunakan mDNS agar mereka tetap bekerja bersama.


Saya menyesal mengatakan bahwa saya mengaburkan domain asli di sini. Itu bukan domain lokal. Domain teratas sebenarnya .se. Namun saya akan menindaklanjuti petunjuk Anda dan memeriksa konten nsswitch. Maaf atas kebingungan
Menyerahkan

0

Tampaknya ini akan lebih baik sebagai komentar, tetapi tidak cukup reputasi ....

Jawaban diri Civing adalah yang paling sesuai dengan apa yang saya inginkan.

Saya juga harus menambahkan dns=noneke [main]bagian /etc/NetworkManager/NetworkManager.conf, jadi sepertinya ini:

[main]
plugins=ifupdown,keyfile
dns=none

Saya baru saja memperbarui ke xubuntu 18.04, dari 14.04, dan saya memiliki LAN yang lebih tua dari itu, dengan banyak penyesuaian kecil yang timbul selama bertahun-tahun. Jadi saya ingin DNS saya melakukan apa yang saya inginkan (ya, saya telah membeli banyak buku Cricket Lius selama bertahun-tahun, dimulai dengan edisi kedua).

Selain itu, saya sebelumnya telah menambahkan informasi penyelesaian DNS yang ingin saya lihat ke file /etc/resolvconf/resolv.conf.d/head.

Singkatnya, sekali saya memiliki /etc/resolv.conf yang berfungsi, sebagai root:

cat /etc/resolv.conf >> /etc/resolvconf/resolv.conf.d/head

Tapi sekarang, saya langsung mengedit /etc/resolv.conf secara langsung, dan tetap tersimpan. Pengunjung LAN saya, yang menggunakan systemd / resolvconf, SOOL. Mereka tidak ada.

Membaca man 8 resolvconfmembantu. Banyak. Saya tidak mengikuti instruksi untuk meletakkan hal-hal di mana program ifup bisa menemukannya. Sebagian besar karena ada seluruh superstruktur di GUI yang sudah diabaikan oleh apa pun yang dilakukan selama pemutakhiran. Itu tampaknya menjadi masalah yang lebih besar (WTF, Ubuntu?).

Jadi ini jelek, dan masih ada masalah bahwa apa yang saya miliki (dulu) masuk ke panel kontrol jaringan GUI tidak dipatuhi oleh sistem yang baru saja ditingkatkan, tapi itu pertanyaan yang sama sekali berbeda, setelah saya mencari cara untuk tanyakan itu.


0

Bagi saya, menjalankan 18.04 yang baru saja diinstal, saya membuat perubahan pertama yang dikutip oleh @Civing:

[ifupdown]
managed=true

kemudian, memperhatikan bahwa /etc/resolv.conf selalu menunjuk stub-resolv.conf dan bahwa resolv.conf yang masuk akal dengan server DNS LAN yang tepat sedang dibuat, mengubah symlink:

/etc/resolv.conf -> /run/systemd/resolve/resolv.conf

dan kemudian lokal semua nama host diselesaikan melalui ping.

Masih harus dilihat berapa lama ini terus bekerja.

Ketika saya pertama kali menginstal, pengaturan jaringan nirkabel gagal, dan saya bertanya-tanya apakah instalasi meninggalkan /etc/resolv.conf dalam keadaan awal ini.

Jadi, satu saran adalah untuk melihat apa yang diselesaikan menghasilkan; Anda mungkin sudah memiliki basis kerja.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.