Tại sao không giải quyết systemd sử dụng máy chủ DNS cục bộ của tôi?


12

Tôi đang sử dụng máy chủ BIND9 cục bộ để lưu trữ một số bản ghi dns cục bộ. Khi cố gắng tìm kiếm một tên miền cục bộ, tôi không thể tìm thấy nó nếu tôi không nói rõ ràng với việc sử dụng máy chủ BIND9 cục bộ của mình.

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 và phân giải systemd được sử dụng. Đây là nội dung của tôi / etc / đã giải quyết

# 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

Và đầu ra từ systemd-giải quyết --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

Phần Máy chủ DNS dường như đã cấu hình đúng 192.168.1.7 làm máy chủ DNS chính (ví dụ BIND9 cục bộ của tôi). Tôi không thể hiểu tại sao nó không được sử dụng ...?


Tôi nhớ một vài điều về cách systemdsử dụng Google DNS như một dự phòng ...
William Edwards

Đang systemd-resolve heimdal.lan.senói gì vậy?
Bigon

Câu trả lời:


7

Vì vậy, việc thay đổi giao diện eth0 có dây của tôi để được quản lý đã giải quyết vấn đề này cho tôi.

Thay đổi ifupdown thành Managed = true trong /etc/NetworkManager/NetworkManager.conf

[ifupdown]
managed=true

Sau đó khởi động lại Trình quản lý mạng

sudo systemctl restart NetworkManager

Sau đó, nó hoạt động hoàn hảo ..

Đây không phải là 100%. Tôi cũng đã áp dụng các thay đổi luận án để thử và giết trình phân giải

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

Cảm ơn rất nhiều đến bài đăng trên blog này về chủ đề: https://ohthehugemanatee.org/blog/2018/01/25/my-war-on-systemd-resolve/

Hãy cầu nguyện điều này hoạt động .. Toàn bộ công việc giải quyết hệ thống này thật là xấu xí.


Cuối comment nhưng systemd-networkdliên quan đến điều khác sẽ được kiểm tra xem eth0hoặc enXthiết bị có một *.networktập tin trong thư mục `/ lib / systemd / mạng /` thấy info systemd-networkdinfo systemd.networkinfo resolved.conf
jmunsch

5

Tôi đoán là systemd-resolveddịch vụ của bạn được cấu hình đúng, nhưng nó không bao giờ thấy yêu cầu. Các .localtên miền được điều trị đặc biệt bởi các hệ thống chạy mDNS . avahi-daemon, cung cấp dịch vụ mDNS / DNS-SD (còn gọi là "Bonjour" trên các sản phẩm của Apple) có thể được cấu hình để được ưu tiên hơn DNS trong quá trình phân giải tên; Có vẻ như Ubuntu làm điều này.

Có một vài lựa chọn mà bạn có thể chọn:

  1. Đổi tên .localmiền của bạn thành một cái gì đó khác nhau (có thể .internalhoặc .lan). Đây có thể là cách dễ nhất để thực hiện vì bạn chỉ cần thay đổi một vài thứ trên máy chủ DNS của mình và nó hoạt động tốt nhất với Avahi. Tôi muốn giới thiệu phương pháp này.

  2. Thay đổi /etc/nsswitch.conftập tin của bạn bằng cách đặt dnsmục trước các mdnsmục.

  3. Thay đổi cấu hình của Avahi's để thay đổi miền mDNS từ .localmột thứ khác bằng cách chỉnh sửa /etc/avahi/avahi-daemon.confvà thay đổi (hoặc thêm) domain-name=.something(nằm trong [server]phần). Bạn sẽ cần phải làm điều này trên mọi máy tính sử dụng mDNS để chúng vẫn hoạt động cùng nhau.


Tôi rất tiếc phải nói rằng tôi đã làm xáo trộn tên miền thực sự ở đây. Nó không phải là một miền .local. Tên miền hàng đầu thực sự là .se. Tuy nhiên tôi sẽ theo dõi sự dẫn dắt của bạn và kiểm tra nội dung của nsswitch. Xin lỗi vì sự nhầm lẫn
Civing 19/2/18

0

Có vẻ như điều này sẽ tốt hơn như một bình luận, nhưng không đủ danh tiếng ....

Tự trả lời của Civing là hầu hết những gì tôi muốn.

Tôi cũng đã phải thêm dns=nonevào [main]phần /etc/NetworkManager/NetworkManager.conf, vì vậy nó trông như thế này:

[main]
plugins=ifupdown,keyfile
dns=none

Tôi vừa cập nhật lên xubfox 18.04, từ 14.04 và tôi có một mạng LAN cũ hơn thế, với nhiều điều chỉnh nhỏ được tích lũy qua nhiều năm. Vì vậy, tôi muốn DNS của mình thực hiện những gì tôi muốn (vâng, tôi đã mua nhiều bản sao của cuốn sách của Cricket Lius trong những năm qua, bắt đầu với phiên bản thứ hai).

Bên cạnh đó, trước đây tôi đã thêm thông tin phân giải DNS mà tôi muốn xem vào tệp /etc/resolvconf/resolv.conf.d/head.

Tóm lại, một khi tôi đã làm việc /etc/resolv.conf, với quyền root:

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

Nhưng bây giờ, tôi chỉ cần chỉnh sửa trực tiếp /etc/resolv.conf và nó vẫn được đặt. Khách truy cập vào mạng LAN của tôi, những người đang sử dụng systemd / decvconf, là SOOL. Họ không tồn tại.

Đọc man 8 resolvconfgiúp. Rất nhiều. Tôi đã không làm theo hướng dẫn để đặt những thứ mà chương trình ifup có thể tìm thấy chúng. Chủ yếu là vì có toàn bộ cấu trúc thượng tầng trong GUI đã bị bỏ qua bởi bất cứ điều gì đã được thực hiện trong quá trình nâng cấp. Đó dường như là một vấn đề lớn hơn (WTF, Ubuntu?).

Vì vậy, điều này thật khó hiểu và vẫn còn một vấn đề là những gì tôi đã có (từ lâu) đã nhập vào bảng điều khiển mạng GUI không được hệ thống mới nâng cấp tuân theo, nhưng đó là một câu hỏi hoàn toàn khác, khi tôi tìm ra cách hỏi nó


0

Đối với tôi, khi chạy phiên bản 18.04 được cài đặt gần đây, tôi đã thực hiện thay đổi đầu tiên được trích dẫn bởi @Civing:

[ifupdown]
managed=true

sau đó, nhận thấy rằng /etc/resolv.conf luôn luôn chỉ stub-decv.conf và một độ phân giải hợp lý với máy chủ DNS LAN thích hợp đã được tạo, đã thay đổi liên kết tượng trưng:

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

và sau đó cục bộ tất cả các tên máy chủ được giải quyết thông qua ping.

Nó vẫn còn để xem điều này tiếp tục làm việc bao lâu.

Khi tôi cài đặt ban đầu, thiết lập mạng không dây không thành công và tôi không thể tự hỏi liệu cài đặt có còn lại /etc/resolv.conf ở trạng thái ban đầu này không.

Vì vậy, một đề nghị là xem xét những gì đã giải quyết được tạo ra; bạn có thể có một cơ sở làm việc rồi

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.