Necesito verificar un registro PTR para asegurarme de que un script que tengo envíe correos electrónicos que realmente serán recibidos por mis usuarios y no se marcarán incorrectamente como spam.
Entiendo que el ISP propietario del rango de IP tiene que configurar el registro PTR, pero ¿cómo verifico si ya está configurado?
Respuesta1
Si usted tieneUnix o Linux, puedes hacerlo escribiendo esto en el símbolo del sistema:
dig -x xx.yy.zz.aa
Recibirá una respuesta con su autoridad de aa.zz.yy.xx.in-addr.arpa y el servidor resolviendo en esta dirección.
Enventanastu puedes hacer nslookup xx.yy.zz.aa
.
También puedes consultaren líneaenwww.intodns.come ingrese su dominio... Aparecerá un error en los resultados al verificar una búsqueda de zona inversa.
xx.yy.zz.aa = La dirección IP que estás intentando resolver
Actualizar:
Al utilizar dig, nslookup o host, suele resultar útil utilizar un servidor DNS fuera de su control, como Google (8.8.8.8), para obtener la confirmación de que todo está bien por parte de un tercero. –Zoredache
Zoredache hace un buen punto. Estos son los comandos para probar/resolver en servidores DNS externos/externos:
Dig (probando DNS inverso en el servidor DNS de Google de 8.8.8.8):
dig -x zz.yy.xx.aa @8.8.8.8
Host y Nslookup (probando DNS inverso en el servidor DNS de Google 8.8.8.8)
nslookup zz.yy.xx.aa 8.8.8.8
host zz.yy.xx.aa 8.8.8.8
Respuesta2
Sé que esto se ha marcado como respondido, pero quiero dar una respuesta más completa. Para mis ejemplos usaré:
- google.comla dirección IP de172.217.3.206porquehacetener un registro PTR.
- servidorfault.comla dirección IP de151.101.1.69porqueno estener un registro PTR.
Lo primero que hay que tener en cuenta dig
es un comando multiplataforma, puede obtenerlo para Windows en elSitio web de ISC BINDque aparece en BIND, luego seleccione su plataforma Windows (32 o 64 bits). Tiene muchas otras herramientas, incluido su propio binario nslookup. No uso esa versión de nslookup.exe, sino la predeterminada que viene con Windows (C:\Windows\System32\nslookup.exe). Sin embargo, si desea utilizarla, dig
es posible que desee editar la variable de entorno PATH local o mover la dig
herramienta a su carpeta C:\Windows\System32.
Comando 1) dig PTR 206.3.217.172.in-addr.arpa
: tradicionalmente, así es como un usuario realizaría una búsqueda DNS inversa. Transpondrían manualmente la dirección IP: 172.217.3.206
a 206.3.217.172
(observe el orden de cada uno de los cuatro octetos) y la agregarían in-addr.arpa
al final de la cadena. Aquí está el resultado:
; <<>> DiG 9.9.5 <<>> PTR 206.3.217.172.in-addr.arpa
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39790
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;206.3.217.172.in-addr.arpa. IN PTR
;; ANSWER SECTION:
206.3.217.172.in-addr.arpa. 84300 IN PTR sea15s12-in-f206.1e100.net.
206.3.217.172.in-addr.arpa. 84300 IN PTR sea15s12-in-f14.1e100.net.
206.3.217.172.in-addr.arpa. 84300 IN PTR sea15s12-in-f14.1e100.net.
206.3.217.172.in-addr.arpa. 84300 IN PTR sea15s12-in-f206.1e100.net.
;; Query time: 23 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Mar 26 04:20:28 Pacific Daylight Time 2017
;; MSG SIZE rcvd: 153
Comando 2) dig -x 172.217.3.206
: esta versión del comando es mucho más simple, como se describe en dig -h
, la -x
bandera es un "atajo para búsquedas inversas". La salida es idéntica a la salida que se muestra arriba en el comando anterior.
Comando 3) dig -x 151.101.1.69
: este ejemplo muestra cómo se ve cuando no se encuentra un registro PTR, usando el ejemplo de serverfault.com. Como puede ver, la respuesta no incluye un PTR y solo puede encontrar el registro SOA de 151.in-addr.arpa
:
; <<>> DiG 9.9.5 <<>> -x 151.101.1.69
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 21854
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;69.1.101.151.in-addr.arpa. IN PTR
;; AUTHORITY SECTION:
151.in-addr.arpa. 1786 IN SOA pri.authdns.ripe.net. dns.ripe.net. 1490512027 3600 600 864000 3600
;; Query time: 23 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Mar 26 04:30:38 Pacific Daylight Time 2017
;; MSG SIZE rcvd: 114
Comando 4) nslookup 172.217.3.174
: este es el comando sugerido por el usuario.l0c0b0xen la respuesta principal de este hilo. Si bien es cierto que hay un resultado, no está claro si se trata de un registro PTR o algún otro tipo de registro. Creo que, de forma predeterminada, devuelve un PTR si se le proporciona una IP, pero aún así quiero estar seguro. También omite otros registros si hay varios PTR:
Server: google-public-dns-a.google.com
Address: 8.8.8.8
Name: sea15s11-in-f14.1e100.net
Address: 172.217.3.174
Comando 5) nslookup -debug 172.217.3.174
: utilice este comando para ver la lista completa, incluido el tipo de registro y la lista completa de resultados. La -debug
bandera persiste, para desactivarla debes usar -nodebug
:
------------
Got answer:
HEADER:
opcode = QUERY, id = 1, rcode = NOERROR
header flags: response, want recursion, recursion avail.
questions = 1, answers = 1, authority records = 0, additional = 0
QUESTIONS:
8.8.8.8.in-addr.arpa, type = PTR, class = IN
ANSWERS:
-> 8.8.8.8.in-addr.arpa
name = google-public-dns-a.google.com
ttl = 86141 (23 hours 55 mins 41 secs)
------------
Server: google-public-dns-a.google.com
Address: 8.8.8.8
------------
Got answer:
HEADER:
opcode = QUERY, id = 2, rcode = NOERROR
header flags: response, want recursion, recursion avail.
questions = 1, answers = 4, authority records = 0, additional = 0
QUESTIONS:
174.3.217.172.in-addr.arpa, type = PTR, class = IN
ANSWERS:
-> 174.3.217.172.in-addr.arpa
name = sea15s11-in-f14.1e100.net
ttl = 83026 (23 hours 3 mins 46 secs)
-> 174.3.217.172.in-addr.arpa
name = sea15s11-in-f174.1e100.net
ttl = 83026 (23 hours 3 mins 46 secs)
-> 174.3.217.172.in-addr.arpa
name = sea15s11-in-f14.1e100.net
ttl = 83026 (23 hours 3 mins 46 secs)
-> 174.3.217.172.in-addr.arpa
name = sea15s11-in-f174.1e100.net
ttl = 83026 (23 hours 3 mins 46 secs)
------------
Name: sea15s11-in-f14.1e100.net
Address: 172.217.3.174
Comando 6) nslookup -type=PTR 172.217.3.174
: esta versión del comando especifica registros PTR con la -type
bandera. Se diferencia de la versión sin -type
bandera en dos aspectos. La primera es que enumera todas las respuestas del PTR. La segunda es que incluye la información "Respuesta no autorizada" que el otro comando no incluye. Si observa detenidamente la salida de depuración arriba, el authority records
estado es 0, por lo que ambos comandos deberían indicar "Respuesta no autorizada".
Server: google-public-dns-a.google.com
Address: 8.8.8.8
Non-authoritative answer:
174.3.217.172.in-addr.arpa name = sea15s11-in-f14.1e100.net
174.3.217.172.in-addr.arpa name = sea15s11-in-f14.1e100.net
174.3.217.172.in-addr.arpa name = sea15s11-in-f174.1e100.net
174.3.217.172.in-addr.arpa name = sea15s11-in-f174.1e100.net
Comando 7) nslookup -debug -d2 -type=PTR 151.101.1.69
: así es como obtendrá tantos detalles como sea posible sobre la solicitud de búsqueda inversa completa. Recordatorio: Para apagarlo use -nodebug
y -nod2
. Este ejemplo falla intencionalmente en el ejemplo de serverfault.com:
------------
SendRequest(), len 38
HEADER:
opcode = QUERY, id = 1, rcode = NOERROR
header flags: query, want recursion
questions = 1, answers = 0, authority records = 0, additional = 0
QUESTIONS:
8.8.8.8.in-addr.arpa, type = PTR, class = IN
------------
------------
Got answer (82 bytes):
HEADER:
opcode = QUERY, id = 1, rcode = NOERROR
header flags: response, want recursion, recursion avail.
questions = 1, answers = 1, authority records = 0, additional = 0
QUESTIONS:
8.8.8.8.in-addr.arpa, type = PTR, class = IN
ANSWERS:
-> 8.8.8.8.in-addr.arpa
type = PTR, class = IN, dlen = 32
name = google-public-dns-a.google.com
ttl = 86280 (23 hours 58 mins)
------------
Server: google-public-dns-a.google.com
Address: 8.8.8.8
------------
SendRequest(), len 43
HEADER:
opcode = QUERY, id = 2, rcode = NOERROR
header flags: query, want recursion
questions = 1, answers = 0, authority records = 0, additional = 0
QUESTIONS:
69.1.101.151.in-addr.arpa, type = PTR, class = IN
------------
------------
Got answer (103 bytes):
HEADER:
opcode = QUERY, id = 2, rcode = NXDOMAIN
header flags: response, want recursion, recursion avail.
questions = 1, answers = 0, authority records = 1, additional = 0
QUESTIONS:
69.1.101.151.in-addr.arpa, type = PTR, class = IN
AUTHORITY RECORDS:
-> 151.in-addr.arpa
type = SOA, class = IN, dlen = 48
ttl = 1787 (29 mins 47 secs)
primary name server = pri.authdns.ripe.net
responsible mail addr = dns.ripe.net
serial = 1490512027
refresh = 3600 (1 hour)
retry = 600 (10 mins)
expire = 864000 (10 days)
default TTL = 3600 (1 hour)
------------
*** google-public-dns-a.google.com can't find 69.1.101.151.in-addr.arpa.: Non-ex
istent domain
Comando 8) nslookup 174.3.217.172.in-addr.arpa
: Quizás se pregunte si puede utilizar el método tradicional de búsqueda inversa de DNS nslookup
como lo hicimos en el Comando 1 con dig
. Puede. Observe las mismas fallas de nslookup que enumeré anteriormente (Comando 6) entre este comando y el que tiene la -type=PTR
bandera configurada a continuación (Comando 9):
Server: google-public-dns-a.google.com
Address: 8.8.8.8
Name: 174.3.217.172.in-addr.arpa
Comando 9) nslookup -type=PTR 174.3.217.172.in-addr.arpa
: como es de esperar, parece idéntico al Comando 6.
Server: google-public-dns-a.google.com
Address: 8.8.8.8
Non-authoritative answer:
174.3.217.172.in-addr.arpa name = sea15s11-in-f14.1e100.net
174.3.217.172.in-addr.arpa name = sea15s11-in-f14.1e100.net
174.3.217.172.in-addr.arpa name = sea15s11-in-f174.1e100.net
174.3.217.172.in-addr.arpa name = sea15s11-in-f174.1e100.net
Respuesta3
Es lo mismo que realizar cualquier tipo de búsqueda de DNS.
Desde un símbolo del sistema de Windows:nslookup.exe <ip address>
Desde una línea de comando de Linux:host <ip address>
Nota: Probablemente sea mejor ejecutar estos comandos desde una computadora fuera de su red, de modo que acceda a un servidor DNS público. Alternativamente, tanto nslookup como host ofrecen formas de especificar el servidor DNS que se utilizará.
Respuesta4
Introducción:
(2) ejemplos, uno para IPv4 y otro para IPv6.
El procedimiento de búsqueda PTR de IPv6 me llevó mucho tiempo encontrar una respuesta a...
IPv4:
Usaremos la IP de Google para el ejemplo de IPv4:
host -t PTR 209.85.218.49
Devuelve el mapeo inverso:
49.218.85.209.in-addr.arpa domain name pointer mail-ej1-f49.google.com.
IPv6:
PASO 1: Obtenga la dirección IPv6 del host (normalmente un servidor de correo):
host -t AAAA mail.yourServer.net
Esto devuelve la dirección IPv6 que necesitamos para la búsqueda PTR en el siguiente paso:
mail.yourServer.net has IPv6 address 2001:340:1c1e:14::2
PASO 2:Ahora proporcione la dirección IPv6 al host
comando:
host -t PTR 2001:340:1c1e:14::2
Devuelve el registro PTR de IPv6:
2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.4.1.0.0.e.1.c.1.0.4.3.0.1.0.0.2.ip6.arpa domain name pointer mail.yourServer.net.
NOTA: la dirección IPv6 ha sido anonimizada.
Desde que Hurricane Electric me dio laBloque IPv6 GRATIS, configuro el DNS IPv6 inverso directamente en supanel de control DNSpara servidor de correo.
Generador de IPv6 inverso:
Obviamente, el registro PTR de IPv6 anterior es un poco loco y, siendo vago, simplemente usé un generador de IPv6 inverso para crearlo para mi servidor de correo. Hay otros, pero utilicé lo siguiente para derivar el valor correcto para el IPv6 inverso: