2013-08-08 16 views
5

Problema: il mio SPF Record (TXT) non possono essere recuperate dalla voce DNS del dominio zwischengas.com
Nella mia voce DNS ho una riga per il record SPF (come l'ingresso TXT):record non può essere trovato

@ IN TXT "v=spf1 ip4:188.a.b.c ip4:xyz/22 
ip4:xyz/24 ip4:xyz/21 ip4:xyz/24 ip4:xyz/24" "ip4:xyz ip4:xyz/22 
ip4:xyz ip4:xyz/29 ip4:xyz/29 ip4:xyz/28" "ip4:xyz/24 ip4:xyz/24 a mx 
?all" 

Ho il problema, che questo record SPF non può essere trovato e non ho idea del perché. In base all'RFC, è consigliabile suddividere una riga molto lunga in più stringhe per mantenere tutte le sottostringhe più piccole di 255 caratteri.

Il mio dominio è zwischengas.com, l'IP del server di posta è 188.a.b.c, qualcuno un indizio?

ho provato questi test senza successo:

host -t txt zwischengas.com 
spfquery -ip-address 188.a.b.c -m [email protected] -h zwischengas.com 

Anche le prove con strumenti online sono senza successo:

Anche Google Mail (Gmail .com) non può recuperare il mio record SPF (secondo la sezione di intestazione della posta originale):

Received-SPF: neutral (google.com: 188.a.b.c is neither permitted 
nor denied by best guess record for domain of 
[email protected]) client-ip=188.a.b.c; 
+0

Quindi ogni stringa nel "1.2.3.4" "2.3.4.5" concatenato può essere 255 caratteri - qual è il limite massimo per record (ovvero "una stringa che è di gran lunga maggiore di quella consentita") – Kevin

+0

Non l'ho fatto t trovare un valore massimo generalmente valido. Quindi non volevo indovinare il massimo. – basZero

risposta

6

soluzione di lavoro

È possibile verificare la correttezza del tuo record SPF chiamando

host -t txt myhost.com 

Un semplice record SPF potrebbe essere simile a questo:

@ IN TXT "v=spf1 ip4:244.11.23.13 a mx ?all" 

Se si aggiungono gli IP uno dopo l'altro, si può finire nei messaggi di errore dal server DNS dicendo che la corda è troppo lunga.
Una soluzione valida a questo è introdurre " " in esso.

Così, invece di

@ IN TXT "v=spf1 ip4:244.11.23.13 ip4:144.21.23.13 ip4:222.11.11.13 ip4:244.182.23.191 ip4:203.101.22.13 a mx ?all" 

si avrebbe (un esempio):

@ IN TXT "v=spf1 ip4:244.11.23.13 ip4:144.21.23.13" " ip4:222.11.11.13 ip4:244.182.23.191" " ip4:203.101.22.13 a mx ?all" 

L'opzione " " è descritto nella RFC appropriata ed è accettato da tutti i server DNS (cosa succede in realtà è , lo " " viene rimosso e le sottostringhe vengono concatenate).

Ma cosa succede se si dispone di 20 IP? Finisci in una stringa che è molto più lunga di quanto consentito. Cosa sai fare?

La soluzione a questo si chiama: include

Un esempio:

@ IN TXT "v=spf1 include:_spf1.myhost.com include:_spf2.myhost.com a mx ?all" 
_spf1 IN TXT "v=spf1 ip4:244.11.23.13 ip4:144.21.23.13 a mx ?all" 
_spf2 IN TXT "v=spf1 ip4:222.11.11.13 ip4:244.182.23.191 ip4:203.101.22.13 a mx ?all" 

È possibile estendere che con N gerarchie. Spero che questo aiuti in quanto mi ci è voluto del tempo per scoprirlo !!

0

Quali sono quei multipli "?

@ IN TXT "v=spf1 ip4:188.a.b.c ip4:xyz/22 ip4:xyz/24 ip4:xyz/21 ip4:xyz/24 ip4:xyz/24" "ip4:xyz ip4:xyz/22 ip4:xyz ip4:xyz/29 ip4:xyz/29 ip4:xyz/28" "ip4:xyz/24 ip4:xyz/24 a mx ?all" 

Shouldnt che hanno solo un paio "", e quindi essere:

@ IN TXT "v=spf1 ip4:188.a.b.c ip4:xyz/22 ip4:xyz/24 ip4:xyz/21 ip4:xyz/24 ip4:xyz/24 ip4:xyz ip4:xyz/22 ip4:xyz ip4:xyz/29 ip4:xyz/29 ip4:xyz/28 ip4:xyz/24 ip4:xyz/24 a mx ?all" 
+0

Se provo a memorizzarlo senza il multiplo ", dice che la linea è troppo lunga – basZero

+0

mmmh la modifichi attraverso un pannello o qualcosa di simile? Imho stai attualmente" evitando "i limiti del pannello usando parentesi, ma schiacciando SPF standard moltiplicandoli In ogni caso, se abc e xyz devono essere intesi come costanti, è possibile modificare l'intera riga in: "v = spf1 ip4: 188.abc ip4: xyz/21 + a + mx? all" – user1293137

+0

'" "" viene ingigantito e le stringhe sono concatenate. L'ho trovato nella RFC, ma non ho più il collegamento. Ho trovato questo: http://www.zytrax.com/books/dns/ch8/txt .html – basZero