кэширующий systemd.DNS

встраиваемые модели

Модераторы: Olej, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

кэширующий systemd.DNS

Непрочитанное сообщение Olej » 18 апр 2023, 14:27

Это про попытку раскрутки кэширующий DNS systemd, но уже на одноплатниках.
В ОС Raspbian:

Код: Выделить всё

olej@raspberrypi:~ $ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 11 (bullseye)
Release:        11
Codename:       bullseye

Код: Выделить всё

olej@raspberrypi:~ $ uname -a
Linux raspberrypi 6.1.21-v7+ #1642 SMP Mon Apr  3 17:20:52 BST 2023 armv7l GNU/Linux

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

кэширующий systemd.DNS

Непрочитанное сообщение Olej » 18 апр 2023, 14:48

Olej писал(а):
18 апр 2023, 14:27
В ОС Raspbian:
На сейчас (после нескольких лет эксплуатации и настроек более-менее традициооными для Raspbian OS инструментами) никакого локального разрешателя имён не работает:

Код: Выделить всё

olej@raspberrypi:~ $ nslookup linux-ru.ru 127.0.0.1
;; connection timed out; no servers could be reached

Код: Выделить всё

olej@raspberrypi:~ $ nslookup linux-ru.ru 127.0.0.53
;; connection timed out; no servers could be reached

Код: Выделить всё

olej@raspberrypi:~ $ resolvectl status
Failed to get global data: Unit dbus-org.freedesktop.resolve1.service not found.
Разрешение имён идёт через внешние DNS:

Код: Выделить всё

olej@raspberrypi:~ $ nslookup linux-ru.ru
Server:         1.1.1.1
Address:        1.1.1.1#53

Non-authoritative answer:
Name:   linux-ru.ru
Address: 90.156.230.27
Которые прописаны в /etc/resolv.conf :

Код: Выделить всё

olej@raspberrypi:~ $ cat /etc/resolv.conf
# Generated by resolvconf
nameserver 1.1.1.1
nameserver 8.8.8.8
Который обновляется какими-то механизмами Raspbian при каждой загрузке (судя по датам):

Код: Выделить всё

olej@raspberrypi:~ $ ls -l /etc/resolv.conf
-rw-r--r-- 1 root root 64 апр 15 12:55 /etc/resolv.conf

olej@raspberrypi:~ $ uptime
 14:45:30 up 15:45, 10 users,  load average: 0,02, 0,02, 0,01
Но сам кэширующий резолвел сервис systemd присутствует (как неотъемлемый механизм в составе systend, не требующий инсталляции), но не запущен:

Код: Выделить всё

olej@raspberrypi:~ $ systemctl status systemd-resolved.service --no-pager --full
● systemd-resolved.service - Network Name Resolution
     Loaded: loaded (/lib/systemd/system/systemd-resolved.service; disabled; vendor preset: enabled)
     Active: inactive (dead)
       Docs: man:systemd-resolved.service(8)
             man:org.freedesktop.resolve1(5)
             https://www.freedesktop.org/wiki/Software/systemd/writing-network-configuration-managers
             https://www.freedesktop.org/wiki/Software/systemd/writing-resolver-clients

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

кэширующий systemd.DNS

Непрочитанное сообщение Olej » 18 апр 2023, 15:05

Olej писал(а):
18 апр 2023, 14:48
Но сам кэширующий резолвел сервис systemd присутствует (как неотъемлемый механизм в составе systend, не требующий инсталляции), но не запущен:
Для того чтобы его стартовать нужно заполнить /etc/systemd/resolved.conf, который сейчас пустой (кроме строк комментариев):

Код: Выделить всё

olej@raspberrypi:~ $ grep -v ^# /etc/systemd/resolved.conf | grep -v ^$
[Resolve]
Заполняем:

Код: Выделить всё

olej@raspberrypi:~ $ grep -v ^# /etc/systemd/resolved.conf | grep -v ^$
[Resolve]
DNS=1.0.0.1 8.8.4.4 9.9.9.9
Старт:

Код: Выделить всё

root@raspberrypi:~# systemctl start systemd-resolved.service 

Код: Выделить всё

