Puncte:0

Serverul DNS Bind recursiv funcționează în cloud, dar nu în VM

drapel ph

Folosesc ansible pentru a afișa un server identic în cloud, precum și într-o VM (Virtualbox) pe stația mea de lucru. Instanța folosește un server Bind DNS recursiv non-public pentru a stoca interogări și funcționează grozav atunci când este în cloud, dar nu va rezolva nimic când sunt în VM și mă zgâriesc de ce. Iată numit.conf...

# Bind9

Opțiuni {
    portul de ascultare 53 { 127.0.0.1; 10,1/16; 10,2/16; 10,3/16; };
    portul listen-on-v6 53 { ::1; };
    directorul „/var/named”;
    dump-file "/var/named/data/cache_dump.db";
    fișierul-statistici „/var/named/data/named_stats.txt”;
    memstatistics-file "/var/named/data/named_mem_stats.txt";
    secroots-file "/var/named/data/named.secroots";
    fișier recurs "/var/named/data/named.recursing";
    allow-query { validat; };
    auth-nxdomain nr;
    recursivitate da;

    dimensiunea maximă a memoriei cache 16m;
    curatare-interval 60;
    max-cache-ttl 3600;
    max-ncache-ttl 3600;

    versiunea "";
    querylog nr;
    dnssec-activare da;
    validare dnssec da;
    directorul-chei-gestionate „/var/named/dynamic”;
    pid-file „/run/named/named.pid”;
    session-keyfile „/run/named/session.key”;
    includ „/etc/crypto-policies/back-ends/bind.config”;
};

acl validat {
    10.1.0.0/24;
    10.2.0.0/24;
    gazdă locală;
    rețele locale;
};

controale {};

Logare {
    canal default_syslog {
        daemon syslog;
        avertizare de severitate;
    };
    categorie implicită { default_syslog; };
    categorie nepotrivită { null; };
};

zona "." ÎN {
    tip indiciu;
    fișierul „named.ca”;
};

includ „/etc/named.rfc1912.zones”;
includ „/etc/named.root.key”;

IP-ul mașinii este în intervalul 192.168, iar cele 10... intervale din fișierul conf sunt legate de un VPN care rulează pe mașină. The rezolvare.conf fișierul indică 127.0.0.1. În rest, totul este destul de simplu.

Alergare sapa pe google.com rezultă într-o SERVFAIL dupa cum vezi aici...

; <<>> DiG 9.11.26-RedHat-9.11.26-6.el8 <<>> google.com
;; opțiuni globale: +cmd
;; Am răspuns:
;; ->>HEADER<<- opcode: QUERY, stare: SERVFAIL, id: 59078
;; steaguri: qr rd ra; ÎNTREBARE: 1, RĂSPUNS: 0, AUTORITATE: 0, SUPLIMENTARE: 1

;; PSEUDOSECȚIE OPT:
; EDNS: versiunea: 0, steaguri:; udp: 1232
; COOKIE: 84042dfe2a471323626805ee61d1e76c742ad5196cf79d37 (bine)
;; SECȚIUNEA DE ÎNTREBĂRI:
;google.com. ÎN A

;; Timp de interogare: 832 ms
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; CÂND: Duminica 02 ian 12:57:00 EST 2022
;; MSG SIZE rcvd: 67

Bănuiesc că acest lucru este legat de Virtualbox, deoarece aceeași configurație funcționează în cloud. Vbox interceptează cumva solicitările DNS și nu oferă răspunsul corect? Totuși, folosesc rețeaua Bridge, așa că am înțeles că TOT traficul este direcționat către rețea ca și cum aceasta ar fi o instanță de sine stătătoare, nu este cazul?

Nu sunt sigur dacă indică altceva decât când alerg statusul systemctl numit pe mașina cloud totul arată bine, dar când îl rulez pe VM văd erori...

... managed-keys-zone: Nu există ancore de încredere valide pentru „.”!
... managed-keys-zone: 0 cheie(e) revocată, 1 încă în așteptare
... managed-keys-zone: Toate interogările către „.” va eșua

Nu sunt sigur de unde să încep să pun diagnosticul, apreciez orice ajutor pe care îl puteți oferi!

Patrick Mevzek avatar
drapel cn
Poate serverul să facă interogări DNS publice de ieșire, adică traficul de ieșire UDP/53 ȘI TCP/53 permis oriunde?
drapel ph
@PatrickMevzek Da, firewall-ul este nerestricționat pentru ieșire, atât pe VM, cât și în rețea. Funcționează perfect în instanța cloud, doar pe VM-ul local nu funcționează.
Puncte:0
drapel ph

Deci, după mai multe investigații, se pare că BIND/named va încerca mai întâi IPv6 dacă este configurat să facă acest lucru și apoi eșuează complet dacă nu este accesibil, mai degrabă decât să încerce IPv4.

În cazul meu, VM-ul de pe stația de lucru nu are conectivitate IPv6 pur și simplu pentru că ISP-ul meu actual nu acceptă încă IPv6... da, în 2022, ugh. Deci, făcând următoarele, ar trebui să puteți obține rezoluția DNS din nou online.

În /etc/sysconfig/named, adăuga...

OPTIONS="-4"

În /etc/named.conf, adăuga...

filter-aaaa-on-v4 da;

... și comentați următoarele dacă există

// listen-on-v6 portul 53 { ::1; };

În cele din urmă, reporniți numit cu systemctl restart numit. Acest lucru a funcționat pentru mine, sper să vă ajute. Noroc!

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.