Puncte:0

De ce două sisteme Ubuntu din aceeași rețea se comportă diferit în rezoluția DNS?

drapel pl

EDITARE (tl;dr)

Se pare că am identificat o parte a problemei Aici, ca cel putin diferentele in /etc/resolv.conf și fișierele aferente au dispărut.

Dar încă nu mă pot conecta prin WiFi, așa că probabil că alte diferențe persistă.

Vreau să-i identific pe acestea și să acționez după ele.


Am ales intenționat același titlu ca acest OP. Am două sisteme Ubuntu, server1 și server2, foarte asemănătoare din toate punctele de vedere. Ambele sunt conectate la același router, prin WiFi. Am lucrat prin compararea celor două sisteme pentru a ajuta la urmărirea problemei.

În server2, tocmai am început să am probleme cu rezoluția numelor DNS. Am fost conectat la un VPN și serverul a fost repornit, așa că cred acest PostScriptum poate descrie cazul. server2 nu a avut rezolvconf și l-am instalat ca rezultat. În acel moment /etc/resolv.conf a început să arate spre /run/resolvconf/resolv.conf (notați mai jos data modificării), în loc de /run/systemd/resolve/stub-resolv.conf. Pentru a face asta, a trebuit adăugați manual serverul de nume 8.8.8.8 în partea de sus în /etc/resolv.conf, conectați o conexiune la internet prin cablu și am putut imediat actualizare sudo apt, etc. Notă: De acum, problema cu permisiunile de fișiere menționate în linkul de mai sus nu este prezentă. Dacă apare data viitoare când mă conectez/deconectez de la un VPN, mă voi ocupa de el.

Enumerez mai jos: 1) ce este diferit în server1 și server2, 2) ce este la fel în ambele (cu orice înlocuirea numelui serverului), și 3) ceea ce este aproape la fel (cu diferențe irelevante, după înțelesul meu).

De ce DIFERENTA #3 de mai jos? (server de nume ::1).
Cum se remediază server2, dacă este posibil, lăsându-l cu aceeași configurație ca server1? as putea incerca modificând /etc/resolvconf/resolv.conf.d/tail în server2, dar din moment ce acel fișier este gol în server1 această acțiune ar masca eventual alte probleme, chiar dacă reușește.

Bănuiesc că dacă aș putea soluționa doar DIFERENȚELE #1-4 de mai jos, asta va rezolva problema. Dar toate cele 4 fișiere sunt citate ca fiind create dinamic. Nu am putut găsi cine este/a fost responsabil pentru „crearea” diferențelor și cum să remediez asta.

Diferit

săpa:

[server1]$ dig google.com

; <<>> DiG 9.16.1-Ubuntu <<>> google.com
;; opțiuni globale: +cmd
;; Am raspuns:
;; ->>HEADER<<- opcode: QUERY, stare: NOERROR, id: 64202
;; steaguri: qr rd ra; ÎNTREBARE: 1, RĂSPUNS: 1, AUTORITATE: 0, SUPLIMENTARE: 1

;; PSEUDOSECȚIE OPT:
; EDNS: versiunea: 0, steaguri:; udp: 65494
;; SECȚIUNEA DE ÎNTREBĂRI:
;google.com. ÎN A

;; SECȚIUNEA RĂSPUNSURI:
google.com. 94 IN A 216.58.202.46

;; Timp de interogare: 36 ms
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; CÂND: acum 10 03:44:51 -03 2021
;; MSG SIZE rcvd: 55

vs.

[server2]$ dig google.com

; <<>> DiG 9.16.1-Ubuntu <<>> google.com
;; opțiuni globale: +cmd
;; conexiunea a expirat; niciun server nu a putut fi atins

/etc/resolv.conf și fișiere aferente:

[server1]$ cat /etc/resolv.conf 
# Fișier dinamic resolv.conf(5) pentru soluția glibc(3) generat de resolvconf(8)
# NU EDITAȚI ACEST FIȘIER CU MÂNĂ -- MODIFICĂRILE DVS. VOR FI SUPRASSCRISE
# 127.0.0.53 este soluția stub rezolvată de sistem.
# rulați „systemd-resolve --status” pentru a vedea detalii despre serverele de nume reale.

serverul de nume 127.0.0.53
cauta fibertel.com.ar <--- DIFERENTA #1

[server1]$ cat /run/systemd/resolve/stub-resolv.conf
# Acest fișier este gestionat de man:systemd-resolved(8). Nu edita.
#
# 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.
#
# Programele terță parte nu trebuie să acceseze acest fișier direct, ci doar prin intermediul
# link 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
cauta fibertel.com.ar <--- DIFERENTA #2

[server1]$ cat /run/systemd/resolve/resolv.conf
# Acest fișier este gestionat de man:systemd-resolved(8). Nu edita.
#
# 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.
#
# Programele terță parte nu trebuie să acceseze acest fișier direct, ci doar prin intermediul
# link 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.

server de nume 192.168.0.1 <--- DIFERENTA #3
cauta fibertel.com.ar <--- DIFERENTA #3

