Puncte:0

Cum să faci comanda localnetpriority/netmask să funcționeze pe serverul DNS Windows atunci când interogează singur?

drapel ng

Utilizăm servere DNS Windows 2016+. Ne bazăm pe LocalNetPriority pe serverele noastre DNS. Avem mai multe servere DNS Active Directory pe mai multe site-uri. Comportamentul așteptat este că atunci când o anumită interogare este făcută către serverul DNS, aceasta va returna o adresă IP care se află în aceeași subrețea ca și interogarea originată, dacă există mai multe înregistrări A pentru aceeași gazdă. Acest lucru funcționează bine în majoritatea cazurilor.

Cu toate acestea, pentru cererile care provin de la serverul DNS în sine, nu funcționează. În primul rând, serverul DNS (sau Active Directory), în mod implicit, își configurează interfața de rețea pentru a se utiliza ca server DNS la alegere prin localhost (127.0.0.1 și ::1). Acest lucru face ca selecția LocalNetPriority să eșueze, deoarece adresa IP de origine nu se află într-una dintre subrețelele noastre.

În al doilea rând, serverul preferă IPv6 decât IPv4. Nu folosim IPv6, dar nici nu dorim să-l dezactivăm, deoarece a cauzat în mod clar probleme în trecut în diferite scenarii, iar Microsoft susține că este obligatoriu și nu acceptă sau recomandă dezactivarea acestuia. Utilizarea IPv6 este exclusă.

În cele din urmă, acest lucru trebuie să funcționeze atunci când există întreruperi în rețea. Această cerință specifică necesită ca localnetpriority să funcționeze corect atunci când locația satelitului este separată de restul rețelei. Prin urmare, utilizarea soluțiilor DNS de la egal la egal ca server primar nu îndeplinește numai această cerință.

Se pare că setările IPv4 sunt prioritare față de IPv6, iar configurarea adresei IP reale a serverului ca server DNS ales poate fi singura soluție. Cu toate acestea, am învățat cu mult timp în urmă că utilizarea 127.0.0.1 este cea mai bună alegere, deoarece în timpul unei reporniri sau dacă un cablu de rețea este deconectat, directorul activ se poate destrama complet.

Ce îmi lipsește? Există o modalitate mai directă de a rezolva această problemă? Poate ar trebui să adaug o intrare de fișier HOSTS pentru gazda specifică cu care avem probleme.

joeqwerty avatar
drapel cv
127.0.0.1 nu trebuie utilizat ca server DNS principal. Utilizați adresa IP reală a serverului pentru DNS primar și utilizați 127.0.0.1 pentru DNS secundar. - https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/dd378900(v=ws.10)?redirectedfrom=MSDN
joeqwerty avatar
drapel cv
Ar fi trebuit să precizez în comentariul meu anterior că, dacă aveți mai multe servere DNS, fiecare ar trebui să se refere la un server DNS „partener” pentru DNS primar, un alt partener sau ei înșiși pentru DNS secundar și 127.0.0.1 ca DNS terțiar.
Puncte:1
drapel cn

Pentru soluția unui server DNS, configurați mai întâi adresa IP a unui server DNS diferit, adresa IP a acestui server DNS a doua, iar IP localhost al treilea.

Chiar și atunci când serviciul DNS repornește, se poate rezolva de la serverul de la distanță. De asemenea, atunci când utilizați AD DS, este mai puțin probabil ca o gazdă diferită să cauzeze probleme de replicare.

În al doilea rând, serverul preferă IPv6 decât IPv4. Nu folosim IPv6 dar De asemenea, nu vreau să-l dezactivați, deoarece a cauzat în mod clar probleme în trecut în diferite scenarii, iar Microsoft pretinde că este obligatoriu și nu acceptă și nu recomandă dezactivarea acestuia.

