Re: Postfix DNS lookup debug

2014-01-06 bef zés Salamon Attila

2013. december 10. dátummal Salamon Attila ezt írta:
 Szeretném debuggolni amikor a postfix névfeloldást csinál kimenő
 levél esetében egy bizonyos domain-re és eldönti melyik szerverhez
 csatlakozik a továbbküldés érdekében.
 Mit kell tennem ennek érdekében?


Konkrétabban az érdekelne, hogy mi alapján jut a Postfix arra a 
meggyőződésre, hogy neki a domain.com hosthoz kell kapcsolódnia, az 
alábbi logrészlet alapján:

send attr mta_type = dns
send attr mta_mname = domain.com


Ebből én azt szűröm le, hogy dns lekérdezést csinált. De mit kérdezett 
le? MX vagy A rekordot?
Tudja valaki, hogyan lehet ezt debugolni?


--
Sala
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf.linux.rulez.org/mailman/listinfo/linux


Re: Postfix DNS lookup debug

2014-01-06 bef zés Kosa Attila
On Mon, Jan 06, 2014 at 10:07:30AM +0100, Salamon Attila wrote:
 
 Ebből én azt szűröm le, hogy dns lekérdezést csinált. De mit kérdezett 
 le? MX vagy A rekordot?
 Tudja valaki, hogyan lehet ezt debugolni?

A dns szerveren is loggolhatod, hogy mit kerdez... De akar egy
tcpdump is megmutatja.

-- 
Udvozlettel
Zsiga
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf.linux.rulez.org/mailman/listinfo/linux


Re: Postfix DNS lookup debug

2014-01-06 bef zés Szládovics Péter

2014-01-06 10:07 keltezéssel, Salamon Attila írta:

2013. december 10. dátummal Salamon Attila ezt írta:

Szeretném debuggolni amikor a postfix névfeloldást csinál kimenő
levél esetében egy bizonyos domain-re és eldönti melyik szerverhez
csatlakozik a továbbküldés érdekében.
Mit kell tennem ennek érdekében?


Konkrétabban az érdekelne, hogy mi alapján jut a Postfix arra a
meggyőződésre, hogy neki a domain.com hosthoz kell kapcsolódnia, az
alábbi logrészlet alapján:

send attr mta_type = dns
send attr mta_mname = domain.com


Ebből én azt szűröm le, hogy dns lekérdezést csinált. De mit kérdezett
le? MX vagy A rekordot?
Tudja valaki, hogyan lehet ezt debugolni?


Mindkettőt?
Előbb az MX-et, de mivel abban hostname van, így annak az A rekordját is 
lekérdezte.
Doksit olvastál annak érdekében, hogy megtudd, melyik loglevel lesz a 
barátod?

_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf.linux.rulez.org/mailman/listinfo/linux


Re: Postfix DNS lookup debug

2014-01-06 bef zés Gábor Lénárt
Re,

On Tue, Dec 10, 2013 at 11:59:29AM +0100, Salamon Attila wrote:
 A helyzet az, hogy 99%-ban a domain MX rekordjában szereplő hostnak 
 küldi a levelet (helyesen), a maradék kevés esetben viszont az A 
 rekordban szereplő hostnak, ami visszautasítja Relay acces denied 
 üzenettel. Az A rekordban szereplő ip címen egyébként működik mail 
 szerver, csak nem ezt a domain-t szolgálja ki (ISP).

Nem lehet, hogy a DNS csuklik neha, es nem szolgalja ki az MX rekordot pl
NXDOMAIN-t adva az MX lookup-ra, ezert postfix - jogosan - azt gondolja
akkor, hogy nincs MX rekordja, igy RFC szerint helyesen megprobalja A rekord
alapjan?

 Parancssorból eddig mindig jó volt a névfeloldás az adott domain-hez.

Igazabol azt a pillanatot kene elcsipni, amikor postfix szerinted teved es
akkor tesztelni kezzel is a nevfeloldast. Esetleg pl masodpercenkent
csinalj egy MX lookup-ot es az eredmenyt tedd egy file-ba az idoponttal
egyutt, aztan vissza lehet keresni.

Btw, az nem lehetseges, hogy pl az /etc/resolv.conf-odban tobb nameserver is
van megadva, es abbol csak mondjuk az elso adja vissza jol az MX rekordot?
Igy ha az eppen pl nem elerheto, es a masodiknal probalna, ott nincs
szerencseje. Probald meg az /etc/resolv.conf alapjan az osszes ott megadott
nameservertol megkerdezni az MX es az A rekordot is, aztan hasonlitsd ossze.