[server1]$ cat /run/resolvconf/resolv.conf
# Fișier dinamic resolv.conf(5) pentru soluția glibc(3) generat de resolvconf(8)
# NU EDITAȚI ACEST FIȘIER CU MÂNĂ -- MODIFICĂRILE DVS. VOR FI SUPRASSCRISE
# 127.0.0.53 este soluția stub rezolvată de sistem.
# rulați „systemd-resolve --status” pentru a vedea detalii despre serverele de nume reale.

serverul de nume 127.0.0.53
cauta fibertel.com.ar <--- DIFERENTA #4

[server1]$ ll /etc/resolv.conf 
lrwxrwxrwx 1 root root 29 feb 1 2021 /etc/resolv.conf -> ../run/resolvconf/resolv.conf
[server1]$ ll /run/resolvconf/resolv.conf
-rw-r--r-- 1 rădăcină rădăcină 327 în urmă 9 20:59 /run/resolvconf/resolv.conf

vs.

[server2]$ cat /etc/resolv.conf 
# Fișier dinamic resolv.conf(5) pentru soluția glibc(3) generat de resolvconf(8)
# NU EDITAȚI ACEST FIȘIER CU MÂNĂ -- MODIFICĂRILE DVS. VOR FI SUPRASSCRISE
# 127.0.0.53 este soluția stub rezolvată de sistem.
# rulați „systemd-resolve --status” pentru a vedea detalii despre serverele de nume reale.

serverul de nume 127.0.0.53

[server2]$ cat /run/systemd/resolve/stub-resolv.conf 
# Acest fișier este gestionat de man:systemd-resolved(8). Nu edita.
#
# 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.
#
# Programele terță parte nu trebuie să acceseze acest fișier direct, ci doar prin intermediul
# link 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

[server2]$ cat /run/systemd/resolve/resolv.conf
# Acest fișier este gestionat de man:systemd-resolved(8). Nu edita.
#
# 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.
#
# Programele terță parte nu trebuie să acceseze acest fișier direct, ci doar prin intermediul
# link 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.

server de nume ::1 <--- DIFERENTA #3

[server2]$ cat /run/resolvconf/resolv.conf
# Fișier dinamic resolv.conf(5) pentru soluția glibc(3) generat de resolvconf(8)
# NU EDITAȚI ACEST FIȘIER CU MÂNĂ -- MODIFICĂRILE DVS. VOR FI SUPRASSCRISE
# 127.0.0.53 este soluția stub rezolvată de sistem.
# rulați „systemd-resolve --status” pentru a vedea detalii despre serverele de nume reale.

serverul de nume 127.0.0.53

[server2]$ ll /etc/resolv.conf
lrwxrwxrwx 1 root root 29 acum 9 22:38 /etc/resolv.conf -> ../run/resolvconf/resolv.conf
[server2]$ ll /run/resolvconf/resolv.conf
-rw-r--r-- 1 rădăcină rădăcină 304 acum 10 03:13 /run/resolvconf/resolv.conf

La fel

[orice]$ uname -a
Linux <serverN> 5.11.0-25-generic #27~20.04.1-Ubuntu SMP Mar 13 iulie 17:41:23 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

[oricare]$ dpkg -l | grep rezolvconf
ii rezolvconf 1.82 toate serverele de gestionare a informațiilor de nume

[orice]$ cat /etc/netplan/01-network-manager-all.yaml 
# Lăsați NetworkManager să gestioneze toate dispozitivele de pe acest sistem
reţea:
  versiunea: 2
  redator: NetworkManager

[orice]$ cat /etc/NetworkManager/NetworkManager.conf
[principal]
plugins=ifupdown,keyfile

[ifupdown]
gestionat=fals

[dispozitiv]
wifi.scan-rand-mac-address=nu

[orice]$ cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 <serverN>

# Următoarele linii sunt de dorit pentru gazdele capabile IPv6
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

[orice]$ cat /etc/nsswitch.conf
...
[orice]$ cat /etc/systemd/networkd.conf 
...
[orice]$ ss -plnt | grep ':53'
ASCULTATE 0 4096 127.0.0.53%lo:53 0.0.0.0:* 
[orice]$ sudo systemctl status resolvconf.service
...
[oricare]$ /lib/systemd/network/
...

Aproape la fel

[server1]$ lsb_release -a
Versiune LSB: core-11.1.0ubuntu2-noarch:security-11.1.0ubuntu2-noarch
ID distribuitor: Ubuntu
Descriere: Ubuntu 20.04.2 LTS
Lansare: 20.04
Nume de cod: focal

[server2]$ lsb_release -a
Versiune LSB: core-11.1.0ubuntu2-noarch:printing-11.1.0ubuntu2-noarch:security-11.1.0ubuntu2-noarch
ID distribuitor: Ubuntu
Descriere: Ubuntu 20.04.2 LTS
Lansare: 20.04
Nume de cod: focal

