Puncte:1

Setarea setărilor globale DNS + adrese MAC pe o distribuție Linux bazată pe Debian cu rezoluție systemd + NetworkManager

drapel in

Rulez o distribuție Linux bazată pe Debian, în special Pop!_OS 22.04 (Ubuntu jammy). Aș dori să setez setări personalizate de adrese DNS + MAC la nivel global - adică să fie aplicate tuturor conexiunilor de rețea automat, noi și preexistente.

Mai exact, aș dori să schimb următoarele setări:

  • Activați DNSSEC
  • Activați DNS-over-TLS
  • Schimbați-mi serverele DNS în AdGuard DNS
  • Activați randomizarea adreselor MAC

În prezent, am creat trei fișiere care ar trebui să face aceste modificări.

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

DNSSEC=allow-downgrade
DNSOverTLS=oportunistic

/etc/NetworkManager/dns.conf:

# specificați serverele dns
# ignorați furnizat de dhcp

[ipv4]
dns=94.140.14.14;94.140.15.15;
ignore-auto-dns=true

[ipv6]
dns=2a10:50c0::ad1:ff;2a10:50c0::ad2:ff;
ignore-auto-dns=true

/etc/NetworkManager/mac.conf:

[dispozitiv]
# ranomizați adresa mac atunci când scanați rețele wifi
wifi.scan-rand-mac-address=da

[conexiune]
# randomizează adresa mac la conexiunea inițială la rețea
# păstrează adresa mac generată pentru toate reconexiunile viitoare
# (per-rețea)
ethernet.cloned-mac-address=stabil
wifi.cloned-mac-address=stabil

După crearea acestor fișiere și repornirea, nu există nicio indicație că au fost făcute modificări în ceea ce privește conexiunea la rețea.

Pagina de testare a AdGuard arată că DNS-ul său este „Nu rulează”.

$ nmcli dev show wlp0s20f3 (card Wi-Fi):

GENERAL.DEVICE: wlp0s20f3
GENERAL.TIP: wifi
GENERAL.HWADDR: C6:F5:1A:8E:84:4D
GENERAL.MTU: 1500
STAT.GENERAL: 100 (conectat)
GENERAL.CONEXIUNE: NotYourWiFi
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveC>
IP4.ADRESA[1]: 192.168.0.153/24
IP4.GATEWAY: 192.168.0.1
IP4.RUTA[1]: dst = 192.168.0.0/24, nh = 0.0.0.0, mt >
IP4.RUTA[2]: dst = 169.254.0.0/16, nh = 0.0.0.0, mt >
IP4.RUTA[3]: dst = 0.0.0.0/0, nh = 192.168.0.1, mt =>
IP4.DNS[1]: 192.168.0.1
IP4.DOMAIN[1]: mbfamily.localdomain
IP6.ADRESA[1]: fe80::70e0:14db:aeb6:b6be/64
IP6.GATEWAY: --
IP6.RUTA[1]: dst = fe80::/64, nh = ::, mt = 1024

$ resolvectl stare:

Global
       Protocoale: -LLMNR -mDNS -DNSOverTLS DNSSEC=nu/neacceptat
modul rezoluție.conf: stub

Link 2 (enp0s31f6)
Domenii curente: niciuna
     Protocoale: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=nu/neacceptat

Link 3 (wlp0s20f3)
    Domenii curente: DNS
         Protocoale: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=nu/neacceptat
Server DNS curent: 192.168.0.1
       Servere DNS: 192.168.0.1
        Domeniu DNS: mbfamily.localdomain

/etc/resolv.conf:

# Acesta este /run/systemd/resolve/stub-resolv.conf gestionat de man:systemd-resolved(8).
# Nu edita.
#
# Acest fișier poate fi asociat ca /etc/resolv.conf. Dacă te uiți la
# /etc/resolv.conf și văzând acest text, ați urmat linkul simbolic.
#
# Acesta este un fișier dinamic resolv.conf pentru conectarea clienților locali la
# Resoluție internă DNS stub de systemd-rezolvat. Acest fișier listează toate
# domenii de căutare configurate.
#
# Rulați „resolvectl status” pentru a vedea detalii despre serverele DNS uplink
# în uz în prezent.
#
# De obicei, programele terțe nu ar trebui să acceseze acest fișier direct, ci numai
# prin link-ul simbolic la /etc/resolv.conf. Pentru a gestiona man:resolv.conf(5) într-un
# mod diferit, înlocuiți acest link simbolic cu un fișier static sau un alt link simbolic.
#
# Consultați man:systemd-resolved.service(8) pentru detalii despre modurile acceptate ale
# operație pentru /etc/resolv.conf.

serverul de nume 127.0.0.53
opțiuni edns0 trust-ad
caută mbfamily.localdomain

/run/systemd/resolve/resolv.conf:

# Acesta este /run/systemd/resolve/resolv.conf gestionat de man:systemd-resolved(8).
# Nu edita.
#
# Acest fișier poate fi asociat ca /etc/resolv.conf. Dacă te uiți la
# /etc/resolv.conf și văzând acest text, ați urmat linkul simbolic.
#
# Acesta este un fișier dinamic resolv.conf pentru conectarea directă a clienților locali
# toate serverele DNS uplink cunoscute. Acest fișier listează toate domeniile de căutare configurate.
#
# De obicei, programele terțe nu ar trebui să acceseze acest fișier direct, ci numai
# prin link-ul simbolic la /etc/resolv.conf. Pentru a gestiona man:resolv.conf(5) într-un
# mod diferit, înlocuiți acest link simbolic cu un fișier static sau un alt link simbolic.
#
# Consultați man:systemd-resolved.service(8) pentru detalii despre modurile acceptate ale
# operație pentru /etc/resolv.conf.

