Puncte:0

dnsmasq și NetworkManager DNS

drapel mp

Am o mică rețea de computere care pot fi mutate între site-uri.

Aceste computere sunt conectate la un comutator, iar unul dintre ele acționează ca server DHCP și server DNS prin dnsmasq pentru această rețea, să-l numim MAINPC.

DNS-ul este folosit doar pentru a oferi rezoluție de nume între aceste computere, iar dacă adăugați un alt computer la LAN, acesta va fi adăugat la DNS prin dnsmasq.

Restul numelor DNS trebuie să fie gestionate de serverul DNS secundar, aici vine problema mea.

Nu vreau să codific un server DNS secundar precum 8.8.8.8, pentru că uneori vei conecta toată această rețea într-o altă rețea, cu propriul server DNS. Vreau ca dnsmasq să ofere ca DNS secundar DNS-ul furnizat de NetworkManager.

Ceea ce am făcut este setat dns=implicit într-un fișier conf în /etc/NetworkManager/conf.d/. Acest lucru face ca NetworkManager să scrie DNS-ul mandatat DHCP în /etc/resolv.conf, care este citit de dnsmasq. Acest lucru rezolvă majoritatea problemelor.

PC-urile care folosesc MAINPC ca server DNS funcționează bine, își direcționează interogările către MAINPC, care răspunde din domeniul local dacă este posibil și, dacă nu, redirecționează către DNS-ul mandatat de NetworkManager.

Dar MAINPC în sine folosește doar DNS-ul mandatat de NetworkManager și nu poate rezolva celelalte PC-uri din rețea. Pe scurt, nu folosește propriul server DNS ca principal.

Cum se poate realiza acest lucru? Practic, am nevoie doar ca /etc/resolv.conf meu să arate așa:

# Generat de NetworkManager
caută domeniul_intern alt_domeniu
serverul de nume MAINPC_IP
serverul de nume IP_MANDATED_BY_NETWORK_MANAGER

Momentan am reușit să-l am ca, forțând serverul MAINPC DNS într-un /etc/netplan/ fişier:

# Generat de NetworkManager
caută domeniul_intern alt_domeniu
serverul de nume IP_MANDATED_BY_NETWORK_MANAGER
serverul de nume MAINPC_IP
David avatar
drapel cn
Aveți 2 servere DNS, întrebarea nu este clară.
drapel mp
Mica rețea portabilă de computere are un dns. Imaginați-vă ca pe bucățile unei mașini autonome. Au un dns intern pentru a se găsi unul pe celălalt. Puteți conecta rețeaua mașinii la o altă rețea prin wifi și, în acest caz, numele de domenii non-locale ar trebui redirecționate către dn-urile furnizate de wifi.
Puncte:0
drapel mp

Cred ca am reusit sa o rezolv.

NetworkManager va scrie informațiile DNS pe care le primește în /run/NetworkManager/resolv.conf în plus față de /etc/resolv.conf

Mai întâi dezactiv scrierea în /etc/resolv.conf prin:

$ cat /etc/NetworkManager/conf.d/disable-resolv-conf.conf
[principal]
# Nu scrieți /etc/resolv.conf, ci va scrie /run/NetworkManager/resolv.conf
dns=niciunul

Înlocuiesc /etc/resolv.conf cu un fișier care conține un IP localhost pentru a utiliza dnsmasq ca server DNS.

$ cat /etc/resolv.conf 
caută my-private.lan
serverul de nume 127.0.0.53

În cele din urmă, dau instrucțiuni dnsmasq să citească /run/NetworkManager/resolv.conf în loc de /etc/resolv.conf.

cat /etc/dnsmasq.d/networkmanager-dns.conf
# NetworkManager va scrie aici DNS-ul obținut din rețelele la care se conectează
# Le vom folosi ca DNS secundar
rezolv-file=/run/NetworkManager/resolv.conf

Și în mașina mea a trebuit să schimb permisiunile /run/NetworkManager director, deoarece implicit nu ar permite altor utilizatori să-l citească.

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.