root@raspberrypi:~# systemctl status systemd-resolved.service --no-pager --full
● systemd-resolved.service - Network Name Resolution
     Loaded: loaded (/lib/systemd/system/systemd-resolved.service; disabled; vendor preset: enabled)
     Active: active (running) since Tue 2023-04-18 15:00:59 EEST; 2s ago
       Docs: man:systemd-resolved.service(8)
             man:org.freedesktop.resolve1(5)
             https://www.freedesktop.org/wiki/Software/systemd/writing-network-configuration-managers
             https://www.freedesktop.org/wiki/Software/systemd/writing-resolver-clients
   Main PID: 22564 (systemd-resolve)
     Status: "Processing requests..."
      Tasks: 1 (limit: 1595)
        CPU: 702ms
     CGroup: /system.slice/systemd-resolved.service
             └─22564 /lib/systemd/systemd-resolved

апр 18 15:00:58 raspberrypi systemd[1]: Starting Network Name Resolution...
апр 18 15:00:58 raspberrypi systemd-resolved[22564]: Positive Trust Anchors:
апр 18 15:00:58 raspberrypi systemd-resolved[22564]: . IN DS 20326 8 2 e06d44b80b8f1d39a95c0b0d7c65d08458e880409bbc683457104237c7f8ec8d
апр 18 15:00:58 raspberrypi systemd-resolved[22564]: Negative trust anchors: 10.in-addr.arpa 16.172.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 168.192.in-addr.arpa d.f.ip6.arpa corp home internal intranet lan local private test
апр 18 15:00:59 raspberrypi systemd-resolved[22564]: Using system hostname 'raspberrypi'.
апр 18 15:00:59 raspberrypi systemd[1]: Started Network Name Resolution.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

кэширующий systemd.DNS

Непрочитанное сообщение Olej » 18 апр 2023, 15:21

Olej писал(а):
18 апр 2023, 15:05
Старт:
Всё заработало:

Код: Выделить всё

olej@raspberrypi:~ $ resolvectl status
Global
         Protocols: +LLMNR +mDNS -DNSOverTLS DNSSEC=no/unsupported
  resolv.conf mode: foreign
Current DNS Server: 1.0.0.1
       DNS Servers: 1.0.0.1 8.8.4.4 9.9.9.9

Link 2 (eth0)
Current Scopes: LLMNR/IPv4 LLMNR/IPv6
     Protocols: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported

Link 3 (tun0)
Current Scopes: LLMNR/IPv6
     Protocols: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Разрешение имён (и IPv4 и IPv6):

Код: Выделить всё

olej@raspberrypi:~ $ nslookup linux-ru.ru 127.0.0.53
Server:		127.0.0.53
Address:	127.0.0.53#53

Non-authoritative answer:
Name:	linux-ru.ru
Address: 90.156.230.27

Код: Выделить всё

olej@raspberrypi:~ $ host linux-ru.ru 127.0.0.53
Using domain server:
Name: 127.0.0.53
Address: 127.0.0.53#53
Aliases: 

linux-ru.ru has address 90.156.230.27
linux-ru.ru mail is handled by 10 mx1.timeweb.ru.
linux-ru.ru mail is handled by 10 mx2.timeweb.ru.

Код: Выделить всё

olej@raspberrypi:~ $ host -6 ya.ru 127.0.0.53
Using domain server:
Name: 127.0.0.53
Address: ::ffff:127.0.0.53#53
Aliases: 

ya.ru has address 77.88.55.242
ya.ru has address 5.255.255.242
ya.ru has IPv6 address 2a02:6b8::2:242
ya.ru mail is handled by 10 mx.yandex.ru.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

кэширующий systemd.DNS

Непрочитанное сообщение Olej » 18 апр 2023, 15:25

Olej писал(а):
18 апр 2023, 15:21
Разрешение имён (и IPv4 и IPv6):
Но по дефаулту он лезет разрешать через /etc/resolv.conf :

Код: Выделить всё

olej@raspberrypi:~ $ nslookup linux-ru.ru
Server:		1.1.1.1
Address:	1.1.1.1#53

Non-authoritative answer:
Name:	linux-ru.ru
Address: 90.156.230.27

Код: Выделить всё

olej@raspberrypi:~ $ nslookup linux-ru.ru 127.0.0.53
Server:		127.0.0.53
Address:	127.0.0.53#53

Non-authoritative answer:
Name:	linux-ru.ru
Address: 90.156.230.27
Надо его от этого отучить! :oops:

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

кэширующий systemd.DNS

Непрочитанное сообщение Olej » 18 апр 2023, 16:06