Da, preferarea IPv6 este un comportament standard, iar Microsoft nu testează dezactivarea IPv6. Dacă nu utilizați IPv6, nu atribuiți adrese IPv6 gazdelor. Inclusiv, asigurați-vă că routerele nu trimit IPv6 RA-uri. Dacă există doar înregistrări A pentru un nume și nu AAAA, gazdele rezolvă și folosesc IPv4, nu este necesară o altă configurare.

Appleoddity avatar
drapel ng
Bine. Aceasta este o postare utilă. Ceea ce poate nu am fost suficient de clar în OP-ul meu (editat acum) este că acest lucru trebuie să funcționeze atunci când serverele DNS „peer” nu sunt disponibile. Această cerință specifică este că am nevoie de localnetpriority pentru a funcționa atunci când există o întrerupere a rețelei care separă acest site de celelalte. Înseamnă că acesta este singurul server DNS disponibil acum. Deci, problema la care trebuie să se răspundă este de fapt în jurul modului de a rezolva problema localnetpriority atunci când serverul DNS interogează singur.
Appleoddity avatar
drapel ng
În ceea ce privește IPv6 și utilizarea localhost în general. Valoarea implicită pentru IPv6 este că este atribuită automat. Nu facem nimic cu IPv6. Iar serverul DNS „localhost” este configurat atât pe interfața IPv4, cât și pe interfața IPv6, nu de mine, ci de directorul activ atunci când serverul a fost promovat la un controler de domeniu. De asemenea, cred că a făcut ca localhost să fie primar și a făcut ca serverele DNS existente să fie secundare și terțiare. Totul pare a fi contrar celor mai bune practici ale MS.
Puncte:0
drapel ng

Pentru a rezolva această problemă, a trebuit să iau în considerare câteva lucruri:

  • Adresarea locală a legăturii IPv6 este activată, indiferent dacă folosim sau nu IPv6. Deci, fiecare server/gazdă va avea o adresă IPv6 și va folosi IPv6 dacă poate.
  • Promovarea unui server la un controler de domeniu cu DNS adaugă „localhost” ca server DNS pe interfața de rețea locală atât pentru IPv4, cât și pentru IPv6. Aceasta este cea mai bună practică MS.
  • Nu putem dezactiva IPv6, deoarece acesta nu este acceptat de Microsoft.
  • Windows preferă IPv6 față de IPv4, așa că orice server DNS IPv6 configurat va avea prioritate.
  • Într-un mediu multi-DC, serverele ar trebui să se refere la un peer ca DNS primar și la ei înșiși în secundar, terțiar etc.
  • Am nevoie de localnetpriority pentru a funcționa chiar și atunci când alte servere/site-uri DNS nu sunt disponibile.
  • Când un server DNS Windows interogează singur, dacă folosește „localhost” pentru a face acest lucru, va rupe localnetpriority.
  • Analizorul MS Best Practice oferă informații utile despre problemele de configurare a serverului DNS și se va plânge de setările DNS configurate incorect pe interfața de rețea.

După toate acestea, am găsit că cea mai bună soluție este să schimb setările serverului DNS pe interfața de rețea și să nu faci alte modificări la nimic în Windows. Pentru a aborda toate preocupările de mai sus:

  • S-a eliminat serverul DNS „localhost” configurat în IPv6. Nu există servere DNS IPv6 configurate acum.
  • Am reconfigurat lista serverului IPv4 DNS după cum urmează:
    1. Primar: <Peer DNS Server IP>
    1. Secundar: <IPv4 address of this DNS server>
    1. Terţiar: 127.0.0.1 (Gazdă locală)

Orice reclamații legate de BPA au fost rezolvate. Localnetpriority funcționează atunci când rețeaua este complet funcțională și când site-ul este întrerupt din cauza unei defecțiuni a rețelei. Și, AD va funcționa în continuare normal, chiar dacă cablul de rețea locală este deconectat sau apare o altă problemă de interfață de rețea.

Rezultatul final răspunde la întrebarea „Cum să faci localnetpriority să funcționeze atunci când serverul DNS interogează singur?„Cu o cerință secundară să nu mai rup nimic.

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.