Esetleg hasonlo fura dolog lehet, ha a kerdeses nameservernek forwarder van
beallitva, es ott tortenik vmi csuklas neha, vagy hasonlo. Ilyenekkel akkor
kuzdottem utoljara, amikor remek split-horizont DNS volt, es nem teljesen
ugyanaz volt a velemenyuk az egyes rekordokrol, es mindenfele load
balancer, forwarder, stb miatt total megjosolhatatlan lett, hogy eppen
ki/mit mondott, eleg fejfajas volt azt letisztazni, hogy mit akart a kedves
kollega, aki igy beallitotta ..

Lamer kerdes: nincs vmi specifikus transport map bejegyzes ami ezt okozza?
Pl csak egyetlen cimre (nem domain alapjan), konnyu rola megfeletkezni,
aztan nem erti az ember, miert adott helyre megy a mail, foleg ha az vmi
db-bol kerdez (pl sql/mysql) es nem feltetlen atlathato azonnal, hogy mi az
eredmeny.
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf.linux.rulez.org/mailman/listinfo/linux


Re: Postfix DNS lookup debug

2014-01-06 bef zés Salamon Attila
2014. január 6. dátummal Gábor Lénárt ezt írta:
 Re,
 
 On Tue, Dec 10, 2013 at 11:59:29AM +0100, Salamon Attila wrote:
  A helyzet az, hogy 99%-ban a domain MX rekordjában szereplő
  hostnak küldi a levelet (helyesen), a maradék kevés esetben
  viszont az A rekordban szereplő hostnak, ami visszautasítja
  Relay acces denied üzenettel. Az A rekordban szereplő ip címen
  egyébként működik mail szerver, csak nem ezt a domain-t
  szolgálja ki (ISP).
 
 Nem lehet, hogy a DNS csuklik neha, es nem szolgalja ki az MX
 rekordot pl NXDOMAIN-t adva az MX lookup-ra, ezert postfix -
 jogosan - azt gondolja akkor, hogy nincs MX rekordja, igy RFC
 szerint helyesen megprobalja A rekord alapjan?

Persze ez is lehet, de eddig máshol (más domain névvel) még nem jött 
elő.



  Parancssorból eddig mindig jó volt a névfeloldás az adott
  domain-hez.
 
 Igazabol azt a pillanatot kene elcsipni, amikor postfix szerinted
 teved es akkor tesztelni kezzel is a nevfeloldast. Esetleg pl
 masodpercenkent csinalj egy MX lookup-ot es az eredmenyt tedd egy
 file-ba az idoponttal egyutt, aztan vissza lehet keresni.

Igen, valóban azt a pillanatot kellene elkapni, de azt nem egyszerű. 
Pláne, hogy időnként csak 10 nap múlva hibázik ismét.
Kb. 1 percen belüli kézzel lekérdezés már sikerült, az jó eredményt 
hozott.
Ez alapján a percenkénti lookup sem feltétlenül hoz eredményt, ha csak 
pár mp-ig tart a hiba.
De abban igazad van, hogy legalább az esetleges időnkénti csuklást 
könnyebb felderíteni így.



 Btw, az nem lehetseges, hogy pl az /etc/resolv.conf-odban tobb
 nameserver is van megadva, es abbol csak mondjuk az elso adja
 vissza jol az MX rekordot? Igy ha az eppen pl nem elerheto, es a
 masodiknal probalna, ott nincs szerencseje. Probald meg az
 /etc/resolv.conf alapjan az osszes ott megadott nameservertol
 megkerdezni az MX es az A rekordot is, aztan hasonlitsd ossze.

Valóban több NS van megadva a resolv.conf-ban, de a többi mind belső 
NS. Igaz, hogy ezek között van olyan, ami feloldja a kérdéses domain-
t, de az privát címtartományt ad vissza, a hiba esetén pedig publikus 
az ip cím.



 Esetleg hasonlo fura dolog lehet, ha a kerdeses nameservernek
 forwarder van beallitva, es ott tortenik vmi csuklas neha, vagy
 hasonlo. Ilyenekkel akkor kuzdottem utoljara, amikor remek
 split-horizont DNS volt, es nem teljesen ugyanaz volt a
 velemenyuk az egyes rekordokrol, es mindenfele load balancer,
 forwarder, stb miatt total megjosolhatatlan lett, hogy eppen
 ki/mit mondott, eleg fejfajas volt azt letisztazni, hogy mit akart
 a kedves kollega, aki igy beallitotta ..

Ez egy szimpla dns cache, kimondottan a Postfix használja, a cache 
pedig a root ns-eket.



 Lamer kerdes: nincs vmi specifikus transport map bejegyzes ami ezt
 okozza? Pl csak egyetlen cimre (nem domain alapjan), konnyu rola
 megfeletkezni, aztan nem erti az ember, miert adott helyre megy a
 mail, foleg ha az vmi db-bol kerdez (pl sql/mysql) es nem
 feltetlen atlathato azonnal, hogy mi az eredmeny.