Olej писал(а):
18 апр 2023, 15:25
Надо его от этого отучить!
Об этом много написано...

Код: Выделить всё

olej@R420:~$ man systemd-resolved.service
...
Простейший способ
Настройка DNS на Ubuntu Server 18.04 LTS
04.07.2020
Стало достаточно традиционным для Linux запускать небольшой локальный DNS-сервер, который ускоряет работу, кешируя ответы на повторяющиеся DNS-запросы. В этом случае в общесистемный /etc/resolv.conf помещается директива nameserver 127.0.0.1, а ip-адреса внешних DNS-серверов переносятся в настройки локального.

Код: Выделить всё

olej@raspberrypi:~ $ cat /etc/resolv.conf
# Generated by resolvconf
nameserver 127.0.0.53
nameserver 1.1.1.1
nameserver 8.8.8.8
После чего:

Код: Выделить всё

olej@raspberrypi:~ $ nslookup linux-ru.ru
Server:         127.0.0.53
Address:        127.0.0.53#53

Non-authoritative answer:
Name:   linux-ru.ru
Address: 90.156.230.27
И достаточно ли это для всех программ использующих DNS? и сохранится ли это после перезагрузки? Это нужно уточнять.

P.S. И ещё поменять старый порядок применения разрешений:

Код: Выделить всё

root@raspberrypi:/etc# grep "hosts" /etc/nsswitch.conf
hosts:          files mdns4_minimal [NOTFOUND=return] dns
Сделал так:

Код: Выделить всё

root@raspberrypi:/etc# grep "hosts" /etc/nsswitch.conf
hosts:          files resolve mdns4_minimal [NOTFOUND=return] dns

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

кэширующий systemd.DNS

Непрочитанное сообщение Olej » 18 апр 2023, 16:22

Olej писал(а):
18 апр 2023, 16:06
После чего:
На этом можно бы и остановиться ... для большинства случаев.
Но мне нужно ещё обеспечить разрешение в доменах децентрализованный альтернативный DNS через OpenNIC DNS.
Это уже делалось здесь: кэширующий DNS systemd.
Пока просто повторю это и здесь.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

кэширующий systemd.DNS

Непрочитанное сообщение Olej » 18 апр 2023, 17:02

Olej писал(а):
18 апр 2023, 16:22
Пока просто повторю это и здесь.
Комбинируя с 2-х запущенных конфигураций (текущий хост в LAN и удалённый сервер этого форума в Казахстане ... выбор рптимальных серверов OpenNIC зависит от локации!) получаю:

Код: Выделить всё

olej@raspberrypi:~ $ grep -v ^# /etc/systemd/resolved.conf | grep -v ^$
[Resolve]
DNS=94.16.114.254 94.247.43.254 51.254.162.59 194.36.144.87 
FallbackDNS=1.0.0.1 8.8.4.4 9.9.9.9
LLMNR=yes
DNSSEC=no

Перезапуск кэширующего сервера:

Код: Выделить всё

root@raspberrypi:/etc# systemctl restart systemd-resolved.service

Код: Выделить всё

root@raspberrypi:/etc# systemctl status systemd-resolved.service --no-pager --full
● systemd-resolved.service - Network Name Resolution
     Loaded: loaded (/lib/systemd/system/systemd-resolved.service; disabled; vendor preset: enabled)
     Active: active (running) since Tue 2023-04-18 16:54:10 EEST; 3s ago
       Docs: man:systemd-resolved.service(8)
             man:org.freedesktop.resolve1(5)
             https://www.freedesktop.org/wiki/Software/systemd/writing-network-configuration-managers
             https://www.freedesktop.org/wiki/Software/systemd/writing-resolver-clients
   Main PID: 4628 (systemd-resolve)
     Status: "Processing requests..."
      Tasks: 1 (limit: 1595)
        CPU: 703ms
     CGroup: /system.slice/systemd-resolved.service
             └─4628 /lib/systemd/systemd-resolved

