Sendmail na IPv4 stroji a connect na IPv6

Petr Pisar petr.pisar na atlas.cz
Středa Listopad 3 18:59:04 CET 2010


On 2010-11-03, Dalibor Toman <dtoman na fortech.cz> wrote:
> On Wednesday, November 03, 2010 9:29 AM ,
> Pavel Kankovsky <peak na argo.troja.mff.cuni.cz> wrote:
>
>> On Wed, 3 Nov 2010, Dalibor Toman wrote:
>>
>>> pokud se podivam na queue runnery stracem vidim, ze zbytecne casto
>>> visi v
>>>
>>> connect(8, {sa_family=AF_INET6, sin6_port=htons(25),
>>> inet_pton(AF_INET6, "::ffff:216.185.75.105", &sin6_addr),
>>> sin6_flowinfo=0, sin6_scope_id=0},
>>>
>>> cili pokousi se marne spojit pomoci IPv4 kompatibilni IPv6 adresy.
>>
>> A zkusil jste zkontrolovat, zda se tam lze spojit po "čistém IPv4"?
>> Já bych řekl že nikoli.
>>
>> Ono to sice na první pohled vypadá jako pokus o spojení po IPv6, ale
>> ve skutečnosti je to pokus o spojení na IPv4 provedený pomocí 
>> socketu
>> pro IPv6. Snadno si lze na síti poslechnout, že to ven posílá IPv4.
>
> samozrejme (asi jsem puvodni dotaz neformuloval nejstestneji) - 
> problem je ale v tom, ze podle strace se sendmail nejprve pokusi 
> spachat  connect pomoci AF_INET6 ten se nepovede a pak jeste opakuje 
> spojeni pomoci AF_INET. Cili 2x se timeouti...
>
> connect(10, {sa_family=AF_INET6, sin6_port=htons(25), 
> inet_pton(AF_INET6, "::ffff:144.72.123.19", &sin6_addr), 
> sin6_flowinfo=0, sin6_scope_id=0}, 28) = ? ERESTARTSYS (To be 
> restarted)
> ...
> ...
> connect(10, {sa_family=AF_INET, sin_port=htons(25), 
> sin_addr=inet_addr("144.72.123.19")}, 16 <unfinished ...>
>
Ale oba pokusy jdou pres IPv4. Pokud vam vadi, ze teze domenove jmeno leze
z resolveru pod dvema adresami, tak si musite opravit nastaveni resolveru.

Asi vas bude zajimat /etc/gai.conf ohledne razeni odpovedi a /etc/host.conf,
kde bylo mozne zapnout/vypnout kompatibilni adresy. Soucasny
host.conf(5) ale tuto moznost zamlcuje. Mozna ze ji odstranili.

-- Petr




Další informace o konferenci Linux