LINUX.ORG.RU

systemd/resolved.conf для шифрования DNS. Получится ли?

 


0

1

Читал что надо этот файл отредактировать:

/etc/systemd/resolved.conf

И добавить

DNS=1.1.1.1 FallbackDNS=1.0.0.1 DNSOverTLS=yes

Боюсь сам пробовать, так как моя основная машина. Если что, останусь на долго без интернета.

надо этот файл

нет не этот - resolvconf.conf редактировать надо, я туда такое прописал это что бы рекламу резало

name_servers=94.140.14.14
name_servers=94.140.15.15
anonymous
()
# Для начала запретим NetworkManager гадить в конфиги
$ sudo -e /etc/NetworkManager/conf.d/dns.conf
[main]
dns=none

# Перезапустим на всякий случай NetworkManager, он вроде настройки в реальном времени не подсасывает
$ sudo systemctl restart NetworkManager

# Пропишем кастомный DNS-сервер
# Лучше, конечно, гадить в какой /etc/resolve.conf.d/head
$ sudo -e /etc/systemd/resolved.conf


[Resolve]
DNS=1.1.1.1
FallbackDNS=1.0.0.1
DNSSEC=yes
DNSOverTLS=yes

# Запустим сервис
$ sudo systemctl enable --now systemd-resolved.service

# Проверим настройки
$ systemd-resolve --status
Global
           Protocols: +LLMNR +mDNS +DNSOverTLS DNSSEC=yes/supported
    resolv.conf mode: foreign
  Current DNS Server: 1.1.1.1
         DNS Servers: 1.1.1.1
Fallback DNS Servers: 1.0.0.1

Link 2 (enp4s0)
    Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6 mDNS/IPv4 mDNS/IPv6
         Protocols: +DefaultRoute +LLMNR +mDNS +DNSOverTLS DNSSEC=yes/supported
Current DNS Server: 192.168.0.1
       DNS Servers: 192.168.0.1
     Default Route: yes

Link 3 (docker0)
    Current Scopes: none
         Protocols: -DefaultRoute +LLMNR +mDNS +DNSOverTLS DNSSEC=yes/supported
     Default Route: no

# Проверим используется ли резолвер
# В выводе должен быть SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
$ dig example.com

; <<>> DiG 9.20.6 <<>> example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 52528
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;example.com.                   IN      A

;; ANSWER SECTION:
example.com.            15      IN      A       96.7.128.175
example.com.            15      IN      A       23.192.228.80
example.com.            15      IN      A       23.215.0.136
example.com.            15      IN      A       23.215.0.138
example.com.            15      IN      A       23.192.228.84
example.com.            15      IN      A       96.7.128.198

;; Query time: 152 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Mon Feb 24 12:01:24 MSK 2025
;; MSG SIZE  rcvd: 136
rtxtxtrx ★★
()
Последнее исправление: rtxtxtrx (всего исправлений: 2)
Ответ на: комментарий от Kolins

я выработал хорошую привычку

перед изменением чего-либо в /etc делать git commit и если что-то пойдет не так, делать git revert, это очень удобно, особенно когда для одной фичи нужно поменять N файлов в /etc, особенно если вы имеете дело с каким-нибудь legacy

gagarin0
()
Последнее исправление: gagarin0 (всего исправлений: 1)
Ответ на: комментарий от anonymous

почти что дублировать

это копейки, особенно если не делать git add -A

состояние одного файлика))

Обратите внимание на этот коммент systemd/resolved.conf для шифрования DNS. Получится ли? (комментарий) Здесь предлагается поправить два файла:

/etc/NetworkManager/conf.d/dns.conf
/etc/systemd/resolved.conf

чтобы откатить назад такие изменения, потребуется, либо git revert либо запоминать, какие файлы были изменены, и достать их бекапа

особенно хорошо возможные ошибки показывает git diff, дело иногда в банальной опечатке.

кстати, я так понимаю Вы недавно с линуксом дело имеете?

gagarin0
()
Ответ на: комментарий от rtxtxtrx

Еще файл забыл

cat /etc/resolv.conf
# Можно вынести в /etc/resolvconf/resolv.conf.d/head

# чтобы использовать неймсервера поочередно
#options rotate
#nameserver 192.168.0.1

# Google
#nameserver 8.8.8.8
#nameserver 8.8.4.4

# Clowdflare
#nameserver 1.1.1.1
#nameserver 1.0.0.1

# ADGuard
#nameserver 94.140.14.14
#nameserver 94.140.15.15

# DoT
# должно быть `DNSOverTLS=yes` и прописан `DNS=` в /etc/systemd/resolved.conf
nameserver 127.0.0.53
rtxtxtrx ★★
()
Ответ на: комментарий от Kolins

git тут оверкилл

Если следовать инструкциям от @rtxtxtrx то следует изменить три файла

/etc/resolv.conf
/etc/NetworkManager/conf.d/dns.conf
/etc/systemd/resolved.conf

Покажите пожалуйста две команды:

  1. как забекапить эти файлы,
  2. откатить изменения если что-то пойдет не так
gagarin0
()
Ответ на: комментарий от gagarin0

Например tar --zstd -cf /tmp/etc-backup.tar.zst /etc/resolv.conf /etc/NetworkManager/conf.d/dns.conf /etc/systemd/resolved.conf (ну и откатить распаковкой, соответственно). Хотя можно и ручками каждый скопировать с суффиксом .old.

CrX ★★★★★
()
Ответ на: комментарий от CrX

Да, примерно так оно и надо делать.

Если это делать часто, а когда экспериментируешь как автор поста, делаешь часто, то названия файлов в коммандах для backup/restore могут «утеряться», поэтому:

git diff
git commit
git revert ~HEAD

более лаконичный подход к ручным изменениям в директории /etc

gagarin0
()
Последнее исправление: gagarin0 (всего исправлений: 1)