odpoved na paket z jine ip adresy nezli cilove

Tomáš Janoušek pytt_l na nomi.cz
Pondělí Květen 16 08:13:55 CEST 2011


Dobré ráno,

On Mon, May 16, 2011 at 12:43:42AM +0200, Dalibor Straka wrote:
> Zkousel jsem i strace, ale nic zajimaveho v nem nevidim:
> [...]
> [pid  1560] recvfrom(5, "t\232\1\0\0\1\0\0\0\0\0\0\10testinet\2cz\0\0\17\0\1", 512, 0, {sa_family=AF_INET, sin_port=htons(44263), sin_addr=inet_addr("84.42.128.175")}, [16]) = 29
> [pid  1560] sendto(5, "t\232\205\0\0\1\0\1\0\0\0\2\10testinet\2cz\0\0\17\0\1\300\f\0"..., 82, 0, {sa_family=AF_INET, sin_port=htons(44263), sin_addr=inet_addr("84.42.128.175")}, 16) = 82

Zajímavé na tom stracu je, že ten program evidentně vůbec neřeší, z jaké
adresy ty pakety odesílá, naivně očekávajíc, že příchozí adresa je právě
jedna. Dokumentace k powerdns taky naznačuje, že toto může být problém:

local-address=...

    Local IP address to which we bind. You can specify multiple addresses
    separated by commas or whitespace. It is highly advised to bind to
    specific interfaces and not use the default 'bind to any'. This causes big
    problems if you have multiple IP addresses. Unix does not provide a way of
    figuring out what IP address a packet was sent to when binding to any.

S pozdravem,
-- 
Tomáš Janoušek, a.k.a. Liskni_si, http://work.lisk.in/


Další informace o konferenci Linux