Я использую дистрибутив Linux на основе Debian, в частности Pop!_OS 22.04 (Ubuntu jammy). Я хотел бы установить пользовательские настройки DNS + MAC-адреса глобально, то есть автоматически применять ко всем сетевым подключениям, новым и ранее существовавшим.
В частности, я хотел бы изменить следующие настройки:
- Включить DNSSEC
- Включить DNS-over-TLS
- Измените мои DNS-серверы на AdGuard DNS
- Включить рандомизацию MAC-адресов
На данный момент я создал три файла, которые должен внести эти изменения.
/etc/systemd/resolved.conf.d/dns.conf
:
DNSSEC=разрешить переход на более раннюю версию
DNSOverTLS = оппортунистический
/etc/NetworkManager/dns.conf
:
# указываем dns серверы
# игнорировать предоставленный dhcp
[ipv4]
dns=94.140.14.14;94.140.15.15;
игнорировать-авто-DNS = истина
[ipv6]
dns=2a10:50c0::ad1:ff;2a10:50c0::ad2:ff;
игнорировать-авто-DNS = истина
/etc/NetworkManager/mac.conf
:
[устройство]
# рандомизировать mac-адрес при сканировании сетей Wi-Fi
wifi.scan-rand-mac-address = да
[связь]
# рандомизировать mac-адрес при первом сетевом подключении
# сохранить сгенерированный mac-адрес для всех будущих переподключений
# (для сети)
ethernet.cloned-mac-адрес = стабильный
wifi.cloned-mac-address = стабильный
После создания этих файлов и перезагрузки нет никаких признаков того, что были внесены какие-либо изменения, касающиеся сетевого подключения.
Тестовая страница AdGuard показывает, что его DNS «не работает».
$ nmcli dev показать wlp0s20f3
(карта Wi-Fi):
ОБЩИЕ УСТРОЙСТВА: wlp0s20f3
ОБЩИЙ ТИП: Wi-Fi
ОБЩИЙ.HWADDR: C6:F5:1A:8E:84:4D
ОБЩАЯ MTU: 1500
ОБЩЕЕ СОСТОЯНИЕ: 100 (подключено)
ОБЩЕЕ ПОДКЛЮЧЕНИЕ: NotYourWiFi
GENERAL.CON-ПУТЬ: /org/freedesktop/NetworkManager/ActiveC>
IP4.АДРЕС[1]: 192.168.0.153/24
IP4.ШЛЮЗ: 192.168.0.1
IP4.ROUTE[1]: dst = 192.168.0.0/24, nh = 0.0.0.0, mt >
IP4.ROUTE[2]: dst = 169.254.0.0/16, nh = 0.0.0.0, mt >
IP4.ROUTE[3]: dst = 0.0.0.0/0, nh = 192.168.0.1, mt =>
IP4.DNS[1]: 192.168.0.1
IP4.ДОМЕН[1]: mbfamily.localdomain
IP6.АДРЕС[1]: fe80::70e0:14db:aeb6:b6be/64
IP6.ШЛЮЗ: --
IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 1024
$ статус разрешения
:
Глобальный
Протоколы: -LLMNR -mDNS -DNSOverTLS DNSSEC=нет/не поддерживается
Режим resolv.conf: заглушка
Ссылка 2 (enp0s31f6)
Текущие области применения: нет
Протоколы: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=нет/не поддерживается
Ссылка 3 (wlp0s20f3)
Текущие области: DNS
Протоколы: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=нет/не поддерживается
Текущий DNS-сервер: 192.168.0.1
DNS-серверы: 192.168.0.1
Домен DNS: mbfamily.localdomain
/etc/resolv.conf
:
# Это файл /run/systemd/resolve/stub-resolv.conf, которым управляет man:systemd-resolved(8).
# Не редактировать.
#
# Этот файл может иметь символическую ссылку как /etc/resolv.conf. Если вы смотрите на
# /etc/resolv.conf и увидев этот текст, вы перешли по символической ссылке.
#
# Это динамический файл resolv.conf для подключения локальных клиентов к
# внутренний резолвер DNS-заглушек systemd-resolved. В этом файле перечислены все
# настроенные поисковые домены.
#
# Запустите «resolvectl status», чтобы увидеть подробности о DNS-серверах восходящей линии связи.
# В настоящее время используется.
#
# Сторонние программы обычно не должны обращаться к этому файлу напрямую, а только
# через символическую ссылку в /etc/resolv.conf. Для управления man:resolv.conf(5) в
# по-другому, замените эту символическую ссылку на статический файл или другую символическую ссылку.
#
# Подробную информацию о поддерживаемых режимах см. в man:systemd-resolved.service(8).
# операция для /etc/resolv.conf.
сервер имен 127.0.0.53
параметры edns0 траст-объявление
поиск mbfamily.localdomain
/run/systemd/разрешение/resolv.conf
:
# Это файл /run/systemd/resolve/resolv.conf, которым управляет man:systemd-resolved(8).
# Не редактировать.
#
# Этот файл может иметь символическую ссылку как /etc/resolv.conf. Если вы смотрите на
# /etc/resolv.conf и увидев этот текст, вы перешли по символической ссылке.
#
# Это динамический файл resolv.conf для прямого подключения локальных клиентов к
# все известные DNS-серверы восходящей линии связи. В этом файле перечислены все настроенные поисковые домены.
#
# Сторонние программы обычно не должны обращаться к этому файлу напрямую, а только
# через символическую ссылку в /etc/resolv.conf. Для управления man:resolv.conf(5) в
# по-другому, замените эту символическую ссылку на статический файл или другую символическую ссылку.
#
# Подробную информацию о поддерживаемых режимах см. в man:systemd-resolved.service(8).
# операция для /etc/resolv.conf.
сервер имен 192.168.0.1
поиск mbfamily.localdomain
$ systemd-analyze cat-config systemd/resolved.conf
показывает, что разрешенный.conf.d/dns.conf
является однако читается:
# /etc/systemd/resolved.conf
# Этот файл является частью systemd.
#
# systemd — бесплатное программное обеспечение; вы можете распространять его и/или модифицировать под
# условий Стандартной общественной лицензии ограниченного применения GNU, опубликованной Free
# Фонд программного обеспечения; либо версия 2.1 Лицензии, либо (на ваш выбор)
# любая более поздняя версия.
#
# Записи в этом файле показывают значения по умолчанию времени компиляции. Локальная конфигурация
# должен быть создан либо путем изменения этого файла, либо путем создания "вставок" в
# подкаталог resolve.conf.d/. Последнее обычно рекомендуется.
# Значения по умолчанию можно восстановить, просто удалив этот файл и все дополнения.
#
# Используйте 'systemd-analyze cat-config systemd/resolved.conf', чтобы отобразить полный co>
#
# Подробности смотрите в файле resolve.conf(5).
[Решать]
# Некоторые примеры DNS-серверов, которые можно использовать для DNS= и FallbackDNS=:
# Cloudflare: 1.1.1.1#cloudflare-dns.com 1.0.0.1#cloudflare-dns.com 2606:4700:4>
# Google: 8.8.8.8#dns.google 8.8.4.4#dns.google 2001:4860:4860::8888#dns.go>
# Quad9: 9.9.9.9#dns.quad9.net 149.112.112.112#dns.quad9.net 2620:fe::fe#d>
#DNS=
#ЗапаснойDNS=
#домены=
#DNSSEC=нет
#DNSOverTLS=нет
#MulticastDNS=нет
#LLMNR=нет
#Кэш=без отрицательных значений
#CacheFromLocalhost=нет
#DNSStubListener=да
#DNSStubListenerExtra=
#ReadEtcHosts=да
#ResolveUnicastSingleLabel=нет
# /etc/systemd/resolved.conf.d/dns.conf
DNSSEC=разрешить переход на более раннюю версию
DNSOverTLS = оппортунистический