Puncte:1

Bind9 permite zone numai ca parte a rezoluției recursive

drapel kr

În mediul meu cloud, am un server bind9 care funcționează ca un proxy pentru toate interogările DNS de ieșire generate în mediu. În prezent, încerc să configurez Bind să efectueze următoarea filtrare ca parte a fluxului de rezoluție a numelui -

  1. Permite rezoluția recursivă pentru unele zone (să zicem, aws.com și gcp.com)
  2. Nu permiteți interogări către alte zone, inclusiv cele care dețin CNAME pentru domeniile menționate anterior (de exemplu, dacă A.aws.com are un CNAME către custom.service.digitalocean.com, permiteți rezoluția recursivă, dar nu permiteți nicio solicitare a clientului *.service.digitalocean.com

Din câte am înțeles, modalitatea de a face acest lucru este prin utilizarea RPZ-urilor (permițând probabil o zonă cu numai recursive steag și refuzul tuturor celorlalte rezoluții în aceeași zonă). Cu toate acestea, nu am putut obține o configurație de lucru sau să găsesc mostre.

EDITAȚI | ×: Nu am reușit să fac RPZ-urile să funcționeze pe zonele redirecționate (se pare că funcționează doar pe zonele master/slave).

Vreo idee? Modalități alternative de a obține aceeași funcționalitate (fără RPZ) sunt la fel de acceptabile pentru mine...

Puncte:1
drapel za

Nu așa funcționează.

Recursiune este de obicei permisă pe a pe bază de vizionare, care, la rândul său, se potrivește anumitor clienți. Recursiune este un proces de rezoluție finală și completă a numelui DNS în adresa IP și este numit recursiunea deoarece același proces are loc pentru toate nivelurile care compun numele (de exemplu, foo.bar nume ar avea 3 pași pentru a rezolva numele: unul pentru TLD-ul final ., pe care l-am omis, unul pentru bar parte și una pentru foo parte).

Se pare că, de asemenea, confundați a rezolutor recursiv cu un NS autoritar. Acesta din urmă deservește anumite zone DNS și, pentru a funcționa corect, ar trebui să deservească aceste zone pentru toată lumea exterioară (să lăsăm cazul când faci ca NS-ul tău să mimeze unele zone pentru care nu are autoritate). Instanța serverului DNS poate cuprinde cu siguranță ambele entități, dar funcționalitatea lor diferă destul de mult. Deci, atunci când NS-ul dvs. găzduiește/servește anumite zone DNS, de fapt nu îi pasă dacă cererea primită este recursivă sau nu. Partea finală: când NS cu autoritate răspunde cu un CNAME-RR (înregistrarea resurselor) indicând o altă zonă pentru cineva, indicând că nu există A-RR pentru gazda solicitată, este sarcina solicitantului să o rezolve în continuare: atunci când faci ceva CNAME, de fapt nu ești obligat cu nimic referitor la înregistrările zonei țintă. De exemplu: foo.bar este un CNAME care indică fou.baar. Acum este sarcina de rezolvare a solicitantului să rezolve problema fou.baar pentru că este clientul în zona corespunzătoare, începând recuziunea de la bun început, și nu NS-ul tău.

Deci, în cele din urmă, ceea ce cereți este o logică ieșită din cutie pe care o va funcționa orice implementare cunoscută de server DNS: serviți numai zonele care au permisiunea de a fi interogate și faceți recursiunea numai pentru clienți (sau chei, de exemplu) cărora li se permite să solicite recursiunea.

drapel kr
Multumesc mult pentru raspuns! Nu sunt sigur că te-am înțeles.Serverul meu este un proxy (vezi acea actualizare pe care am postat-o) - vreau să acționeze ca un rezolutor recursiv pentru un set limitat de zone și să refuze toate celelalte solicitări, indiferent de proprietățile lor. Acest lucru ar putea fi realizat în legătură? din câte văd când permit recursiunea, clienții mei pot interoga toate domeniile care conțin CNAME care au fost descoperite ca parte a recursiunii...
drookie avatar
drapel za
S-ar putea, dar încă insist că probabil doriți să configurați un *resolver recursiv* pentru **un set limitat de clienți**, în timp ce, în același timp, acționați și ca un *NS autorizat* pentru întreaga lume care găzduiește **a set limitat de zone**. Asta e o diferență destul de mare. Dorința ta exactă este, de asemenea, realizabilă, dar aceasta ar fi o configurație ciudată și neobișnuită.
Puncte:0
drapel jo

Acest lucru este simplu de configurat, dar este posibil să aveți nevoie de un alt server sau să utilizați pur și simplu un solutor public. Voi folosi un exemplu de rezoluție publică (cloudflare)

Mai întâi, configurați zonele de redirecționare pe serverul DNS

Ceva de genul acesta într-un format bind config

zona „somedomain.com” {
  tastați înainte;
  expeditori { 1.1.1.1; };
};
zona „notherdomain.org” {
  tastați înainte;
  expeditori { 1.1.1.1; };
};

În al doilea rând, blocați toate celelalte interogări DNS prin redirecționarea lor către o gaură neagră

Ceva de genul acesta în partea de sus a config

Opțiuni {
        directorul „/var/cache/bind”;    
        recursivitate da;    
        expeditori {
                192.168.255.254;
        };

Ce se întâmplă

  • Interogările pentru somedomain.com și anotherdomain.org vor fi redirecționate către Cloudflare și vor fi rezolvate complet în amonte (inclusiv ținte CNAME care pot fi alte domenii).

  • Interogările pentru orice alt domeniu vor fi redirecționate către un server sau IP care nu răspunde și nu se vor rezolva niciodată.

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.