Nincs semmi extra, nincs sql backend.
main.cf: 
transport_maps = hash:/etc/postfix/transport

A transport-ban nincs erre vonatkozó bejegyzés, transport.db az utolsó 
módosítás után generálva.

--
Sala
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf.linux.rulez.org/mailman/listinfo/linux


Re: Postfix DNS lookup debug

2014-01-06 bef zés Szládovics Péter

2014-01-06 17:16 keltezéssel, Salamon Attila írta:

2014. január 6. dátummal Szládovics Péter ezt írta:

Konkrétabban az érdekelne, hogy mi alapján jut a Postfix arra a
meggyőződésre, hogy neki a domain.com hosthoz kell kapcsolódnia,
az alábbi logrészlet alapján:

send attr mta_type = dns
send attr mta_mname = domain.com


Ebből én azt szűröm le, hogy dns lekérdezést csinált. De mit
kérdezett le? MX vagy A rekordot?
Tudja valaki, hogyan lehet ezt debugolni?

Mindkettőt?
Előbb az MX-et, de mivel abban hostname van, így annak az A
rekordját is lekérdezte.

Bocs, az idézett levélből kimaradt az erre vonatkozó lényeg, miszerint
néha nem az MX rekordban szereplő hostnak küldi a levelet, hanem az A
rekordban szereplőnek (van egy domain.com A rekord is)...


Olyan előfordul-e, hogy az MX-(ek)ben lévő host(ok) és az @ A rekord IP 
címe nem azonos, és mégis az @ A rekorddal kommunikál?
Ha igen, akkor érdemes megnézni, hogy van-e transport map, és abban mi 
van. Lehet, hogy egyes domainekhez a transport map-be van bevarrva a 
hostnév, és azért megy arra.



Doksit olvastál annak érdekében, hogy megtudd, melyik loglevel lesz
a barátod?

Igyekeztem, de valahogy nem találtam a megfelelőt. Az megvan, hogy a
debug_peer_level = 2 a default, de hogy melyik level mit jelent, az
nincs. Segítenél melyik az idevágó doksi?


Nem tudom, de a postfix.org-on keresném.


Valahogy az alábbiak egyike sem, pedig elsősorban ez lett volna a
kézenfekvő:

http://www.postfix.org/DEBUG_README.html
http://www.postfix.org/postconf.5.html
http://www.postfix.org/master.5.html


Ennél jobbat pedig én sem tudok :(
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf.linux.rulez.org/mailman/listinfo/linux


Re: Postfix DNS lookup debug

2014-01-06 bef zés Szládovics Péter

2014-01-06 17:16 keltezéssel, Salamon Attila írta:

Nincs semmi extra, nincs sql backend.
main.cf:
transport_maps = hash:/etc/postfix/transport

A transport-ban nincs erre vonatkozó bejegyzés, transport.db az utolsó
módosítás után generálva.


Akkor megnézhetnéd, hogy az adott domainhoz tartozó névszerverek 
konzisztensek-e. Lehet, hogy ott van a bug.

_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf.linux.rulez.org/mailman/listinfo/linux


Re: Postfix DNS lookup debug

2014-01-06 bef zés Salamon Attila
2014. január 6. dátummal Szládovics Péter ezt írta:
  Konkrétabban az érdekelne, hogy mi alapján jut a Postfix arra a
  meggyőződésre, hogy neki a domain.com hosthoz kell kapcsolódnia,
  az alábbi logrészlet alapján:
  
  send attr mta_type = dns
  send attr mta_mname = domain.com
  
  
  Ebből én azt szűröm le, hogy dns lekérdezést csinált. De mit
  kérdezett le? MX vagy A rekordot?
  Tudja valaki, hogyan lehet ezt debugolni?
 
 Mindkettőt?
 Előbb az MX-et, de mivel abban hostname van, így annak az A
 rekordját is lekérdezte.

Bocs, az idézett levélből kimaradt az erre vonatkozó lényeg, miszerint 
néha nem az MX rekordban szereplő hostnak küldi a levelet, hanem az A 
rekordban szereplőnek (van egy domain.com A rekord is)...


 Doksit olvastál annak érdekében, hogy megtudd, melyik loglevel lesz
 a barátod?

Igyekeztem, de valahogy nem találtam a megfelelőt. Az megvan, hogy a 
debug_peer_level = 2 a default, de hogy melyik level mit jelent, az 
nincs. Segítenél melyik az idevágó doksi?

Valahogy az alábbiak egyike sem, pedig elsősorban ez lett volna a 
kézenfekvő:

http://www.postfix.org/DEBUG_README.html
http://www.postfix.org/postconf.5.html
http://www.postfix.org/master.5.html


--
Sala
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf.linux.rulez.org/mailman/listinfo/linux