Legate de:

  1. DNS setat la systemd's 127.0.0.53 - cum se schimbă permanent?
guiverc avatar
drapel cn
Spectacolul este foarte diferit în ceea ce privește nivelul *patch-ului* (unul spune încă 20.04.1, ceea ce înseamnă că nu a primit patch-uri de înainte de 4-feb-2021 cel puțin (https://fridge.ubuntu.com/2021/02/05/ubuntu- 20-04-2-lts-released/ deși acea dată este data de lansare ISO, sistemele instalate au fost actualizate la 20.04.2 înainte de acea dată) * Având în vedere această diferență (6 luni), fără îndoială, există o mulțime de diferențe între ele ignori*...
sancho.s ReinstateMonicaCellio avatar
drapel pl
@guiverc - Sunt de acord că poate reprezenta diferențe semnificative (*per total*) și pot încerca să actualizez. Dar crezi că are vreo legătură cu cele două întrebări (îngroșate)?
guiverc avatar
drapel cn
Prezintă sisteme foarte diferite; fie unul a fost ignorat timp de șase luni și nu a fost actualizat (deci actualizarea ar remedia diferențele) sau, mai probabil - a fost modificat astfel încât să împiedice instalarea upgrade-urilor și este potențial și cauza diferenței și a ceea ce te uiti dupa.
sancho.s ReinstateMonicaCellio avatar
drapel pl
@guiverc - Am făcut upgrade-ul, dar problema persistă. Vă rugăm să vedeți OP editat.
Puncte:1
drapel cn

Fișierul /etc/resolv.conf este destinat să fie o legătură simbolică către /run/systemd/resolve/stub-resolv.conf Verificați:

ls -al /etc/resolv.conf

Daca nu este, corecteaza-l:

sudo rm /etc/resolv.conf
sudo ln -s /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf

Fișierul netplan yaml indică faptul că rulați Network Manager. Acesta este locul pentru a face modificările la serverele de nume DNS.

introduceți descrierea imaginii aici

sancho.s ReinstateMonicaCellio avatar
drapel pl
După cum se spune în OP, tocmai am instalat `resolvconf`.„În acel moment `/etc/resolv.conf` a început să indice spre `/run/resolvconf/resolv.conf` ..., în loc de `/run/systemd/resolve/stub-resolv.conf`." Deci da, îl am ca un soft link, dar acum diferit de ceea ce ai postat. În ceea ce privește schimbarea manuală a serverelor de nume DNS în *Meniu* -> *Setări* -> *Wi-Fi* -> ..., de ce ar trebui să fac asta într-un sistem (`server2`) și nu în celălalt ( `server1`)? O sa incerc oricum.
sancho.s ReinstateMonicaCellio avatar
drapel pl
Confirm că setarea manuală a valorilor așa cum arătați face ca WiFi să funcționeze. Dar de ce ar fi nevoie de asta? Cum pot evita asta? Ar trebui să fie posibil, cred că... `server1` funcționează așa. Și `server2` a funcționat și așa până ieri.
chili555 avatar
drapel cn
Netplan yaml spune, așa cum ar trebui atunci când Network Manager este instalat și rulează, să predea totul către NM. Prin urmare, acolo setăm configurația DNS. Dacă nu este ceea ce doriți, eliminați complet NM și modificați-vă netplan yaml în consecință. Dacă asta doriți, vă rugăm să începeți o nouă întrebare. Mă întreb de ce este instalat NM pe un server. Dacă am dat un răspuns util la întrebarea dvs., vă rugăm să-l acceptați: https://askubuntu.com/tour
sancho.s ReinstateMonicaCellio avatar
drapel pl
Deci, vrei să spui că *singurul* loc pentru a seta configurația DNS atunci când NM este responsabil este configurația fiecărei conexiuni WiFi? (ați putea indica ce fișier/fișier stocează modificările introduse prin GUI?) După cum s-a spus, pe de o parte, asta a funcționat pentru „server2”. OTOH, nu pare să fie „locul” pentru a gestiona configurația DNS. În `server1`, asta pare să fie setat în altă parte, deoarece conexiunea mea WiFi are configurație automată, care este cel mai ușor de gestionat și ceea ce vreau mai mult să am. Deci răspunsul *este* util (+1)... Aș aștepta să primesc eventual răspunsuri/informații suplimentare care să clarifice punctul.
chili555 avatar
drapel cn
În configurația automată, sau mai corect, DHCP, punctul de acces, de obicei un router wireless, oferă toate detaliile necesare; Adresă IP, gateway și servere de nume DNS. Aflați care cu: `systemd-resolve --status | grep 'Servere DNS' -A2` Într-o configurație manuală, adică doriți să specificați fie adresa IP, serverele de nume DNS sau ambele, detaliile vor fi înregistrate în: `sudo cat /etc/NetworkManager/system-connections/MYROUTER .nmconnection` unde MYROUTER este numele punctului de acces la care sunteți conectat. Iată un fragment din fișierul meu: `dns=8.8.8.8;8.8.4.4;`

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.