J'ai la configuration suivante: CISCO 881, IOS 15.2 (4) M6. Sur l'interface WAN est configuré le sous-réseau 86.34.156.48/29 de notre FAI. Derrière le routeur se trouve 2 serveurs Web. NAT: 86.34.156.51 <> 10.10.10.100 (IP privée, serveur1). Si je configure les enregistrements du serveur DNS BIND A avec l'IP externe du serveur (86.34.156.51), le monde extérieur n'obtient jamais la réponse de mon serveur DNS (je ne sais pas ce qui se passe là-bas, peut-être que le routeur fait du raclage DNS ou quelque chose similaire (c'est une question)), et il est sûr que le serveur DNS est configuré et fonctionne correctement (j'ai capturé les paquets IP avec TCPdump). Mais si je configure les enregistrements du serveur DNS A avec l'IP privée du serveur (10.10.10.100), les paquets arrivent toujours à la bonne destination (avec l'IP externe du serveur, peut-être aussi le raclage DNS).
Que pouvais-je faire???
+-----+
| | an other host somewhere on internet(C)
| |
+-----+
|
|
:
: internet
:
|
+-----+
| | ISP's router
| | black box, without acces
+-----+
|
| 86.34.456.48/29
+-----+
| | CISCO 881,
| | IOS 15.2(4)M6
+-----+
|
|
------------------------------------------------------------ local private network 10.10.10.0/24
| |
| (86.34.156.51) | (Nat rule not yet attached)
| 10.10.10.100 | 10.10.10.101
| |
+-----+ +-----+
| | | |
| | | |
+-----+ +-----+
linux server (A) linux server (B)
BIND DNS server
style2take.ro
Voici quelques dig (outil de diagnostic DNS sous Linux):
De l'hôte B: $ dig style2take.ro
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42222
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;style2take.ro. IN A
;; ANSWER SECTION:
style2take.ro. 0 IN A 10.10.10.100 <-- here you can see the TTL is 0
;; Query time: 52 msec
;; SERVER: 193.231.100.130#53(193.231.100.130)
;; WHEN: Fri Feb 20 10:27:25 EET 2015
;; MSG SIZE rcvd: 58
De l'hôte B: $ dig @ 10.10.10.100 style2take.ro
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 65374
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;style2take.ro. IN A
;; ANSWER SECTION:
style2take.ro. 3600 IN A 10.10.10.100 <-- here you can see the TTL is 3600
;; AUTHORITY SECTION:
style2take.ro. 3600 IN NS ns1.style2take.ro.
style2take.ro. 3600 IN NS ns2.style2take.ro.
;; ADDITIONAL SECTION:
ns1.style2take.ro. 3600 IN A 10.10.10.100
ns2.style2take.ro. 3600 IN A 10.10.10.100
;; Query time: 0 msec
;; SERVER: 10.10.10.100#53(10.10.10.100)
;; WHEN: Fri Feb 20 10:28:58 EET 2015
;; MSG SIZE rcvd: 126
De l'hôte C: $ dig style2take.ro
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32364
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 6, ADDITIONAL: 0
;; QUESTION SECTION:
;style2take.ro. IN A
;; ANSWER SECTION:
style2take.ro. 0 IN A 86.34.156.51 <-- here you can see the TTL is 0
;; AUTHORITY SECTION:
ro. 106161 IN NS sns-pb.isc.org.
ro. 106161 IN NS primary.rotld.ro.
ro. 106161 IN NS sec-dns-a.rotld.ro.
ro. 106161 IN NS sec-dns-b.rotld.ro.
ro. 106161 IN NS dns-at.rotld.ro.
ro. 106161 IN NS dns-ro.denic.de.
;; Query time: 149 msec
;; SERVER: 82.79.24.74#53(82.79.24.74)
;; WHEN: Fri Feb 20 10:29:52 2015
;; MSG SIZE rcvd: 201
De l'hôte C: $ dig @ 86.34.156.51 style2take.ro
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48385
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;style2take.ro. IN A
;; ANSWER SECTION:
style2take.ro. 0 IN A 86.34.156.51 <-- here you can see the TTL is 0
;; AUTHORITY SECTION:
style2take.ro. 0 IN NS ns2.style2take.ro.
style2take.ro. 0 IN NS ns1.style2take.ro.
;; ADDITIONAL SECTION:
ns1.style2take.ro. 0 IN A 86.34.156.51
ns2.style2take.ro. 0 IN A 86.34.156.51
;; Query time: 29 msec
;; SERVER: 86.34.156.51#53(86.34.156.51)
;; WHEN: Fri Feb 20 10:35:05 2015
;; MSG SIZE rcvd: 115
la source
Réponses:
Eh bien, si vous ne résolvez pas DNS, le problème peut être double:
Mauvaise configuration DNS - le système DNS mondial est-il capable de dire quel est le NS pour votre domaine? C'est quelque chose que vous devez définir chez votre fournisseur de noms. Qu'est-ce que la
dig style2take.ro NS
sortie?Votre routeur n'accepte pas les requêtes DNS. Montez sur un serveur à l'extérieur et essayez de telnet au port 53 de votre DNS
telnet 86.34.156.51
- DNS devrait fonctionner à la fois sur UDP et TCP, cela teste au moins la partie TCP.la source
Vous n'avez pas besoin d'avoir l'IP externe dans la configuration de vos paramètres DNS (nommés). Vous pouvez utiliser celui interne (10.10.10.100) partout et le NAT du routeur à 86.34.156.51 (
ip nat inside source static 10.10.10.100 86.34.156.51
). Si vous voulez configurer un DNS secondaire, la même chose s'applique pour cela: utilisez 10.10.10.101 (comme NS2) NAT'ed à autre chose (comme 86.34.156.51). Assurez-vous également que les ports DNS sont réellement transférés dans le routeur et non bloqués par le pare-feu sur le serveur Linux. Utilisez un vérificateur de port basé sur le Web pour vous assurer que l'UDP 53 est ouvert.la source