serverul de nume 192.168.0.1
caută mbfamily.localdomain

$ systemd-analyze cat-config systemd/resolved.conf arată că rezolvat.conf.d/dns.conf este fiind citite insa:

# /etc/systemd/resolved.conf
# Acest fișier face parte din systemd.
#
# systemd este software gratuit; îl puteți redistribui și/sau modifica sub
# de termeni ai Licenței Publice Generale Inferioare GNU publicate de Free
# Software Foundation; fie versiunea 2.1 a licenței, fie (la alegerea dvs.)
# orice versiune ulterioară.
#
# Intrările din acest fișier arată valorile implicite ale timpului de compilare. Configurație locală
# ar trebui creat fie prin modificarea acestui fișier, fie prin crearea „drop-in-urilor” în
# subdirectorul resolved.conf.d/. Acesta din urmă este în general recomandat.
# Valorile implicite pot fi restaurate prin simpla ștergere a acestui fișier și a tuturor drop-in-urilor.
#
# Utilizați „systemd-analyze cat-config systemd/resolved.conf” pentru a afișa co>
#
# Consultați resolved.conf(5) pentru detalii.

[Rezolva]
# Câteva exemple de servere DNS care pot fi utilizate pentru DNS= și 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=
#FallbackDNS=
#Domenii=
#DNSSEC=nu
#DNSOverTLS=nu
#MulticastDNS=nu
#LLMNR=nu
#Cache=nu-negativ
#CacheFromLocalhost=nu
#DNSStubListener=da
#DNSStubListenerExtra=
#ReadEtcHosts=da
#ResolveUnicastSingleLabel=nu

# /etc/systemd/resolved.conf.d/dns.conf
DNSSEC=allow-downgrade
DNSOverTLS=oportunistic
paladin avatar
drapel id
ResolveD acordă prioritate setărilor DNS din interfețe, atunci când nu sunt dezactivate explicit. Ce zici să configurați DNS-ul global prin „resolved.conf” în loc să utilizați NetworkManager.
unilock avatar
drapel in
@paladin Setările `DNSSEC` și `DNSOverTLS`, în timp ce au fost citite de `systemd` (așa cum este raportat de `systemd-analyze`), aparent nu au fost aplicate corect, așa cum sunt raportate de `resolvectl` și `nmcli dev show`. Deci nu cred că editarea configurațiilor lui `resolved` ar ajuta aici. Indiferent, nu cred că `systemd-resolved` permite randomizarea MAC.
paladin avatar
drapel id
Ce legătură are un resolver cu randomizarea MAC?
unilock avatar
drapel in
@paladin Vreau să activez randomizarea MAC, așa cum am spus în postarea mea originală. Se pare că nu poți face asta cu `systemd-resolved`. Așa că folosirea aia singură nu ar funcționa.
paladin avatar
drapel id
Tocmai am observat că `wlp0s20f3` dvs. folosește LLMNR, probabil pentru că NetworkManager este configurat greșit. Voi repeta cealaltă întrebare, ce are de-a face un resolver cu randomizarea MAC? Bănuiesc, nimic. PS Eu folosesc systemd-networkd pentru configurarea rețelei.
unilock avatar
drapel in
Configurația lui @paladin NetworkManager a fost neatinsă în afară de modificările pe care le-am menționat deja, deși este posibil ca configurația implicită a lui Pop!_OS să fie defectuoasă. În ceea ce privește întrebarea dvs., presupun că un resolver nu are nimic de-a face cu randomizarea MAC. Nu sunt sigur de ce întrebi asta.
Puncte:0
drapel id

Aceasta este configurația mea rezolvată de sistem pentru DNSSEC și funcționează.

/etc/systemd/resolved.conf

DNS=9.9.9.9#dns9.quad9.net 2620:fe::fe#dns9.quad9.net 2620:fe::9#dns9.quad9.net
FallbackDNS=149.112.112.112#rpz-public-resolver1.rrdns.pch.net
Domenii=home.arpa
DNSSEC=da
DNSoverTLS=da
MulticastDNS=nu
LLMNR=nu
Cache=da
DNSStubListener=da
ReadEtcHosts=da
ResolveUnicastSingleLabel=nu

este deosebit de important ca următoarele opțiuni să fie dezactivate, astfel:

MulticastDNS=nu
LLMNR=nu

Pentru ca acest lucru să funcționeze, trebuie să utilizați stub-resolver de la systemd-resolved sau systemd-socket.

cd /etc/ && ln -sf /run/systemd/resolve/stub-resolv.conf resolv.conf

unilock avatar
drapel in
`MulticastDNS` și `LLMNR` sunt implicit `nu`, cel puțin pe sistemul meu. De asemenea, `/etc/resolv.conf` este deja legat de `run/systemd/resolve/stub-resolv.conf`, așa cum se vede în postarea mea originală.În orice caz, utilizarea valorilor exacte pe care le-ați furnizat pentru `DNS` și `FallbackDNS` nu a schimbat nimic.
unilock avatar
drapel in
OK, se pare că `LLMNR` *nu* este implicit `nu`; Am presupus că valorile comentate în `/etc/systemd/resolved.conf` sunt valorile implicite. Deși nu sunt sigur unde este schimbat în `da`, în ceea ce privește un fișier de conf.
paladin avatar
drapel id
@unilock Valorile implicite sunt compilate în program/biblioteci. Ar trebui să citiți codul sursă pentru o dublă verificare. Debian original setează de obicei valorile LLMNR și MulticastDNS la `yes`.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.