Страница 1 из 1
кэширующий systemd.DNS
Добавлено: 18 апр 2023, 14:27
Olej
Это про попытку раскрутки
кэширующий 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
кэширующий systemd.DNS
Добавлено: 18 апр 2023, 14:48
Olej
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
кэширующий systemd.DNS
Добавлено: 18 апр 2023, 15:05
Olej
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.
кэширующий systemd.DNS
Добавлено: 18 апр 2023, 15:21
Olej
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.
кэширующий systemd.DNS
Добавлено: 18 апр 2023, 15:25
Olej
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
Надо его от этого отучить!
кэширующий systemd.DNS
Добавлено: 18 апр 2023, 16:06
Olej
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
кэширующий systemd.DNS
Добавлено: 18 апр 2023, 16:22
Olej
Olej писал(а): ↑18 апр 2023, 16:06
После чего:
На этом можно бы и остановиться ... для большинства случаев.
Но мне нужно ещё обеспечить разрешение в доменах
децентрализованный альтернативный DNS через
OpenNIC DNS.
Это уже делалось здесь:
кэширующий DNS systemd.
Пока просто
повторю это и здесь.
кэширующий systemd.DNS
Добавлено: 18 апр 2023, 17:02
Olej
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
кэширующий systemd.DNS
Добавлено: 18 апр 2023, 17:07
Olej
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.
кэширующий systemd.DNS
Добавлено: 18 апр 2023, 17:26
Olej
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