апр 18 16:54:09 raspberrypi systemd[1]: Starting Network Name Resolution...
апр 18 16:54:09 raspberrypi systemd-resolved[4628]: Positive Trust Anchors:
апр 18 16:54:09 raspberrypi systemd-resolved[4628]: . IN DS 20326 8 2 e06d44b80b8f1d39a95c0b0d7c65d08458e880409bbc683457104237c7f8ec8d
апр 18 16:54:09 raspberrypi systemd-resolved[4628]: Negative trust anchors: 10.in-addr.arpa 16.172.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 168.192.in-addr.arpa d.f.ip6.arpa corp home internal intranet lan local private test
апр 18 16:54:10 raspberrypi systemd-resolved[4628]: Using system hostname 'raspberrypi'.
апр 18 16:54:10 raspberrypi systemd[1]: Started Network Name Resolution.

Код: Выделить всё

olej@raspberrypi:~/2023/systemd.DNS $ resolvectl status
Global
           Protocols: +LLMNR +mDNS -DNSOverTLS DNSSEC=no/unsupported
    resolv.conf mode: foreign
  Current DNS Server: 94.16.114.254
         DNS Servers: 94.16.114.254 94.247.43.254 51.254.162.59 194.36.144.87
Fallback DNS Servers: 1.0.0.1 8.8.4.4 9.9.9.9

Link 2 (eth0)
Current Scopes: LLMNR/IPv4 LLMNR/IPv6
     Protocols: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported

Link 3 (tun0)
Current Scopes: LLMNR/IPv6
     Protocols: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

кэширующий systemd.DNS

Непрочитанное сообщение Olej » 18 апр 2023, 17:07

Olej писал(а):
18 апр 2023, 17:02
Перезапуск кэширующего сервера:
Проверка:

Код: Выделить всё

olej@raspberrypi:~/2023/systemd.DNS $ nslookup linux-ru.ru
Server:		127.0.0.53
Address:	127.0.0.53#53

Non-authoritative answer:
Name:	linux-ru.ru
Address: 90.156.230.27

Код: Выделить всё

olej@raspberrypi:~/2023/systemd.DNS $ nslookup linux-ru.lib
Server:		127.0.0.53
Address:	127.0.0.53#53

Non-authoritative answer:
Name:	linux-ru.lib
Address: 90.156.230.27

Код: Выделить всё

olej@raspberrypi:~/2023/systemd.DNS $ nslookup ygg.linux-ru.lib
Server:		127.0.0.53
Address:	127.0.0.53#53

Non-authoritative answer:
Name:	ygg.linux-ru.lib
Address: 221:58c9:9a6:99be:f3d:c1ac:2b5b:9771
Это уже IPv6 адрес в сети Yggdrasil.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

кэширующий systemd.DNS

Непрочитанное сообщение Olej » 18 апр 2023, 17:26

Olej писал(а):
18 апр 2023, 17:07
Проверка:
И так:

Код: Выделить всё

olej@raspberrypi:~/2023/systemd.DNS $ ping -c3 linux-ru.lib
PING linux-ru.lib (90.156.230.27) 56(84) bytes of data.
64 bytes from 1168949-cu51160.tw1.ru (90.156.230.27): icmp_seq=1 ttl=54 time=117 ms
64 bytes from 1168949-cu51160.tw1.ru (90.156.230.27): icmp_seq=2 ttl=54 time=103 ms
64 bytes from 1168949-cu51160.tw1.ru (90.156.230.27): icmp_seq=3 ttl=54 time=104 ms

--- linux-ru.lib ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 103.409/108.307/117.468/6.482 ms

Код: Выделить всё

olej@raspberrypi:~/2023/systemd.DNS $ ping -c3 -6 ygg.linux-ru.lib
PING ygg.linux-ru.lib(221:58c9:9a6:99be:f3d:c1ac:2b5b:9771 (221:58c9:9a6:99be:f3d:c1ac:2b5b:9771)) 56 data bytes
64 bytes from 221:58c9:9a6:99be:f3d:c1ac:2b5b:9771 (221:58c9:9a6:99be:f3d:c1ac:2b5b:9771): icmp_seq=1 ttl=64 time=134 ms
64 bytes from 221:58c9:9a6:99be:f3d:c1ac:2b5b:9771 (221:58c9:9a6:99be:f3d:c1ac:2b5b:9771): icmp_seq=2 ttl=64 time=124 ms
64 bytes from 221:58c9:9a6:99be:f3d:c1ac:2b5b:9771: icmp_seq=3 ttl=64 time=122 ms

--- ygg.linux-ru.lib ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 10312ms
rtt min/avg/max/mdev = 122.161/126.571/134.018/5.295 ms

Ответить

Вернуться в «Одноплатные компьютеры»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость