All nameservers failed to answer the query : Server Do53:127.0.0.53@53 answered SERVFAI

Bonjour !

J’essaye sur mon site web de récupérer l’entrée DS d'un domaine donné.

Cela fonctionne en local mais dès que je passe sur le VPS, j'ai l'erreur : All nameservers failed to answer the query : Server Do53:127.0.0.53@53 answered SERVFAIL

J’utilise Django pour utiliser ma fonction.

Dans mon fichier views.py, j’ai :

domain_name = request.GET.get("domain")
print(domain_name)
print(type(domain_name))
try:
result = validate_dnssec(domain_name)
ds = check_ds_record(domain_name)
return render(request, 'toolbox/dnssec.html', {'result': result, 'domain' : domain_name, 'ds': ds})
except TypeError:
return render(request, 'toolbox/dnssec.html')
except (dns.resolver.NXDOMAIN):
return render(request,'toolbox/dnssec.html', { 'domain_ko' : " n'existe pas ! ", "domain": domain_name})

Ma fonction "check_ds_record" dans mon try vient d'un fichier main.py :

try:
n = dns.name.from_text(domain_name)
answers = dns.resolver.resolve(n, rdtype=dns.rdatatype.DS)
return [rdata.to_text() for rdata in answers]

except (ValueError, TypeError, dns.resolver.NoAnswer, dns.resolver.LifetimeTimeout):
return None
except dns.resolver.NoNameservers as e:
return e

On m'a invité à utiliser bind9 mais je ne vois pas comment le configurer sur mon projet Django pour le coup..

Je ne comprends pas pourquoi ça ne passe pas via le VPS.

Une idée ?

Merci !


Do53:127.0.0.53@53

Bonjour,
127.0.0.53 ? C'est l'adresse de votre serveur, ça ?

Justement non ce n'est pas du tout l'adresse de mon serveur et je ne vois pas d'où ça sort :frowning:


On m'a invité à utiliser bind9


et vous avez quoi dans /etc/resolv.conf ?

> nameserver 127.0.0.53
> options edns0 trust-ad
> search openstacklocal

Je devrais remplacer cette IP par celle de mon VPS du coup ?


Je devrais remplacer cette IP par celle de mon VPS du coup ?


faites un peu les commandes suivantes:

ifconfig

ip a

netstat -lnp | grep :53

dig google.com @127.0.0.53

dig "votre domaine" @127.0.0.53 (en replaçant "votre domaine" par celui qui a renvoyé SERVFAIL)

Les commandes ifconfig et netstat n'ont pas l'air de passer.

root@toolbox:~# ifconfig
-bash: ifconfig: command not found

root@toolbox:~# ip a
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens3: mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether fa:16:3e:66:2e:16 brd ff:ff:ff:ff:ff:ff
inet 164.132.51.20/32 scope global dynamic ens3
valid_lft 51576sec preferred_lft 51576sec
inet6 2001:41d0:401:3100::4d01/56 scope global
valid_lft forever preferred_lft forever
inet6 fe80::f816:3eff:fe66:2e16/64 scope link
valid_lft forever preferred_lft forever

root@toolbox:~# netstat -lnp | grep :53
-bash: netstat: command not found

root@toolbox:~# dig google.com @127.0.0.53

; <<>> DiG 9.16.1-Ubuntu <<>> google.com @127.0.0.53
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5923
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;google.com. IN A

;; ANSWER SECTION:
google.com. 300 IN A 142.250.185.174

;; Query time: 8 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Mon Aug 21 08:43:06 UTC 2023
;; MSG SIZE rcvd: 55

root@toolbox:~# dig "owrion.fr" @127.0.0.53

; <<>> DiG 9.16.1-Ubuntu <<>> owrion.fr @127.0.0.53
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43518
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;owrion.fr. IN A

;; ANSWER SECTION:
owrion.fr. 3600 IN A 51.91.236.193

;; Query time: 252 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Mon Aug 21 08:43:23 UTC 2023
;; MSG SIZE rcvd: 54


owrion.fr. 3600 IN A 51.91.236.193

Et si vous faites la commande:

`dig owrion.fr DS`

c'est pareil que :

`dig owrion.fr DS @127.0.0.53`

et que

`dig owrion.fr DS @dns200.anycast.me`

?

dig owrion.fr DS @dns200.anycast.me


Je n'ai aucun résultat en passant par le VPS que ce soit via le VPS directement ou via l'environnement virtuel que j'ai installé dessus :

root@toolbox:~# dig owrion.fr DS

; <<>> DiG 9.16.1-Ubuntu <<>> owrion.fr DS
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 30172
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;owrion.fr. IN DS

;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Mon Aug 21 09:05:00 UTC 2023
;; MSG SIZE rcvd: 38

root@toolbox:~# dig owrion.fr DS @127.0.0.53

; <<>> DiG 9.16.1-Ubuntu <<>> owrion.fr DS @127.0.0.53
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 37670
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;owrion.fr. IN DS

;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Mon Aug 21 09:05:22 UTC 2023
;; MSG SIZE rcvd: 38

root@toolbox:~# dig owrion.fr DS @dns200.anycast.me

; <<>> DiG 9.16.1-Ubuntu <<>> owrion.fr DS @dns200.anycast.me
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6022
;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: 1c95605daf667e440100000064e328d82913d3dbcd62176e (good)
; OPT=15: 00 12 ("..")
;; QUESTION SECTION:
;owrion.fr. IN DS

;; AUTHORITY SECTION:
owrion.fr. 300 IN SOA dns200.anycast.me. tech.ovh.net. 2023080301 86400 3600 3600000 300

;; Query time: 4 msec
;; SERVER: 46.105.206.200#53(46.105.206.200)
;; WHEN: Mon Aug 21 09:05:28 UTC 2023
;; MSG SIZE rcvd: 137

DiG 9.16.1-Ubuntu


Votre resolver DNS local est cassé. J'ignore pourquoi. Le problème ne se trouve pas dans votre code python.

La commande suivante:

`dig owrion.fr DS @d.nic.fr`
ou bien
`dig owrion.fr DS @213.186.33.99`

renvoie certainement ' ANSWER: 1' puis
'11944 8 2 0CEF25D1E4C1714468F09E74EC8775935062C2AC3D081F29E34B5267 83949463'

La commande:
`dig owrion.fr DS @127.0.0.53`
devrait renvoyer la même chose, mais on a vu que ce n'est pas le cas.

Essayez un peu à tout hasard:
`dig owrion.fr DS @127.0.0.1`

En direct sur le VPS la commande ne fonctionne pas non plus :

> ; <<>> DiG 9.16.1-Ubuntu <<>> owrion.fr DS @127.0.0.1
> ;; global options: +cmd
> ;; connection timed out; no servers could be reached

Si le resolver est cassé, je peux peut être le déinstaller et le réinstaller ?


je peux peut être le déinstaller et le réinstaller ?


Je ne suis pas habitué avec Ubuntu, et en plus il semblerait que vous soyez dans une ancienne version Ubuntu 20.

Vous pourriez tenter en modifiant /etc/resolv.conf, et indiquer 213.186.33.99 au lieu de 127.0.0.53 pour utiliser le résolveur du datacentre OVH et non plus celui de votre VPS.

En effet avec l'IP 213.186.33.99 ça fonctionne !

Par contre si je reboot le VPS, l'IP repasse sur 127.0.0.53. Je ne peux pas sauvegarder définitivement se paramétrage ?

Voyez des forums Ubuntu.
Je ne sais pas si c'est Ubuntu ou cloud-init qui réinitialise ce fichier.

Je passe la main.

Super je vais voir ça !

Merci beaucoup en tout cas !